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 | CHW 3 - 2 MIN | CHW | 0.540 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | CHW 3 - 0 MIN | 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 | 9.7000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5399 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 5.099 | 4.531 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 5 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 3 | 2 | 0.5399 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 3 | 2 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 3 | 2 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 3 | 0 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.45604054878048783,
"base_low_score_probability": 0.42784552845528456,
"low_score_signal_threshold": 0.5078455284552845,
"low_score_signal_strength": 0.02819502032520327,
"confidence": 0.63295,
"factors": {
"environmental": 0.969,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.0659
},
"prediction": "normal_scoring",
"expected_total_runs": 5,
"pre_simulation_expected_total_runs": 9.7,
"low_score_model_expected_total_runs": 9.7,
"final_simulation_total_runs": 3,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 71,
"near_bucket_sample_size": 71,
"medium_bucket_sample_size": 74,
"wide_bucket_sample_size": 74,
"global_sample_size": 74,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5493,
"bayesian_hit_rate": 0.5393,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.7978,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5519,
"calibrated_pick_probability": 0.5399,
"predicted_side": "away"
}{
"applied": true,
"home": {
"team": "MIN",
"games": 60,
"wins": 27,
"losses": 33,
"win_pct": 0.45,
"runs_scored": 275,
"runs_allowed": 296,
"run_differential": -21,
"run_differential_per_game": -0.35,
"available": true
},
"away": {
"team": "CHW",
"games": 59,
"wins": 32,
"losses": 27,
"win_pct": 0.5423728813559322,
"runs_scored": 275,
"runs_allowed": 267,
"run_differential": 8,
"run_differential_per_game": 0.13559322033898305,
"available": true
},
"run_differential_edge_per_game": -0.4856,
"win_pct_edge": -0.0924,
"quality_edge": -0.6242,
"margin_adjustment": -0.2621,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 2.434,
"home_runs": 1.823,
"home_win_probability": 0.4481
}
}{
"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": 3,
"home_runs": 2,
"score_text": "CHW 3 - 2 MIN",
"winner": "CHW"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 0,
"score_text": "CHW 3 - 0 MIN",
"winner": "CHW"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": -2,
"total_run_delta": -2,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "MIN",
"games": 60,
"wins": 27,
"losses": 33,
"win_pct": 0.45,
"runs_scored": 275,
"runs_allowed": 296,
"run_differential": -21,
"run_differential_per_game": -0.35,
"available": true
},
"away": {
"team": "CHW",
"games": 59,
"wins": 32,
"losses": 27,
"win_pct": 0.5423728813559322,
"runs_scored": 275,
"runs_allowed": 267,
"run_differential": 8,
"run_differential_per_game": 0.13559322033898305,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.6104,
"final_margin": -0.6104,
"margin_cap": 1.5,
"season_quality_edge": 0.6242,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.539913,
"final_confidence": 0.539913,
"confidence_cap": 0.66,
"score_gap": 0.6104,
"calibration_sample_size": 71,
"calibration_empirical_hit_rate": 0.5493,
"calibration_bayesian_hit_rate": 0.5393,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.6242,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is close",
"local calibration sample has at least 30 games",
"local calibration sample has at least 60 games",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "CHW 3 - 2 MIN",
"winner": "CHW"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 0,
"score_text": "CHW 3 - 0 MIN",
"winner": "CHW"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": -2,
"total_run_delta": -2,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 3,
"home_runs": 2,
"confidence": 0.539913,
"home_win_probability": 0.460087,
"away_win_probability": 0.539913,
"predicted_score_text": "CHW 3 - 2 MIN",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "CHW",
"original_runs": 3,
"run_delta": -0.1945,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 55.0,
"quality": 0.11708212613289033,
"contact": -0.062133233430882895,
"power": -0.0400102103581519,
"discipline": 0.006027506968460586,
"xwoba": 0.3208363636363637,
"recent_xwoba": 0.3208363636363637,
"barrel": 8.341818181818182,
"ab_hard_contact": -0.23126221582106285,
"ab_bat_speed": 67.76226681063812,
"ab_strikeout_rate": 0.23355936827750554,
"available_players": 8,
"top_players": [
{
"player_id": "678246",
"player_name": "Miguel Vargas",
"position": "3B",
"weight": 8.0,
"quality": 1.1022121488377443,
"contact": 1.001413997584388,
"power": 1.342469094748719,
"discipline": 1.1045117845117847,
"xwoba": 0.389,
"recent_xwoba": 0.389,
"barrel": 14.8,
"ab_hard_contact": 0.5360485616410345,
"ab_bat_speed": 72.40690402704291,
"ab_strikeout_rate": 0.18518518518518517,
"available": 1.0
},
{
"player_id": "700337",
"player_name": "Edgar Quero",
"position": "C",
"weight": 6.0,
"quality": -0.5062500199501717,
"contact": -1.051536657255325,
"power": -1.1761575197231517,
"discipline": -0.17652011713776428,
"xwoba": 0.256,
"recent_xwoba": 0.256,
"barrel": 1.2,
"ab_hard_contact": -0.8500075373202024,
"ab_bat_speed": 66.6949387254902,
"ab_strikeout_rate": 0.2784313725490196,
"available": 1.0
},
{
"player_id": "694378",
"player_name": "Jacob Gonzalez",
"position": "1B",
"weight": 3.0,
"quality": -0.001759576347723595,
"contact": -1.7999999999999998,
"power": -2.0,
"discipline": 0.1374999999999999,
"xwoba": 0.314,
"recent_xwoba": 0.314,
"barrel": 7.8,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.27612500000001,
"ab_strikeout_rate": 0.22291666666666665,
"available": 0.0
},
{
"player_id": "671976",
"player_name": "Tristan Peters",
"position": "CF",
"weight": 5.0,
"quality": -0.39656266166693044,
"contact": -0.5465336811523852,
"power": -0.7873376867368364,
"discipline": -0.09774549062049064,
"xwoba": 0.294,
"recent_xwoba": 0.294,
"barrel": 4.5,
"ab_hard_contact": -0.7524680204510101,
"ab_bat_speed": 63.24040798611111,
"ab_strikeout_rate": 0.22951388888888888,
"available": 1.0
},
{
"player_id": "695657",
"player_name": "Colson Montgomery",
"position": "SS",
"weight": 8.0,
"quality": 0.2083352426630613,
"contact": -0.08526975329744556,
"power": 0.9280896588237915,
"discipline": -0.6819229597562932,
"xwoba": 0.331,
"recent_xwoba": 0.331,
"barrel": 14.3,
"ab_hard_contact": 0.20541222409485319,
"ab_bat_speed": 74.60428497942387,
"ab_strikeout_rate": 0.2996913580246914,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "657746",
"player_name": "Joe Ryan",
"quality": 0.2984548077881137,
"contact": 0.4403792196046274,
"command": 0.5088826138930749,
"movement": 0.02793313015100862,
"xwoba": 0.269,
"whiff": 25.9,
"faced_est_woba": 0.2886548394643922,
"faced_launch_speed": 84.226024313056,
"faced_strikeout_rate": 0.2780344636294293,
"faced_run_exp": 0.00453531592672942
}
},
"home": {
"team": "MIN",
"original_runs": 2,
"run_delta": -0.374,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 62.0,
"quality": -0.11164966813448667,
"contact": -0.20751498824123618,
"power": -0.058235364543759154,
"discipline": -0.002568158289333322,
"xwoba": 0.3092903225806452,
"recent_xwoba": 0.3092903225806452,
"barrel": 8.469354838709675,
"ab_hard_contact": -0.08607441837135944,
"ab_bat_speed": 69.41443147393683,
"ab_strikeout_rate": 0.21858425241026608,
"available_players": 9,
"top_players": [
{
"player_id": "807712",
"player_name": "Luke Keaschall",
"position": "2B",
"weight": 7.0,
"quality": -0.6853060163967002,
"contact": -0.8037244439500029,
"power": -1.1202344173107224,
"discipline": 0.5179112554112553,
"xwoba": 0.28,
"recent_xwoba": 0.28,
"barrel": 3.1,
"ab_hard_contact": -0.5734502509763729,
"ab_bat_speed": 66.92657222222222,
"ab_strikeout_rate": 0.158,
"available": 1.0
},
{
"player_id": "686797",
"player_name": "Brooks Lee",
"position": "3B",
"weight": 8.0,
"quality": -0.7184734576540532,
"contact": -0.8550581563126403,
"power": -0.8513306938484205,
"discipline": -0.02110156510156537,
"xwoba": 0.269,
"recent_xwoba": 0.269,
"barrel": 4.4,
"ab_hard_contact": -0.4715662579208167,
"ab_bat_speed": 68.15155555555556,
"ab_strikeout_rate": 0.1830128205128205,
"available": 1.0
},
{
"player_id": "621439",
"player_name": "Byron Buxton",
"position": "DH",
"weight": 9.0,
"quality": 0.4541932713832585,
"contact": 0.13195337378049302,
"power": 1.4216208653007258,
"discipline": -0.6090127567467993,
"xwoba": 0.331,
"recent_xwoba": 0.331,
"barrel": 18.9,
"ab_hard_contact": 0.4067030203002234,
"ab_bat_speed": 72.5943463356974,
"ab_strikeout_rate": 0.26063829787234044,
"available": 1.0
},
{
"player_id": "665019",
"player_name": "Kody Clemens",
"position": "CF",
"weight": 7.0,
"quality": 0.3823820763001747,
"contact": 0.3910282043334963,
"power": 0.971068719023448,
"discipline": -0.2723628309674822,
"xwoba": 0.331,
"recent_xwoba": 0.331,
"barrel": 14.3,
"ab_hard_contact": 0.8038505709451358,
"ab_bat_speed": 68.88689750290361,
"ab_strikeout_rate": 0.2534883720930233,
"available": 1.0
},
{
"player_id": "668885",
"player_name": "Austin Martin",
"position": "RF",
"weight": 7.0,
"quality": -0.1570648849599818,
"contact": 0.019914766764282603,
"power": -0.757991410417664,
"discipline": 0.9091450216450215,
"xwoba": 0.328,
"recent_xwoba": 0.328,
"barrel": 3.1,
"ab_hard_contact": -0.40059011311520243,
"ab_bat_speed": 65.9339172979798,
"ab_strikeout_rate": 0.1659090909090909,
"available": 1.0
}
]
},
"opposing_starter": {
"available": false,
"player_id": "689818",
"player_name": "David Sandlin",
"quality": 0.0,
"contact": 0.0,
"command": 0.0,
"movement": 0.0,
"xwoba": 0.0,
"whiff": 0.0,
"faced_est_woba": 0.0,
"faced_launch_speed": 0.0,
"faced_strikeout_rate": 0.0,
"faced_run_exp": 0.0
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 3,
"home_runs": 2,
"predicted_score_text": "CHW 3 - 2 MIN",
"confidence": 0.539913,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "CHW 3 - 2 MIN",
"winner": "CHW"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 0,
"score_text": "CHW 3 - 0 MIN",
"winner": "CHW"
},
"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 CHW | True | 1.0143 | 1.0143 | 1 | 9 | 0 |
| Home MIN | True | 1.0002 | 1.0002 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3B | Miguel Vargas | 31 | 1.1146 | 1.5280 | neutral | 0.3890 | 0.2510 | 0.5190 | 14.80 | 45.70 | 90.10 | 20.90 | 20 | 17.30 | 15.30 | 0.4571 |
| LF | Sam Antonacci | 133 | 1.0482 | 0.6433 | neutral | 0.3720 | 0.3090 | 0.4300 | 7.20 | 35.70 | 87.60 | 11.40 | 16.90 | 15.80 | 6.30 | 0.8000 |
| SS | Colson Montgomery | 43 | 1.0394 | 0.5251 | neutral | 0.3310 | 0.2200 | 0.4510 | 14.30 | 44.30 | 90.20 | 20 | 37.60 | 29.20 | 9.20 | -0.6571 |
| DH | Andrew Benintendi | 513 | 1.0235 | 0.3127 | neutral | 0.3110 | 0.2460 | 0.4220 | 10.30 | 47.50 | 88.80 | 18.80 | 29.90 | 28.20 | 6.60 | 0.4857 |
| 2B | Chase Meidroth | 70 | 0.9847 | -0.2038 | neutral | 0.3020 | 0.2410 | 0.3500 | 6.30 | 37.70 | 87.90 | 8.30 | 18.20 | 21.80 | 10 | -0.7429 |
| 1B | Jacob Gonzalez | 326 | 1.0065 | 0.0860 | neutral | 0.3140 | 0.2460 | 0.3910 | 7.80 | 40.30 | 89.20 | 14 | 25 | 21.70 | 8.90 | 0 |
| CF | Tristan Peters | 66 | 0.9746 | -0.3385 | negative_batter_regression | 0.2940 | 0.2420 | 0.3440 | 4.50 | 25 | 87.10 | 15.90 | 23.90 | 19.70 | 7.60 | -1.1143 |
| RF | Rikuu Nishida | 299 | 0.9781 | -0.2919 | positive_batter_regression | 0.2470 | 0.2590 | 0.3050 | 0 | 7.10 | 88.30 | 3.30 | 8 | 12.50 | 0 | 1.9429 |
| C | Edgar Quero | 443 | 0.9591 | -0.5455 | neutral | 0.2560 | 0.1960 | 0.2630 | 1.20 | 31.40 | 90.20 | 8.60 | 26.20 | 24.60 | 9 | 0.1429 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Byron Buxton | 35 | 1.0441 | 0.5884 | negative_batter_regression | 0.3310 | 0.2290 | 0.4800 | 18.90 | 47.30 | 90.10 | 23.40 | 32 | 26.60 | 7.40 | -1.4000 |
| CF | Kody Clemens | 163 | 1.0363 | 0.4843 | neutral | 0.3310 | 0.2410 | 0.4380 | 14.30 | 43.30 | 92.30 | 16.40 | 24.80 | 22.90 | 7.30 | -0.1714 |
| 1B | Josh Bell | 491 | 1.0036 | 0.0482 | neutral | 0.2920 | 0.2230 | 0.3850 | 9.60 | 41 | 89.60 | 14.30 | 27.10 | 23 | 7.50 | 0.5143 |
| 3B | Brooks Lee | 152 | 0.9405 | -0.7936 | negative_batter_regression | 0.2690 | 0.2190 | 0.3250 | 4.40 | 28.30 | 86.70 | 11.20 | 20.80 | 17.80 | 6.60 | -1.2857 |
| 2B | Luke Keaschall | 209 | 0.9519 | -0.6418 | neutral | 0.2800 | 0.2220 | 0.3200 | 3.10 | 26.80 | 84.20 | 17.30 | 14.90 | 15.40 | 8.60 | -0.3429 |
| C | Victor Caratini | 447 | 1.0251 | 0.3342 | positive_batter_regression | 0.3290 | 0.2440 | 0.3670 | 4.70 | 37.40 | 89 | 12.20 | 21.90 | 20.40 | 9.30 | 2 |
| LF | Trevor Larnach | 162 | 0.9937 | -0.0845 | neutral | 0.3190 | 0.2360 | 0.3560 | 6.40 | 31.20 | 86.50 | 11.60 | 25.90 | 19.80 | 13.80 | -0.7714 |
| RF | Austin Martin | 138 | 0.9990 | -0.0129 | neutral | 0.3280 | 0.2560 | 0.3530 | 3.10 | 31.30 | 86.50 | 12.30 | 19 | 15.80 | 13 | -0.3429 |
| SS | Tristan Gray | 339 | 1.0080 | 0.1065 | neutral | 0.3080 | 0.2460 | 0.3860 | 8.50 | 43.30 | 89.90 | 13 | 37.30 | 32.70 | 6.90 | 0.2000 |
{
"home": {
"applied": true,
"offense_factor": 1.0002,
"raw_average_factor": 1.0002,
"team_espn_average_rank": 237.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "621439",
"player_name": "Byron Buxton",
"offense_factor": 1.0441,
"quality_score": 0.5884,
"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": 35,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 35,
"gp_value": 50.0,
"gp_rank": 169,
"ab_value": 208.0,
"ab_rank": 65,
"r_value": 40.0,
"r_rank": 12,
"h_value": 54.0,
"h_rank": 64,
"avg_value": 0.2596153,
"avg_rank": 71.0,
"2b_value": 10.0,
"2b_rank": 72,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 17.0,
"hr_rank": 4,
"rbi_value": 27.0,
"rbi_rank": 80,
"tb_value": 117.0,
"tb_rank": 246,
"bb_value": 17.0,
"bb_rank": 140,
"so_value": 61.0,
"so_rank": 30,
"sb_value": 4.0,
"sb_rank": 95,
"obp_value": 0.3231441,
"obp_rank": "97",
"slg_value": 0.5625,
"slg_rank": "5",
"ops_value": 0.8856441,
"ops_rank": 20.0,
"war_value": 1.94,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 215.0,
"k_percent": 26.6,
"bb_percent": 7.4,
"woba": 0.38,
"xwoba": 0.331,
"xba": 0.229,
"xslg": 0.48,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 18.9,
"hard_hit_percent": 47.3,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 23.4,
"whiff_percent": 32.0,
"swing_percent": 52.9
},
"components": {
"expected_quality": 0.928,
"regression_edge": -1.4,
"xwoba_edge": 0.7429,
"xba_edge": -0.2857,
"xslg_edge": 1.5143,
"barrel_edge": 2.5,
"hard_hit_edge": 1.1857,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": -0.15,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "CF",
"player_id": "665019",
"player_name": "Kody Clemens",
"offense_factor": 1.0363,
"quality_score": 0.4843,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665019",
"espn_id": 41311,
"player_name": "Kody Clemens",
"team": "MIN",
"role": "batter",
"espn_rank": 163,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 163,
"gp_value": 48.0,
"gp_rank": 184,
"ab_value": 163.0,
"ab_rank": 161,
"r_value": 20.0,
"r_rank": 167,
"h_value": 38.0,
"h_rank": 169,
"avg_value": 0.2331288,
"avg_rank": 117.0,
"2b_value": 11.0,
"2b_rank": 51,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 6.0,
"hr_rank": 107,
"rbi_value": 18.0,
"rbi_rank": 182,
"tb_value": 71.0,
"tb_rank": 561,
"bb_value": 13.0,
"bb_rank": 193,
"so_value": 43.0,
"so_rank": 122,
"sb_value": 5.0,
"sb_rank": 73,
"obp_value": 0.3093922,
"obp_rank": "122",
"slg_value": 0.4355828,
"slg_rank": "65",
"ops_value": 0.744975,
"ops_rank": 83.0,
"war_value": 0.62,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 163.0,
"k_percent": 22.9,
"bb_percent": 7.3,
"woba": 0.337,
"xwoba": 0.331,
"xba": 0.241,
"xslg": 0.438,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 14.3,
"hard_hit_percent": 43.3,
"exit_velocity_avg": 92.3,
"launch_angle_avg": 16.4,
"whiff_percent": 24.8,
"swing_percent": 48.4
},
"components": {
"expected_quality": 0.788,
"regression_edge": -0.1714,
"xwoba_edge": 0.7429,
"xba_edge": 0.0571,
"xslg_edge": 0.9143,
"barrel_edge": 1.6444,
"hard_hit_edge": 0.6143,
"exit_velocity_edge": 1.4,
"sweet_spot_edge": 0.4167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "605137",
"player_name": "Josh Bell",
"offense_factor": 1.0036,
"quality_score": 0.0482,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605137",
"espn_id": 32517,
"player_name": "Josh Bell",
"team": "MIN",
"role": "batter",
"espn_rank": 491,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 491,
"gp_value": 57.0,
"gp_rank": 55,
"ab_value": 209.0,
"ab_rank": 63,
"r_value": 27.0,
"r_rank": 84,
"h_value": 46.0,
"h_rank": 115,
"avg_value": 0.2200956,
"avg_rank": 136.0,
"2b_value": 10.0,
"2b_rank": 72,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 5.0,
"hr_rank": 133,
"rbi_value": 32.0,
"rbi_rank": 43,
"tb_value": 71.0,
"tb_rank": 902,
"bb_value": 17.0,
"bb_rank": 140,
"so_value": 53.0,
"so_rank": 62,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.2794759,
"obp_rank": "155",
"slg_value": 0.3397129,
"slg_rank": "143",
"ops_value": 0.6191888,
"ops_rank": 154.0,
"war_value": -0.47,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 213.0,
"k_percent": 23.0,
"bb_percent": 7.5,
"woba": 0.274,
"xwoba": 0.292,
"xba": 0.223,
"xslg": 0.385,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 41.0,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 14.3,
"whiff_percent": 27.1,
"swing_percent": 50.4
},
"components": {
"expected_quality": -0.0259,
"regression_edge": 0.5143,
"xwoba_edge": -0.3714,
"xba_edge": -0.4571,
"xslg_edge": 0.1571,
"barrel_edge": 0.6,
"hard_hit_edge": 0.2857,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "686797",
"player_name": "Brooks Lee",
"offense_factor": 0.9405,
"quality_score": -0.7936,
"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": 152,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 152,
"gp_value": 56.0,
"gp_rank": 72,
"ab_value": 200.0,
"ab_rank": 92,
"r_value": 25.0,
"r_rank": 108,
"h_value": 51.0,
"h_rank": 81,
"avg_value": 0.255,
"avg_rank": 79.0,
"2b_value": 9.0,
"2b_rank": 97,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 8.0,
"hr_rank": 61,
"rbi_value": 34.0,
"rbi_rank": 30,
"tb_value": 86.0,
"tb_rank": 459,
"bb_value": 14.0,
"bb_rank": 178,
"so_value": 40.0,
"so_rank": 140,
"sb_value": 3.0,
"sb_rank": 126,
"obp_value": 0.3101851,
"obp_rank": "120",
"slg_value": 0.43,
"slg_rank": "74",
"ops_value": 0.7401851,
"ops_rank": 86.0,
"war_value": 0.66,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 207.0,
"k_percent": 17.8,
"bb_percent": 6.6,
"woba": 0.314,
"xwoba": 0.269,
"xba": 0.219,
"xslg": 0.325,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 28.3,
"exit_velocity_avg": 86.7,
"launch_angle_avg": 11.2,
"whiff_percent": 20.8,
"swing_percent": 51.3
},
"components": {
"expected_quality": -0.7714,
"regression_edge": -1.2857,
"xwoba_edge": -1.0286,
"xba_edge": -0.5714,
"xslg_edge": -0.7,
"barrel_edge": -0.5556,
"hard_hit_edge": -1.5286,
"exit_velocity_edge": -0.84,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "807712",
"player_name": "Luke Keaschall",
"offense_factor": 0.9519,
"quality_score": -0.6418,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "807712",
"espn_id": 4977664,
"player_name": "Luke Keaschall",
"team": "MIN",
"role": "batter",
"espn_rank": 209,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 209,
"gp_value": 55.0,
"gp_rank": 100,
"ab_value": 199.0,
"ab_rank": 97,
"r_value": 25.0,
"r_rank": 108,
"h_value": 49.0,
"h_rank": 96,
"avg_value": 0.2462311,
"avg_rank": 94.0,
"2b_value": 10.0,
"2b_rank": 72,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 1.0,
"hr_rank": 317,
"rbi_value": 18.0,
"rbi_rank": 182,
"tb_value": 64.0,
"tb_rank": 1217,
"bb_value": 19.0,
"bb_rank": 115,
"so_value": 35.0,
"so_rank": 174,
"sb_value": 10.0,
"sb_rank": 18,
"obp_value": 0.3214285,
"obp_rank": "100",
"slg_value": 0.321608,
"slg_rank": "155",
"ops_value": 0.6430365,
"ops_rank": 141.0,
"war_value": 0.36,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 205.0,
"k_percent": 15.4,
"bb_percent": 8.6,
"woba": 0.292,
"xwoba": 0.28,
"xba": 0.222,
"xslg": 0.32,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 3.1,
"hard_hit_percent": 26.8,
"exit_velocity_avg": 84.2,
"launch_angle_avg": 17.3,
"whiff_percent": 14.9,
"swing_percent": 41.6
},
"components": {
"expected_quality": -0.745,
"regression_edge": -0.3429,
"xwoba_edge": -0.7143,
"xba_edge": -0.4857,
"xslg_edge": -0.7714,
"barrel_edge": -0.8444,
"hard_hit_edge": -1.7429,
"exit_velocity_edge": -1.84,
"sweet_spot_edge": 0.1333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "605170",
"player_name": "Victor Caratini",
"offense_factor": 1.0251,
"quality_score": 0.3342,
"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": 447,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 447,
"gp_value": 43.0,
"gp_rank": 221,
"ab_value": 133.0,
"ab_rank": 215,
"r_value": 8.0,
"r_rank": 335,
"h_value": 25.0,
"h_rank": 249,
"avg_value": 0.1879699,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 353,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 2.0,
"hr_rank": 255,
"rbi_value": 19.0,
"rbi_rank": 167,
"tb_value": 33.0,
"tb_rank": 1683,
"bb_value": 15.0,
"bb_rank": 162,
"so_value": 33.0,
"so_rank": 190,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.2901234,
"obp_rank": "-",
"slg_value": 0.2481203,
"slg_rank": "-",
"ops_value": 0.5382437,
"ops_rank": null,
"war_value": -0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 148.0,
"k_percent": 20.4,
"bb_percent": 9.3,
"woba": 0.254,
"xwoba": 0.329,
"xba": 0.244,
"xslg": 0.367,
"sweet_spot_percent": 41.1,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 37.4,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 12.2,
"whiff_percent": 21.9,
"swing_percent": 43.1
},
"components": {
"expected_quality": 0.2521,
"regression_edge": 2.0,
"xwoba_edge": 0.6857,
"xba_edge": 0.1429,
"xslg_edge": -0.1,
"barrel_edge": -0.4889,
"hard_hit_edge": -0.2286,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": 1.3,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "663616",
"player_name": "Trevor Larnach",
"offense_factor": 0.9937,
"quality_score": -0.0845,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663616",
"espn_id": 41205,
"player_name": "Trevor Larnach",
"team": "MIN",
"role": "batter",
"espn_rank": 162,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 162,
"gp_value": 48.0,
"gp_rank": 184,
"ab_value": 146.0,
"ab_rank": 194,
"r_value": 25.0,
"r_rank": 108,
"h_value": 37.0,
"h_rank": 174,
"avg_value": 0.2534246,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 139,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 3.0,
"hr_rank": 201,
"rbi_value": 16.0,
"rbi_rank": 208,
"tb_value": 56.0,
"tb_rank": 1014,
"bb_value": 23.0,
"bb_rank": 67,
"so_value": 35.0,
"so_rank": 174,
"sb_value": 2.0,
"sb_rank": 160,
"obp_value": 0.362573,
"obp_rank": "-",
"slg_value": 0.3835616,
"slg_rank": "-",
"ops_value": 0.7461346,
"ops_rank": null,
"war_value": 0.62,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 152.0,
"k_percent": 19.8,
"bb_percent": 13.8,
"woba": 0.346,
"xwoba": 0.319,
"xba": 0.236,
"xslg": 0.356,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 31.2,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 11.6,
"whiff_percent": 25.9,
"swing_percent": 41.5
},
"components": {
"expected_quality": -0.0166,
"regression_edge": -0.7714,
"xwoba_edge": 0.4,
"xba_edge": -0.0857,
"xslg_edge": -0.2571,
"barrel_edge": -0.1111,
"hard_hit_edge": -1.1143,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": 0.2667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "668885",
"player_name": "Austin Martin",
"offense_factor": 0.999,
"quality_score": -0.0129,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668885",
"espn_id": 4297998,
"player_name": "Austin Martin",
"team": "MIN",
"role": "batter",
"espn_rank": 138,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 138,
"gp_value": 53.0,
"gp_rank": 134,
"ab_value": 160.0,
"ab_rank": 171,
"r_value": 20.0,
"r_rank": 167,
"h_value": 42.0,
"h_rank": 139,
"avg_value": 0.2625,
"avg_rank": 62.0,
"2b_value": 9.0,
"2b_rank": 97,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 2.0,
"hr_rank": 255,
"rbi_value": 16.0,
"rbi_rank": 208,
"tb_value": 57.0,
"tb_rank": 1317,
"bb_value": 24.0,
"bb_rank": 60,
"so_value": 30.0,
"so_rank": 214,
"sb_value": 7.0,
"sb_rank": 46,
"obp_value": 0.3670212,
"obp_rank": "34",
"slg_value": 0.35625,
"slg_rank": "131",
"ops_value": 0.7232712,
"ops_rank": 98.0,
"war_value": 0.77,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 173.0,
"k_percent": 15.8,
"bb_percent": 13.0,
"woba": 0.34,
"xwoba": 0.328,
"xba": 0.256,
"xslg": 0.353,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 3.1,
"hard_hit_percent": 31.3,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 12.3,
"whiff_percent": 19.0,
"swing_percent": 39.8
},
"components": {
"expected_quality": 0.0367,
"regression_edge": -0.3429,
"xwoba_edge": 0.6571,
"xba_edge": 0.4857,
"xslg_edge": -0.3,
"barrel_edge": -0.8444,
"hard_hit_edge": -1.1,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": 0.05,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "656484",
"player_name": "Tristan Gray",
"offense_factor": 1.008,
"quality_score": 0.1065,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656484",
"espn_id": 39918,
"player_name": "Tristan Gray",
"team": "MIN",
"role": "batter",
"espn_rank": 339,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 339,
"gp_value": 33.0,
"gp_rank": 301,
"ab_value": 94.0,
"ab_rank": 291,
"r_value": 10.0,
"r_rank": 296,
"h_value": 22.0,
"h_rank": 278,
"avg_value": 0.2340425,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 298,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 3.0,
"hr_rank": 201,
"rbi_value": 18.0,
"rbi_rank": 182,
"tb_value": 34.0,
"tb_rank": 1495,
"bb_value": 7.0,
"bb_rank": 299,
"so_value": 34.0,
"so_rank": 184,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.2912621,
"obp_rank": "-",
"slg_value": 0.3617021,
"slg_rank": "-",
"ops_value": 0.6529642,
"ops_rank": null,
"war_value": -0.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 90.0,
"k_percent": 32.7,
"bb_percent": 6.9,
"woba": 0.301,
"xwoba": 0.308,
"xba": 0.246,
"xslg": 0.386,
"sweet_spot_percent": 43.3,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 43.3,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 13.0,
"whiff_percent": 37.3,
"swing_percent": 56.0
},
"components": {
"expected_quality": 0.2425,
"regression_edge": 0.2,
"xwoba_edge": 0.0857,
"xba_edge": 0.2,
"xslg_edge": 0.1714,
"barrel_edge": 0.3556,
"hard_hit_edge": 0.6143,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": 1.6667,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0143,
"raw_average_factor": 1.0143,
"team_espn_average_rank": 213.78,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "3B",
"player_id": "678246",
"player_name": "Miguel Vargas",
"offense_factor": 1.1146,
"quality_score": 1.528,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678246",
"espn_id": 42453,
"player_name": "Miguel Vargas",
"team": "CHW",
"role": "batter",
"espn_rank": 31,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 31,
"gp_value": 58.0,
"gp_rank": 37,
"ab_value": 207.0,
"ab_rank": 72,
"r_value": 42.0,
"r_rank": 7,
"h_value": 48.0,
"h_rank": 102,
"avg_value": 0.231884,
"avg_rank": 118.0,
"2b_value": 9.0,
"2b_rank": 97,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 13.0,
"hr_rank": 16,
"rbi_value": 34.0,
"rbi_rank": 30,
"tb_value": 98.0,
"tb_rank": 345,
"bb_value": 38.0,
"bb_rank": 13,
"so_value": 44.0,
"so_rank": 113,
"sb_value": 9.0,
"sb_rank": 28,
"obp_value": 0.3611111,
"obp_rank": "38",
"slg_value": 0.4734299,
"slg_rank": "38",
"ops_value": 0.834541,
"ops_rank": 36.0,
"war_value": 2.01,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 234.0,
"k_percent": 17.3,
"bb_percent": 15.3,
"woba": 0.373,
"xwoba": 0.389,
"xba": 0.251,
"xslg": 0.519,
"sweet_spot_percent": 39.5,
"barrel_batted_rate": 14.8,
"hard_hit_percent": 45.7,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 20.9,
"whiff_percent": 20.0,
"swing_percent": 43.7
},
"components": {
"expected_quality": 1.7024,
"regression_edge": 0.4571,
"xwoba_edge": 2.4,
"xba_edge": 0.3429,
"xslg_edge": 2.0714,
"barrel_edge": 1.7556,
"hard_hit_edge": 0.9571,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": 1.0333,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "LF",
"player_id": "803011",
"player_name": "Sam Antonacci",
"offense_factor": 1.0482,
"quality_score": 0.6433,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "803011",
"espn_id": 5207167,
"player_name": "Sam Antonacci",
"team": "CHW",
"role": "batter",
"espn_rank": 133,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 133,
"gp_value": 42.0,
"gp_rank": 233,
"ab_value": 138.0,
"ab_rank": 210,
"r_value": 23.0,
"r_rank": 124,
"h_value": 38.0,
"h_rank": 169,
"avg_value": 0.2753623,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 228,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 1.0,
"hr_rank": 317,
"rbi_value": 13.0,
"rbi_rank": 247,
"tb_value": 50.0,
"tb_rank": 1368,
"bb_value": 10.0,
"bb_rank": 247,
"so_value": 25.0,
"so_rank": 260,
"sb_value": 8.0,
"sb_rank": 37,
"obp_value": 0.36875,
"obp_rank": "-",
"slg_value": 0.3623188,
"slg_rank": "-",
"ops_value": 0.7310688,
"ops_rank": null,
"war_value": 0.83,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 143.0,
"k_percent": 15.8,
"bb_percent": 6.3,
"woba": 0.344,
"xwoba": 0.372,
"xba": 0.309,
"xslg": 0.43,
"sweet_spot_percent": 40.2,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 35.7,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 11.4,
"whiff_percent": 16.9,
"swing_percent": 40.3
},
"components": {
"expected_quality": 1.0206,
"regression_edge": 0.8,
"xwoba_edge": 1.9143,
"xba_edge": 2.0,
"xslg_edge": 0.8,
"barrel_edge": 0.0667,
"hard_hit_edge": -0.4714,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": 1.15,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "695657",
"player_name": "Colson Montgomery",
"offense_factor": 1.0394,
"quality_score": 0.5251,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695657",
"espn_id": 4872685,
"player_name": "Colson Montgomery",
"team": "CHW",
"role": "batter",
"espn_rank": 43,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 43,
"gp_value": 58.0,
"gp_rank": 37,
"ab_value": 213.0,
"ab_rank": 53,
"r_value": 28.0,
"r_rank": 72,
"h_value": 50.0,
"h_rank": 88,
"avg_value": 0.2347417,
"avg_rank": 113.0,
"2b_value": 11.0,
"2b_rank": 51,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 15.0,
"hr_rank": 10,
"rbi_value": 36.0,
"rbi_rank": 26,
"tb_value": 106.0,
"tb_rank": 485,
"bb_value": 22.0,
"bb_rank": 75,
"so_value": 71.0,
"so_rank": 17,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.3292181,
"obp_rank": "86",
"slg_value": 0.4976525,
"slg_rank": "28",
"ops_value": 0.8268706,
"ops_rank": 40.0,
"war_value": 1.75,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 221.0,
"k_percent": 29.2,
"bb_percent": 9.2,
"woba": 0.354,
"xwoba": 0.331,
"xba": 0.22,
"xslg": 0.451,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 14.3,
"hard_hit_percent": 44.3,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 20.0,
"whiff_percent": 37.6,
"swing_percent": 51.8
},
"components": {
"expected_quality": 0.7176,
"regression_edge": -0.6571,
"xwoba_edge": 0.7429,
"xba_edge": -0.5429,
"xslg_edge": 1.1,
"barrel_edge": 1.6444,
"hard_hit_edge": 0.7571,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": 0.5167,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "DH",
"player_id": "643217",
"player_name": "Andrew Benintendi",
"offense_factor": 1.0235,
"quality_score": 0.3127,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643217",
"espn_id": 34986,
"player_name": "Andrew Benintendi",
"team": "CHW",
"role": "batter",
"espn_rank": 513,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 513,
"gp_value": 52.0,
"gp_rank": 149,
"ab_value": 168.0,
"ab_rank": 152,
"r_value": 20.0,
"r_rank": 167,
"h_value": 39.0,
"h_rank": 164,
"avg_value": 0.2321428,
"avg_rank": 118.0,
"2b_value": 9.0,
"2b_rank": 97,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 4.0,
"hr_rank": 163,
"rbi_value": 25.0,
"rbi_rank": 101,
"tb_value": 64.0,
"tb_rank": 770,
"bb_value": 12.0,
"bb_rank": 212,
"so_value": 51.0,
"so_rank": 75,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.2786885,
"obp_rank": "155",
"slg_value": 0.3809523,
"slg_rank": "113",
"ops_value": 0.6596408,
"ops_rank": 129.0,
"war_value": -0.64,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 164.0,
"k_percent": 28.2,
"bb_percent": 6.6,
"woba": 0.294,
"xwoba": 0.311,
"xba": 0.246,
"xslg": 0.422,
"sweet_spot_percent": 39.8,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 47.5,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 18.8,
"whiff_percent": 29.9,
"swing_percent": 52.9
},
"components": {
"expected_quality": 0.4087,
"regression_edge": 0.4857,
"xwoba_edge": 0.1714,
"xba_edge": 0.2,
"xslg_edge": 0.6857,
"barrel_edge": 0.7556,
"hard_hit_edge": 1.2143,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": 1.0833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "805367",
"player_name": "Chase Meidroth",
"offense_factor": 0.9847,
"quality_score": -0.2038,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805367",
"espn_id": 5136929,
"player_name": "Chase Meidroth",
"team": "CHW",
"role": "batter",
"espn_rank": 70,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 70,
"gp_value": 57.0,
"gp_rank": 55,
"ab_value": 212.0,
"ab_rank": 55,
"r_value": 36.0,
"r_rank": 29,
"h_value": 57.0,
"h_rank": 46,
"avg_value": 0.2688679,
"avg_rank": 54.0,
"2b_value": 11.0,
"2b_rank": 51,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 5.0,
"hr_rank": 133,
"rbi_value": 18.0,
"rbi_rank": 182,
"tb_value": 83.0,
"tb_rank": 812,
"bb_value": 24.0,
"bb_rank": 60,
"so_value": 53.0,
"so_rank": 62,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.3403361,
"obp_rank": "71",
"slg_value": 0.3915094,
"slg_rank": "100",
"ops_value": 0.7318455,
"ops_rank": 92.0,
"war_value": 1.43,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 219.0,
"k_percent": 21.8,
"bb_percent": 10.0,
"woba": 0.328,
"xwoba": 0.302,
"xba": 0.241,
"xslg": 0.35,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 37.7,
"exit_velocity_avg": 87.9,
"launch_angle_avg": 8.3,
"whiff_percent": 18.2,
"swing_percent": 40.2
},
"components": {
"expected_quality": -0.1171,
"regression_edge": -0.7429,
"xwoba_edge": -0.0857,
"xba_edge": 0.0571,
"xslg_edge": -0.3429,
"barrel_edge": -0.1333,
"hard_hit_edge": -0.1857,
"exit_velocity_edge": -0.36,
"sweet_spot_edge": -0.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "694378",
"player_name": "Jacob Gonzalez",
"offense_factor": 1.0065,
"quality_score": 0.086,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694378",
"espn_id": 4720990,
"player_name": "Jacob Gonzalez",
"team": "CHW",
"role": "batter",
"espn_rank": 326,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 326,
"gp_value": 1.0,
"gp_rank": 526,
"ab_value": 3.0,
"ab_rank": 523,
"r_value": 0.0,
"r_rank": 503,
"h_value": 1.0,
"h_rank": 494,
"avg_value": 0.3333333,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 455,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 0.0,
"hr_rank": 401,
"rbi_value": 0.0,
"rbi_rank": 487,
"tb_value": 1.0,
"tb_rank": 2468,
"bb_value": 0.0,
"bb_rank": 487,
"so_value": 0.0,
"so_rank": 522,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3333333,
"obp_rank": "-",
"slg_value": 0.3333333,
"slg_rank": "-",
"ops_value": 0.6666666,
"ops_rank": null,
"war_value": 0.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 21.7,
"bb_percent": 8.9,
"woba": 0.314,
"xwoba": 0.314,
"xba": 0.246,
"xslg": 0.391,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 40.3,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 14.0,
"whiff_percent": 25.0,
"swing_percent": 47.2
},
"components": {
"expected_quality": 0.2223,
"regression_edge": 0.0,
"xwoba_edge": 0.2571,
"xba_edge": 0.2,
"xslg_edge": 0.2429,
"barrel_edge": 0.2,
"hard_hit_edge": 0.1857,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "671976",
"player_name": "Tristan Peters",
"offense_factor": 0.9746,
"quality_score": -0.3385,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "671976",
"espn_id": 5085893,
"player_name": "Tristan Peters",
"team": "CHW",
"role": "batter",
"espn_rank": 66,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 66,
"gp_value": 56.0,
"gp_rank": 72,
"ab_value": 142.0,
"ab_rank": 201,
"r_value": 18.0,
"r_rank": 182,
"h_value": 41.0,
"h_rank": 147,
"avg_value": 0.2887323,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 97,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 2.0,
"hr_rank": 255,
"rbi_value": 14.0,
"rbi_rank": 232,
"tb_value": 58.0,
"tb_rank": 1107,
"bb_value": 12.0,
"bb_rank": 212,
"so_value": 31.0,
"so_rank": 207,
"sb_value": 4.0,
"sb_rank": 95,
"obp_value": 0.3525641,
"obp_rank": "-",
"slg_value": 0.4084507,
"slg_rank": "-",
"ops_value": 0.7610148,
"ops_rank": null,
"war_value": 1.51,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 141.0,
"k_percent": 19.7,
"bb_percent": 7.6,
"woba": 0.333,
"xwoba": 0.294,
"xba": 0.242,
"xslg": 0.344,
"sweet_spot_percent": 33.9,
"barrel_batted_rate": 4.5,
"hard_hit_percent": 25.0,
"exit_velocity_avg": 87.1,
"launch_angle_avg": 15.9,
"whiff_percent": 23.9,
"swing_percent": 56.0
},
"components": {
"expected_quality": -0.4327,
"regression_edge": -1.1143,
"xwoba_edge": -0.3143,
"xba_edge": 0.0857,
"xslg_edge": -0.4286,
"barrel_edge": -0.5333,
"hard_hit_edge": -2.0,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": 0.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "807747",
"player_name": "Rikuu Nishida",
"offense_factor": 0.9781,
"quality_score": -0.2919,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "807747",
"espn_id": 5205710,
"player_name": "Rikuu Nishida",
"team": "CHW",
"role": "batter",
"espn_rank": 299,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 299,
"gp_value": 7.0,
"gp_rank": 482,
"ab_value": 17.0,
"ab_rank": 472,
"r_value": 1.0,
"r_rank": 464,
"h_value": 4.0,
"h_rank": 446,
"avg_value": 0.2352941,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 455,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 0.0,
"hr_rank": 401,
"rbi_value": 2.0,
"rbi_rank": 432,
"tb_value": 4.0,
"tb_rank": 2420,
"bb_value": 0.0,
"bb_rank": 487,
"so_value": 3.0,
"so_rank": 485,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.2352941,
"obp_rank": "-",
"slg_value": 0.2352941,
"slg_rank": "-",
"ops_value": 0.4705882,
"ops_rank": null,
"war_value": 0.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 9.0,
"k_percent": 12.5,
"bb_percent": 0.0,
"woba": 0.179,
"xwoba": 0.247,
"xba": 0.259,
"xslg": 0.305,
"sweet_spot_percent": 35.7,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 7.1,
"exit_velocity_avg": 88.3,
"launch_angle_avg": 3.3,
"whiff_percent": 8.0,
"swing_percent": 47.2
},
"components": {
"expected_quality": -1.0705,
"regression_edge": 1.9429,
"xwoba_edge": -1.6571,
"xba_edge": 0.5714,
"xslg_edge": -0.9857,
"barrel_edge": -1.5333,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -0.2,
"sweet_spot_edge": 0.4,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "700337",
"player_name": "Edgar Quero",
"offense_factor": 0.9591,
"quality_score": -0.5455,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "700337",
"espn_id": 4917824,
"player_name": "Edgar Quero",
"team": "CHW",
"role": "batter",
"espn_rank": 443,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 443,
"gp_value": 42.0,
"gp_rank": 233,
"ab_value": 112.0,
"ab_rank": 253,
"r_value": 12.0,
"r_rank": 270,
"h_value": 22.0,
"h_rank": 278,
"avg_value": 0.1964285,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 402,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 2.0,
"hr_rank": 255,
"rbi_value": 15.0,
"rbi_rank": 220,
"tb_value": 29.0,
"tb_rank": 1761,
"bb_value": 12.0,
"bb_rank": 212,
"so_value": 33.0,
"so_rank": 190,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.280303,
"obp_rank": "-",
"slg_value": 0.2589285,
"slg_rank": "-",
"ops_value": 0.5392315,
"ops_rank": null,
"war_value": -0.27,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 120.0,
"k_percent": 24.6,
"bb_percent": 9.0,
"woba": 0.251,
"xwoba": 0.256,
"xba": 0.196,
"xslg": 0.263,
"sweet_spot_percent": 23.3,
"barrel_batted_rate": 1.2,
"hard_hit_percent": 31.4,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 8.6,
"whiff_percent": 26.2,
"swing_percent": 48.2
},
"components": {
"expected_quality": -1.1861,
"regression_edge": 0.1429,
"xwoba_edge": -1.4,
"xba_edge": -1.2286,
"xslg_edge": -1.5857,
"barrel_edge": -1.2667,
"hard_hit_edge": -1.0857,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": -1.6667,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away CHW | 689818 | False | - | - | - | - | - | - | - | pitcher_not_in_embedded_savant_pitcher_profile | - | - | - | - | - | - | - |
| Home MIN | True | 38 | 0.3440 | 0.8120 | 0.9708 | 1.0232 | 0.9383 | 1.0159 | neutral | 0.2690 | 0.2530 | 27.50 | 5.50 | 25.90 | 9.60 | 41 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away CHW | 689818 | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| Home MIN | True | None | 73 | 88.02 | 2357 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0938 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9763 |
| home_runs_vs_away_pitcher | 1 |
| home_pitcher_quality_edge | 0.3440 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "657746",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 203.0,
"k_percent": 27.5,
"bb_percent": 5.5,
"woba": 0.253,
"xwoba": 0.269,
"sweet_spot_percent": 30.1,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 41.0,
"avg_best_speed": 79.1675,
"avg_hyper_speed": 94.3839,
"whiff_percent": 25.9,
"swing_percent": 50.6
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.6147,
"command_and_miss": 0.51,
"regression_edge": -0.4571,
"xwoba_edge": 1.2286,
"barrel_edge": -0.5333,
"hard_hit_edge": -0.3429,
"whiff_edge": 0.0143,
"bb_edge": 0.95,
"pitch_design_score": -0.0938
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "657746",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 73,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 73,
"pitch_usage": 0.0,
"release_speed": 88.01971106687259,
"release_spin_rate": 2357.354838456103,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 73,
"pitch_usage": 0.0,
"release_speed": 88.01971106687259,
"release_spin_rate": 2357.354838456103,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0197,
"release_spin_rate": 2357.3548,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0938,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6702,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.344,
"sample_weight": 0.812,
"run_prevention_factor": 0.9708,
"strikeout_factor": 1.0232,
"walk_factor": 0.9383,
"homer_factor": 1.0159,
"woba_minus_xwoba": -0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657746",
"espn_id": 42450,
"player_name": "Joe Ryan",
"team": "MIN",
"role": "pitcher",
"espn_rank": 38,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 38,
"gp_value": 12.0,
"gp_rank": 227,
"gs_value": 12.0,
"gs_rank": 2,
"qs_value": 7.0,
"qs_rank": 12,
"era_value": 2.9378,
"era_rank": 18.0,
"w_value": 3.0,
"w_rank": 74,
"l_value": 3.0,
"l_rank": 75,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 64.1,
"ip_rank": 41,
"h_value": 46.0,
"h_rank": 105,
"er_value": 21.0,
"er_rank": 108,
"hr_value": 4.0,
"hr_rank": 150,
"bb_value": 14.0,
"bb_rank": 156,
"k_value": 70.0,
"k_rank": 20,
"k_per_9_value": 9.792747,
"k_per_9_rank": 13,
"whip_value": 0.9326,
"whip_rank": 4.0,
"war_value": 1.5,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": false,
"pitcher_id": "689818",
"reason": "pitcher_not_in_embedded_savant_pitcher_profile"
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9763,
"home_runs_vs_away_pitcher": 1.0,
"home_pitcher_quality_edge": 0.344
},
"score_before": {
"away_runs": 2.3451,
"home_runs": 1.9413
},
"score_after": {
"away_runs": 2.2895,
"home_runs": 1.9413,
"home_win_probability": 0.4766
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away CHW | 16-40 | 0.286 | 1.30 | 2.40 | -63 | cold | strong | |
| Home MIN | 16-42 | 0.276 | 1.20 | 3.50 | -135 | cold | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away CHW | 32-27 | 0.542 | 8 | 0.136 | True |
| Home MIN | 27-33 | 0.450 | -21 | -0.350 | True |
| Signal | - | - | -0.486 | -0.624 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target CHW | - | - | 3 | - | - | - | - |
| Game target MIN | - | - | 2 | - | - | - | - |
| Player finalized CHW | 55 | 14 | 9 | 2 | 7 | 4 | 14 |
| Player finalized MIN | 62 | 13 | 8 | 1 | 8 | 6 | 15 |
| Player model fractional CHW | 54.65 | 13.64 | 8.51 | 1.89 | 7.43 | 5.11 | 12.66 |
| Player model fractional MIN | 64.00 | 14.29 | 8.10 | 1.91 | 7.68 | 5.76 | 15.64 |
| Simulation box CHW | 32 | 5 | 3 | 2 | 3 | 4 | 9 |
| Simulation box MIN | 30 | 3 | 0 | 0 | 0 | 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 CHW | Starter | David Sandlin | 3 | 0 | 4 | 1 | 1 | 4.29 | 1.32 | True |
| Away CHW | Middle Reliever | Bryan Hudson | 1 | 0 | 0 | 0 | 0 | 3.47 | 1.28 | True |
| Away CHW | Middle Reliever | Grant Taylor | 1.20 | 0 | 0 | 1 | 1 | 3.47 | 1.25 | True |
| Away CHW | Middle Reliever | Sean Newcomb | 1.20 | 0 | 1 | 0 | 0 | 4.58 | 1.35 | True |
| Away CHW | Middle Reliever | Seranthony Domínguez | 1.20 | 0 | 1 | 1 | 0 | 4.75 | 1.40 | True |
| Home MIN | Starter | Joe Ryan | 6 | 2 | 6 | 3 | 4 | 2.87 | 0.98 | True |
| Home MIN | Middle Reliever | Eric Orze | 1.10 | 0 | 1 | 0 | 0 | 3.97 | 1.29 | True |
| Home MIN | Middle Reliever | Yoendrys Gómez | 1 | 1 | 1 | 1 | 0 | 3.08 | 1.23 | True |
| Home MIN | Middle Reliever | Taylor Rogers | 0.20 | 0 | 1 | 1 | 0 | 4.19 | 1.39 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | CHW | pitcher | Starter | David Sandlin | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 2.9000 | boost | better |
| away | CHW | batter | LF | Sam Antonacci | worse | 12 | 5 | 7 | 4 | 8 | predicted_SO | 2.3440 | boost | worse |
| away | CHW | batter | 1B | Jacob Gonzalez | worse | 8 | 4 | 4 | 3 | 5 | predicted_SO | 2.0000 | boost | worse |
| home | MIN | pitcher | Starter | Joe Ryan | better | 1 | 1 | 0 | 1 | 0 | predicted_SO | 2.0000 | boost | better |
| home | MIN | pitcher | Middle Reliever | Taylor Rogers | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -2.0000 | deboost | worse |
| away | CHW | batter | 2B | Chase Meidroth | worse | 10 | 2 | 8 | 3 | 7 | predicted_AB | -1.8610 | deboost | worse |
| home | MIN | batter | RF | Austin Martin | worse | 11 | 2 | 9 | 3 | 8 | predicted_AB | -1.6530 | deboost | worse |
| away | CHW | batter | DH | Andrew Benintendi | better | 11 | 8 | 3 | 9 | 2 | predicted_RBI | 1.5200 | boost | better |
| away | CHW | batter | RF | Rikuu Nishida | worse | 9 | 2 | 7 | 1 | 8 | predicted_SO | 1.3330 | boost | worse |
| home | MIN | batter | DH | Byron Buxton | worse | 11 | 3 | 8 | 4 | 7 | predicted_SO | -1.2500 | deboost | better |
| home | MIN | batter | 1B | Josh Bell | worse | 9 | 5 | 4 | 4 | 5 | predicted_H | 1.1200 | boost | better |
| away | CHW | pitcher | Middle Reliever | Sean Newcomb | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.1000 | boost | better |
| away | CHW | pitcher | Middle Reliever | Seranthony Domínguez | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.1000 | boost | better |
| away | CHW | batter | C | Edgar Quero | worse | 10 | 3 | 7 | 4 | 6 | predicted_SO | -0.9920 | deboost | better |
| home | MIN | batter | 3B | Brooks Lee | worse | 10 | 1 | 9 | 0 | 10 | predicted_H | -0.9400 | deboost | worse |
| home | MIN | batter | CF | Kody Clemens | worse | 11 | 1 | 10 | 2 | 9 | predicted_SO | -0.9350 | deboost | better |
| away | CHW | batter | SS | Colson Montgomery | better | 10 | 7 | 3 | 8 | 2 | predicted_AB | -0.9200 | deboost | worse |
| away | CHW | batter | 3B | Miguel Vargas | worse | 8 | 2 | 6 | 1 | 7 | predicted_H | -0.9100 | deboost | worse |
| home | MIN | batter | 2B | Luke Keaschall | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -0.8400 | deboost | worse |
| home | MIN | batter | C | Victor Caratini | worse | 10 | 0 | 10 | 1 | 9 | predicted_SO | -0.7950 | deboost | better |
| away | CHW | batter | CF | Tristan Peters | worse | 10 | 2 | 8 | 3 | 7 | predicted_BB | 0.7220 | boost | better |
| home | MIN | batter | SS | Tristan Gray | worse | 10 | 0 | 10 | 1 | 9 | predicted_H | -0.6500 | deboost | worse |
| home | MIN | batter | LF | Trevor Larnach | worse | 10 | 2 | 8 | 1 | 9 | predicted_R | -0.6330 | deboost | worse |
| home | MIN | pitcher | Middle Reliever | Eric Orze | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | CHW | pitcher | Middle Reliever | Grant Taylor | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | David Sandlin |
| Role | Starter |
| Projection Source | league_average_stable_fallback |
| Savant Quality Score | - |
| ESPN Rank | - |
| Movement Available | - |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 3 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 4 |
| Season ERA | - |
| Season WHIP | - |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 66,
"wins": 33,
"losses": 33,
"win_pct": 0.5,
"runs_scored": 306.0,
"runs_allowed": 311.0,
"run_differential": -5.0,
"run_differential_per_game": -0.0758,
"avg_runs_scored": 4.6364,
"avg_runs_allowed": 4.7121,
"offense_index": 1.0465,
"defense_index": 0.9402,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 3.7,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.0606
},
"opponent": {
"team": "MIN",
"games": 66,
"wins": 30,
"losses": 36,
"win_pct": 0.4545,
"runs_scored": 311.0,
"runs_allowed": 320.0,
"run_differential": -9.0,
"run_differential_per_game": -0.1364,
"avg_runs_scored": 4.7121,
"avg_runs_allowed": 4.8485,
"offense_index": 1.0636,
"defense_index": 0.9138,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 6.5,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.0906
},
"edges": {
"quality_edge": 0.1512,
"offense_edge": 0.0465,
"opponent_offense_edge": 0.0636,
"defense_strength": -0.0598,
"opponent_defense_weakness": 0.0862,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0017,
"run_prevention": 1.0086,
"strikeout": 0.9994
}
}{
"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."
}{}{
"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": {},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0,
"prior_weight": 1.0
},
"role": "pitcher",
"player_id": "689818",
"report_date": "20260601_C",
"season_year": 2026,
"rows_used": 0,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 0,
"totals": {
"IP": 0.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 0.0,
"Pitches": 0.0
},
"per_game": {
"IP": 0.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 0.0,
"Pitches": 0.0
},
"rates": {
"ERA": null,
"WHIP": null,
"ER_per_IP": null,
"H_per_IP": null,
"BB_per_IP": null,
"SO_per_IP": null,
"HR_per_IP": null
}
},
"last_10": {
"games": 0,
"totals": {
"IP": 0.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 0.0,
"Pitches": 0.0
},
"per_game": {
"IP": 0.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 0.0,
"Pitches": 0.0
},
"rates": {
"ERA": null,
"WHIP": null,
"ER_per_IP": null,
"H_per_IP": null,
"BB_per_IP": null,
"SO_per_IP": null,
"HR_per_IP": null
}
},
"season": {
"games": 0,
"totals": {
"IP": 0.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 0.0,
"Pitches": 0.0
},
"per_game": {
"IP": 0.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 0.0,
"Pitches": 0.0
},
"rates": {
"ERA": null,
"WHIP": null,
"ER_per_IP": null,
"H_per_IP": null,
"BB_per_IP": null,
"SO_per_IP": null,
"HR_per_IP": null
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.159,
"predicted_H": 0.317,
"predicted_BB": 0.123,
"predicted_SO": 0.314,
"predicted_HR": 0.045,
"predicted_ERA": 4.2877,
"predicted_WHIP": 1.3186
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7725,
"form_weight": 0.2275,
"form_reliability": 0.0,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0,
"prior_weight": 1.0
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.159,
"final": 0.0362,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.317,
"final": 0.8446,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.123,
"final": 0.8005,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 0.314,
"final": 3.1614,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.045,
"final": 0.0102,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2877,
"final": 4.2877,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3186,
"final": 1.3186,
"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.2890 |
| ESPN Rank | 35 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0470 |
| 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 | 0 |
| Pre SO | 0 |
| 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": 66,
"wins": 33,
"losses": 33,
"win_pct": 0.5,
"runs_scored": 306.0,
"runs_allowed": 311.0,
"run_differential": -5.0,
"run_differential_per_game": -0.0758,
"avg_runs_scored": 4.6364,
"avg_runs_allowed": 4.7121,
"offense_index": 1.0465,
"defense_index": 0.9402,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 3.7,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.0606
},
"opponent": {
"team": "MIN",
"games": 66,
"wins": 30,
"losses": 36,
"win_pct": 0.4545,
"runs_scored": 311.0,
"runs_allowed": 320.0,
"run_differential": -9.0,
"run_differential_per_game": -0.1364,
"avg_runs_scored": 4.7121,
"avg_runs_allowed": 4.8485,
"offense_index": 1.0636,
"defense_index": 0.9138,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 6.5,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.0906
},
"edges": {
"quality_edge": 0.1512,
"offense_edge": 0.0465,
"opponent_offense_edge": 0.0636,
"defense_strength": -0.0598,
"opponent_defense_weakness": 0.0862,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0017,
"run_prevention": 1.0086,
"strikeout": 0.9994
},
"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.9,
"bb_percent": 8.8,
"woba": 0.269,
"xwoba": 0.267,
"sweet_spot_percent": 26.0,
"barrel_batted_rate": 1.4,
"hard_hit_percent": 32.9,
"avg_best_speed": 77.2857,
"avg_hyper_speed": 92.8992,
"whiff_percent": 25.6,
"swing_percent": 46.1
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.0974,
"command_and_miss": 0.0986,
"regression_edge": 0.0571,
"xwoba_edge": 1.2857,
"barrel_edge": 1.2889,
"hard_hit_edge": 0.8143,
"whiff_edge": -0.0286,
"bb_edge": 0.125,
"pitch_design_score": -0.047
},
"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.047,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3354,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.289,
"sample_weight": 0.45,
"run_prevention_factor": 0.9754,
"strikeout_factor": 1.0028,
"walk_factor": 0.9955,
"homer_factor": 0.9216,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663542",
"espn_id": 4991171,
"player_name": "Bryan Hudson",
"team": "CHW",
"role": "pitcher",
"espn_rank": 35,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 35,
"gp_value": 29.0,
"gp_rank": 5,
"gs_value": 3.0,
"gs_rank": 170,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 1.2558,
"era_rank": null,
"w_value": 3.0,
"w_rank": 74,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 2.0,
"sv_rank": 50,
"hld_value": 4.0,
"hld_rank": 94,
"ip_value": 28.2,
"ip_rank": 183,
"h_value": 23.0,
"h_rank": 226,
"er_value": 4.0,
"er_rank": 472,
"hr_value": 0.0,
"hr_rank": 529,
"bb_value": 10.0,
"bb_rank": 248,
"k_value": 28.0,
"k_rank": 197,
"k_per_9_value": 8.790698,
"k_per_9_rank": 29,
"whip_value": 1.1511,
"whip_rank": null,
"war_value": 1.53,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9889,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9889,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.998,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9647,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0013,
"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.047,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3354,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.539,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4758,
"prior_weight": 0.5242
},
"role": "pitcher",
"player_id": "663542",
"report_date": "20260601_C",
"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.385,
"predicted_H": 0.966,
"predicted_BB": 0.311,
"predicted_SO": 0.79,
"predicted_HR": 0.07,
"predicted_ERA": 3.4671,
"predicted_WHIP": 1.2763
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5715,
"form_weight": 0.4285,
"form_reliability": 0.4758,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.539,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4758,
"prior_weight": 0.5242
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.385,
"final": 0.165,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.966,
"final": 0.414,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.311,
"final": 0.1333,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.79,
"final": 0.3385,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.07,
"final": 0.03,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4671,
"final": 3.4671,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2763,
"final": 1.2763,
"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.4180 |
| ESPN Rank | 93 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2773 |
| Avg Velo | 94.6463 |
| Avg Spin | 2483.6036 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 1 |
| 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": 66,
"wins": 33,
"losses": 33,
"win_pct": 0.5,
"runs_scored": 306.0,
"runs_allowed": 311.0,
"run_differential": -5.0,
"run_differential_per_game": -0.0758,
"avg_runs_scored": 4.6364,
"avg_runs_allowed": 4.7121,
"offense_index": 1.0465,
"defense_index": 0.9402,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 3.7,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.0606
},
"opponent": {
"team": "MIN",
"games": 66,
"wins": 30,
"losses": 36,
"win_pct": 0.4545,
"runs_scored": 311.0,
"runs_allowed": 320.0,
"run_differential": -9.0,
"run_differential_per_game": -0.1364,
"avg_runs_scored": 4.7121,
"avg_runs_allowed": 4.8485,
"offense_index": 1.0636,
"defense_index": 0.9138,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 6.5,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.0906
},
"edges": {
"quality_edge": 0.1512,
"offense_edge": 0.0465,
"opponent_offense_edge": 0.0636,
"defense_strength": -0.0598,
"opponent_defense_weakness": 0.0862,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0017,
"run_prevention": 1.0086,
"strikeout": 0.9994
},
"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": 36.1,
"bb_percent": 7.4,
"woba": 0.26,
"xwoba": 0.242,
"sweet_spot_percent": 31.9,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 40.6,
"avg_best_speed": 79.3775,
"avg_hyper_speed": 94.1145,
"whiff_percent": 28.9,
"swing_percent": 49.2
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.0082,
"command_and_miss": 1.1179,
"regression_edge": 0.5143,
"xwoba_edge": 2.0,
"barrel_edge": 0.2889,
"hard_hit_edge": -0.2857,
"whiff_edge": 0.4429,
"bb_edge": 0.475,
"pitch_design_score": 0.2773
},
"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.2773,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.9804,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.418,
"sample_weight": 0.45,
"run_prevention_factor": 0.9645,
"strikeout_factor": 1.0427,
"walk_factor": 0.9829,
"homer_factor": 0.9677,
"woba_minus_xwoba": 0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691799",
"espn_id": 4927630,
"player_name": "Grant Taylor",
"team": "CHW",
"role": "pitcher",
"espn_rank": 93,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 93,
"gp_value": 23.0,
"gp_rank": 87,
"gs_value": 4.0,
"gs_rank": 163,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.1235,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 0.0,
"l_rank": 390,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 4.0,
"hld_rank": 94,
"ip_value": 29.2,
"ip_rank": 176,
"h_value": 24.0,
"h_rank": 212,
"er_value": 7.0,
"er_rank": 350,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 9.0,
"bb_rank": 272,
"k_value": 44.0,
"k_rank": 103,
"k_per_9_value": 13.348314,
"k_per_9_rank": 15,
"whip_value": 1.1123,
"whip_rank": null,
"war_value": 0.84,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.984,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.984,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9923,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9855,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0192,
"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.2773,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.9804,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.25,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2,
"prior_weight": 0.8
},
"role": "pitcher",
"player_id": "691799",
"report_date": "20260601_C",
"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.385,
"predicted_H": 0.915,
"predicted_BB": 0.336,
"predicted_SO": 1.014,
"predicted_HR": 0.107,
"predicted_ERA": 3.4684,
"predicted_WHIP": 1.2512
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.688,
"form_weight": 0.312,
"form_reliability": 0.2,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.25,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2,
"prior_weight": 0.8
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.385,
"final": 0.1201,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.915,
"final": 0.9735,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.336,
"final": 0.7928,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.014,
"final": 0.3164,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.107,
"final": 0.0334,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4684,
"final": 3.4684,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2512,
"final": 1.2512,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Sean Newcomb |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0010 |
| ESPN Rank | 60 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 7.7143 |
| Season WHIP | 1.7143 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 66,
"wins": 33,
"losses": 33,
"win_pct": 0.5,
"runs_scored": 306.0,
"runs_allowed": 311.0,
"run_differential": -5.0,
"run_differential_per_game": -0.0758,
"avg_runs_scored": 4.6364,
"avg_runs_allowed": 4.7121,
"offense_index": 1.0465,
"defense_index": 0.9402,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 3.7,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.0606
},
"opponent": {
"team": "MIN",
"games": 66,
"wins": 30,
"losses": 36,
"win_pct": 0.4545,
"runs_scored": 311.0,
"runs_allowed": 320.0,
"run_differential": -9.0,
"run_differential_per_game": -0.1364,
"avg_runs_scored": 4.7121,
"avg_runs_allowed": 4.8485,
"offense_index": 1.0636,
"defense_index": 0.9138,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 6.5,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.0906
},
"edges": {
"quality_edge": 0.1512,
"offense_edge": 0.0465,
"opponent_offense_edge": 0.0636,
"defense_strength": -0.0598,
"opponent_defense_weakness": 0.0862,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0017,
"run_prevention": 1.0086,
"strikeout": 0.9994
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656794",
"profile": {
"available": true,
"pitcher_id": "656794",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.311,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.0114,
"command_and_miss": 0.0,
"regression_edge": -0.0857,
"xwoba_edge": 0.0286,
"barrel_edge": 0.0,
"hard_hit_edge": 0.0,
"whiff_edge": 0.0,
"bb_edge": 0.0,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656794",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.001,
"sample_weight": 0.45,
"run_prevention_factor": 1.0001,
"strikeout_factor": 1.0,
"walk_factor": 1.0,
"homer_factor": 0.9996,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656794",
"espn_id": 33856,
"player_name": "Sean Newcomb",
"team": "CHW",
"role": "pitcher",
"espn_rank": 60,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 60,
"gp_value": 23.0,
"gp_rank": 87,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.6213,
"era_rank": null,
"w_value": 0.0,
"w_rank": 368,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 3.0,
"hld_rank": 120,
"ip_value": 34.1,
"ip_rank": 154,
"h_value": 28.0,
"h_rank": 164,
"er_value": 10.0,
"er_rank": 258,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 9.0,
"bb_rank": 272,
"k_value": 31.0,
"k_rank": 167,
"k_per_9_value": 8.126214,
"k_per_9_rank": 29,
"whip_value": 1.0776,
"whip_rank": null,
"war_value": 1.14,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9998,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "insufficient_data"
},
"pitching": {
"IP": 2.1,
"ER": 2,
"H": 3,
"BB": 1,
"SO": 1,
"HR": 0,
"ERA": 7.7142857142857135,
"WHIP": 1.7142857142857142,
"K9": 3.8571428571428568,
"HR9": 0.0,
"games_pitched": 1,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 1,
"error_prone": false
},
"games_count": 1,
"latest_game_date": "2026-03-26T00:00:00"
}{
"available": false,
"pitcher_id": "656794",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.46,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0843,
"prior_weight": 0.9157
},
"role": "pitcher",
"player_id": "656794",
"report_date": "20260601_C",
"season_year": 2026,
"rows_used": 1,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 1,
"totals": {
"IP": 2.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 10.0,
"Pitches": 33.0
},
"per_game": {
"IP": 2.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 10.0,
"Pitches": 33.0
},
"rates": {
"ERA": 7.7143,
"WHIP": 1.7143,
"ER_per_IP": 0.85714,
"H_per_IP": 1.28571,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.42857,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 1,
"totals": {
"IP": 2.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 10.0,
"Pitches": 33.0
},
"per_game": {
"IP": 2.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 10.0,
"Pitches": 33.0
},
"rates": {
"ERA": 7.7143,
"WHIP": 1.7143,
"ER_per_IP": 0.85714,
"H_per_IP": 1.28571,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.42857,
"HR_per_IP": 0.0
}
},
"season": {
"games": 1,
"totals": {
"IP": 2.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 10.0,
"Pitches": 33.0
},
"per_game": {
"IP": 2.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 10.0,
"Pitches": 33.0
},
"rates": {
"ERA": 7.7143,
"WHIP": 1.7143,
"ER_per_IP": 0.85714,
"H_per_IP": 1.28571,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.42857,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.255,
"predicted_H": 0.491,
"predicted_BB": 0.187,
"predicted_SO": 0.45,
"predicted_HR": 0.061,
"predicted_ERA": 4.5765,
"predicted_WHIP": 1.352
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7369,
"form_weight": 0.2631,
"form_reliability": 0.0843,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.46,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0843,
"prior_weight": 0.9157
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.255,
"final": 0.0671,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.491,
"final": 0.1292,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.187,
"final": 0.0492,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.45,
"final": 0.8553,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.061,
"final": 0.0161,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5765,
"final": 4.5765,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.352,
"final": 1.352,
"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.1842 |
| ESPN Rank | 250 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1653 |
| Avg Velo | 92.6462 |
| Avg Spin | 2184.3077 |
| 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 | 13.5000 |
| Season WHIP | 3 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 66,
"wins": 33,
"losses": 33,
"win_pct": 0.5,
"runs_scored": 306.0,
"runs_allowed": 311.0,
"run_differential": -5.0,
"run_differential_per_game": -0.0758,
"avg_runs_scored": 4.6364,
"avg_runs_allowed": 4.7121,
"offense_index": 1.0465,
"defense_index": 0.9402,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 3.7,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.0606
},
"opponent": {
"team": "MIN",
"games": 66,
"wins": 30,
"losses": 36,
"win_pct": 0.4545,
"runs_scored": 311.0,
"runs_allowed": 320.0,
"run_differential": -9.0,
"run_differential_per_game": -0.1364,
"avg_runs_scored": 4.7121,
"avg_runs_allowed": 4.8485,
"offense_index": 1.0636,
"defense_index": 0.9138,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 6.5,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.0906
},
"edges": {
"quality_edge": 0.1512,
"offense_edge": 0.0465,
"opponent_offense_edge": 0.0636,
"defense_strength": -0.0598,
"opponent_defense_weakness": 0.0862,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0017,
"run_prevention": 1.0086,
"strikeout": 0.9994
},
"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.9,
"bb_percent": 11.3,
"woba": 0.298,
"xwoba": 0.352,
"sweet_spot_percent": 41.1,
"barrel_batted_rate": 10.9,
"hard_hit_percent": 35.7,
"avg_best_speed": 81.0189,
"avg_hyper_speed": 94.5841,
"whiff_percent": 28.6,
"swing_percent": 42.8
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.6855,
"command_and_miss": 0.445,
"regression_edge": -1.5429,
"xwoba_edge": -1.1429,
"barrel_edge": -0.8222,
"hard_hit_edge": 0.4143,
"whiff_edge": 0.4,
"bb_edge": -0.5,
"pitch_design_score": 0.1653
},
"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.1653,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1804,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1842,
"sample_weight": 0.45,
"run_prevention_factor": 1.0157,
"strikeout_factor": 1.0234,
"walk_factor": 1.018,
"homer_factor": 1.0376,
"woba_minus_xwoba": -0.054,
"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": 250,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 250,
"gp_value": 24.0,
"gp_rank": 72,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 3.9705,
"era_rank": null,
"w_value": 3.0,
"w_rank": 74,
"l_value": 3.0,
"l_rank": 75,
"sv_value": 11.0,
"sv_rank": 9,
"hld_value": 1.0,
"hld_rank": 184,
"ip_value": 22.2,
"ip_rank": 282,
"h_value": 15.0,
"h_rank": 349,
"er_value": 10.0,
"er_rank": 258,
"hr_value": 5.0,
"hr_rank": 113,
"bb_value": 11.0,
"bb_rank": 221,
"k_value": 28.0,
"k_rank": 197,
"k_per_9_value": 11.117647,
"k_per_9_rank": 18,
"whip_value": 1.147,
"whip_rank": null,
"war_value": 0.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0071,
"adjusted": 2
},
"predicted_H": {
"original": 0.0,
"factor": 1.0071,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0081,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0169,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 1.0105,
"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.1653,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1804,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": "20260601_C",
"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.185,
"predicted_H": 0.355,
"predicted_BB": 0.136,
"predicted_SO": 0.313,
"predicted_HR": 0.058,
"predicted_ERA": 4.7483,
"predicted_WHIP": 1.4027
}
}{
"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.185,
"final": 0.046,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.355,
"final": 0.8396,
"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.313,
"final": 0.8292,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.058,
"final": 0.0144,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.7483,
"final": 4.7483,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4027,
"final": 1.4027,
"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.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.990 | 4.000 | 8.000 | Hitting_AB | 3.686 | 4.000 | 0.314 | 0.000 |
| predicted_AVG | 0.228 | 0.000 | 0.250 | Hitting_AVG | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_BB | 0.697 | 0.000 | 1.000 | Hitting_BB | 0.698 | 0.000 | -0.698 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.910 | 0.000 | 2.000 | Hitting_H | 0.847 | 0.000 | -0.847 | 0.000 |
| predicted_HR | 0.190 | 0.000 | 1.000 | Hitting_HR | 0.231 | 0.000 | -0.231 | 0.000 |
| predicted_OBP | 0.338 | 0.000 | 0.333 | Hitting_OBP | 0.363 | 0.000 | -0.363 | 0.000 |
| predicted_R | 0.788 | 0.000 | 2.000 | Hitting_R | 0.785 | 0.000 | -0.785 | 0.000 |
| predicted_RBI | 0.570 | 0.000 | 1.000 | Hitting_RBI | 0.595 | 0.000 | -0.595 | 0.000 |
| predicted_SLG | 0.440 | 0.000 | 0.625 | Hitting_SLG | 0.466 | 0.000 | -0.466 | 0.000 |
| predicted_SO | 0.772 | 1.000 | 2.000 | Hitting_SO | 0.769 | 1.000 | 0.231 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 6 |
| Better Metrics | 1 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.7720 -> 1.0000 (boost 0.2280, worse) |
| Biggest Deboost | predicted_H: 0.9100 -> 0.0000 (deboost -0.9100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 8 | 1 | 7 | 2 | predicted_AB: 3.9900 -> 7.8514 (boost 3.8614, better) | predicted_AVG: 0.2280 -> 0.2226 (deboost -0.0054, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 2 | 0 | 2 | 0 | predicted_R: 1.6763 -> 1.7516 (boost 0.0753, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_H: 1.7672 -> 2.0000 (boost 0.2328, better) | predicted_BB: 1.4571 -> 1.0000 (deboost -0.4571, worse) | AB rounded to 8 (raw=7.85), rates preserved: AVG=0.225 HR/AB=0.057 |
| 5 | bvp_blend | 1 | 1 | 0 | 1 | 0 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.7516 -> 2.0000 (boost 0.2484, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.4439 -> 0.6250 (boost 0.1811, better) | predicted_OBP: 0.3464 -> 0.3330 (deboost -0.0134, 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: 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_OBP: 0.3330 -> 0.3464 (boost 0.0134, better) | predicted_SLG: 0.6250 -> 0.4439 (deboost -0.1811, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678246",
"player_name": "Miguel Vargas",
"position": "3B",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.145,
"predicted_3B": 0.017,
"predicted_AB": 3.99,
"predicted_AVG": 0.228,
"predicted_BB": 0.697,
"predicted_H": 0.91,
"predicted_HR": 0.19,
"predicted_OBP": 0.338,
"predicted_R": 0.788,
"predicted_RBI": 0.57,
"predicted_SLG": 0.44,
"predicted_SO": 0.772
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3183,
"predicted_3B": 0.0285,
"predicted_AB": 7.8514,
"predicted_AVG": 0.2226,
"predicted_BB": 1.4478,
"predicted_H": 1.7214,
"predicted_HBP": 0.232,
"predicted_HR": 0.4381,
"predicted_OBP": 0.342,
"predicted_R": 1.6763,
"predicted_RBI": 1.208,
"predicted_SLG": 0.4408,
"predicted_SO": 1.8177
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.3183,
"delta": 0.1733,
"percent_delta": 1.1952,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0285,
"delta": 0.0115,
"percent_delta": 0.6765,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.99,
"after": 7.8514,
"delta": 3.8614,
"percent_delta": 0.9678,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2226,
"delta": -0.0054,
"percent_delta": -0.0237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.697,
"after": 1.4478,
"delta": 0.7508,
"percent_delta": 1.0772,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 1.7214,
"delta": 0.8114,
"percent_delta": 0.8916,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.4381,
"delta": 0.2481,
"percent_delta": 1.3058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.342,
"delta": 0.004,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.788,
"after": 1.6763,
"delta": 0.8883,
"percent_delta": 1.1273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 1.208,
"delta": 0.638,
"percent_delta": 1.1193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.4408,
"delta": 0.0008,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.772,
"after": 1.8177,
"delta": 1.0457,
"percent_delta": 1.3545,
"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.99,
"after": 7.8514,
"delta": 3.8614,
"percent_delta": 0.9678,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2226,
"delta": -0.0054,
"percent_delta": -0.0237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 57
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.3183,
"predicted_3B": 0.0285,
"predicted_AB": 7.8514,
"predicted_AVG": 0.2251,
"predicted_BB": 1.4571,
"predicted_H": 1.7672,
"predicted_HBP": 0.232,
"predicted_HR": 0.4477,
"predicted_OBP": 0.3464,
"predicted_R": 1.7516,
"predicted_RBI": 1.2622,
"predicted_SLG": 0.4439,
"predicted_SO": 1.8061
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3183,
"after": 0.3183,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0285,
"after": 0.0285,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.8514,
"after": 7.8514,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2226,
"after": 0.2251,
"delta": 0.0025,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.4478,
"after": 1.4571,
"delta": 0.0093,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7214,
"after": 1.7672,
"delta": 0.0458,
"percent_delta": 0.0266,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.232,
"after": 0.232,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4381,
"after": 0.4477,
"delta": 0.0096,
"percent_delta": 0.0219,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3464,
"delta": 0.0044,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.6763,
"after": 1.7516,
"delta": 0.0753,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.208,
"after": 1.2622,
"delta": 0.0542,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4408,
"after": 0.4439,
"delta": 0.0031,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.8177,
"after": 1.8061,
"delta": -0.0116,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 1.6763,
"after": 1.7516,
"delta": 0.0753,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.85), rates preserved: AVG=0.225 HR/AB=0.057",
"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.3183,
"after": 0.0,
"delta": -0.3183,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0285,
"after": 0.0,
"delta": -0.0285,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.8514,
"after": 8.0,
"delta": 0.1486,
"percent_delta": 0.0189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.4571,
"after": 1.0,
"delta": -0.4571,
"percent_delta": -0.3137,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7672,
"after": 2.0,
"delta": 0.2328,
"percent_delta": 0.1317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.232,
"after": 0.0,
"delta": -0.232,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.4477,
"after": 0.0,
"delta": -0.4477,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2622,
"after": 1.0,
"delta": -0.2622,
"percent_delta": -0.2077,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8061,
"after": 2.0,
"delta": 0.1939,
"percent_delta": 0.1074,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.7672,
"after": 2.0,
"delta": 0.2328,
"percent_delta": 0.1317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.4571,
"after": 1.0,
"delta": -0.4571,
"percent_delta": -0.3137,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, 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": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9243,
"bvp": 0.0757
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 2.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.7516,
"after": 2.0,
"delta": 0.2484,
"percent_delta": 0.1418,
"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.7516,
"after": 2.0,
"delta": 0.2484,
"percent_delta": 0.1418,
"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": 1.0,
"predicted_OBP": 0.333,
"predicted_R": 2.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.625,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2251,
"after": 0.25,
"delta": 0.0249,
"percent_delta": 0.1106,
"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.3464,
"after": 0.333,
"delta": -0.0134,
"percent_delta": -0.0387,
"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.625,
"delta": 0.1811,
"percent_delta": 0.408,
"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.4439,
"after": 0.625,
"delta": 0.1811,
"percent_delta": 0.408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3464,
"after": 0.333,
"delta": -0.0134,
"percent_delta": -0.0387,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 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.2251,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3464,
"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_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.2251,
"delta": -0.0249,
"percent_delta": -0.0997,
"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.3464,
"delta": 0.0134,
"percent_delta": 0.0402,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.625,
"after": 0.4439,
"delta": -0.1811,
"percent_delta": -0.2897,
"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.333,
"after": 0.3464,
"delta": 0.0134,
"percent_delta": 0.0402,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.625,
"after": 0.4439,
"delta": -0.1811,
"percent_delta": -0.2897,
"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.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.99,
"after": 4.0,
"delta": 0.01,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2251,
"delta": -0.0029,
"percent_delta": -0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.697,
"after": 0.0,
"delta": -0.697,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 0.0,
"delta": -0.91,
"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.338,
"after": 0.3464,
"delta": 0.0084,
"percent_delta": 0.0249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.788,
"after": 0.0,
"delta": -0.788,
"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.44,
"after": 0.4439,
"delta": 0.0039,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.772,
"after": 1.0,
"delta": 0.228,
"percent_delta": 0.2953,
"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.772,
"after": 1.0,
"delta": 0.228,
"percent_delta": 0.2953,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.91,
"after": 0.0,
"delta": -0.91,
"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.145 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 3.990 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.697 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.788 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.440 | - |
| predicted_SO | 0.772 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.318 | 0.173 |
| predicted_3B | 0.029 | 0.011 |
| predicted_AB | 7.851 | 3.861 |
| predicted_AVG | 0.223 | -0.005 |
| predicted_BB | 1.448 | 0.751 |
| predicted_H | 1.721 | 0.811 |
| predicted_HBP | 0.232 | - |
| predicted_HR | 0.438 | 0.248 |
| predicted_OBP | 0.342 | 0.004 |
| predicted_R | 1.676 | 0.888 |
| predicted_RBI | 1.208 | 0.638 |
| predicted_SLG | 0.441 | 0.001 |
| predicted_SO | 1.818 | 1.046 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.318 | 0.000 |
| predicted_3B | 0.029 | 0.000 |
| predicted_AB | 7.851 | 0.000 |
| predicted_AVG | 0.225 | 0.003 |
| predicted_BB | 1.457 | 0.009 |
| predicted_H | 1.767 | 0.046 |
| predicted_HBP | 0.232 | 0.000 |
| predicted_HR | 0.448 | 0.010 |
| predicted_OBP | 0.346 | 0.004 |
| predicted_R | 1.752 | 0.075 |
| predicted_RBI | 1.262 | 0.054 |
| predicted_SLG | 0.444 | 0.003 |
| predicted_SO | 1.806 | -0.012 |
AB rounded to 8 (raw=7.85), rates preserved: AVG=0.225 HR/AB=0.057
| 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=7.0, weight=0.076, BvP AVG=0.143)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| R | 2.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.318 |
| predicted_3B | 0.000 | -0.029 |
| predicted_AB | 8.000 | 0.149 |
| predicted_AVG | 0.250 | 0.025 |
| predicted_BB | 1.000 | -0.457 |
| predicted_H | 2.000 | 0.233 |
| predicted_HR | 1.000 | 0.552 |
| predicted_OBP | 0.333 | -0.013 |
| predicted_R | 2.000 | 0.248 |
| predicted_RBI | 1.000 | -0.262 |
| predicted_SLG | 0.625 | 0.181 |
| predicted_SO | 2.000 | 0.194 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | -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 | 4 | - | 18.000 | 3.000 | 1.000 | 0.000 | 1.000 | 3.000 | 4.000 | 3.000 | 6.000 | 0.1667 | 0.2857 | 0.3889 | 0.1667 | 0.0556 | 0.1667 | 0.1667 | 0.3333 |
| last_10 | 0.20 | 5 | - | 33.000 | 6.000 | 1.000 | 0.000 | 1.000 | 3.000 | 12.000 | 11.000 | 16.000 | 0.1818 | 0.3864 | 0.3030 | 0.1818 | 0.0303 | 0.0909 | 0.3333 | 0.4849 |
| season | 0.60 | 57 | - | 892.000 | 205.000 | 35.000 | 4.000 | 56.000 | 144.000 | 190.000 | 168.000 | 186.000 | 0.2298 | 0.3621 | 0.4664 | 0.2298 | 0.0628 | 0.1614 | 0.1883 | 0.2085 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5370 |
| predicted_3B | 0.0430 |
| predicted_AB | 12.7230 |
| predicted_AVG | 0.2157 |
| predicted_BB | 2.3950 |
| predicted_H | 2.7450 |
| predicted_HBP | 0.2320 |
| predicted_HR | 0.7510 |
| predicted_OBP | 0.3471 |
| predicted_R | 2.7970 |
| predicted_RBI | 2.0130 |
| predicted_SLG | 0.4418 |
| predicted_SO | 3.1370 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1450 | 0.5370 | 0.3183 | model_form_blend |
| predicted_3B | 0.0170 | 0.0430 | 0.0285 | model_form_blend |
| predicted_AB | 3.9900 | 12.7230 | 7.8514 | model_form_blend |
| predicted_AVG | 0.2280 | 0.2157 | 0.2226 | model_form_blend |
| predicted_BB | 0.6970 | 2.3950 | 1.4478 | model_form_blend |
| predicted_H | 0.9100 | 2.7450 | 1.7214 | model_form_blend |
| predicted_HBP | - | 0.2320 | 0.2320 | form_only |
| predicted_HR | 0.1900 | 0.7510 | 0.4381 | model_form_blend |
| predicted_OBP | 0.3380 | 0.3471 | 0.3420 | model_form_blend |
| predicted_R | 0.7880 | 2.7970 | 1.6763 | model_form_blend |
| predicted_RBI | 0.5700 | 2.0130 | 1.2080 | model_form_blend |
| predicted_SLG | 0.4400 | 0.4418 | 0.4408 | model_form_blend |
| predicted_SO | 0.7720 | 3.1370 | 1.8177 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 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.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 | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260531_DET@CHW |
| game_type | full |
| mlbID | 678246 |
| playerID | 678246 |
| playerName | Miguel Vargas |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-05-31 |
| sl_k_percent | 17.3 |
| sl_bb_percent | 15.3 |
| sl_woba | 0.373 |
| sl_xwoba | 0.389 |
| sl_xba | 0.251 |
| sl_xslg | 0.519 |
| sl_sweet_spot_percent | 39.5 |
| sl_barrel_batted_rate | 14.8 |
| sl_hard_hit_percent | 45.7 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 20.9 |
| sl_whiff_percent | 20.0 |
| sl_swing_percent | 43.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.119 | 1.000 | 0.000 | Hitting_2B | 0.118 | 0.000 | 0.882 | 1.000 |
| predicted_3B | 0.060 | 0.000 | 0.000 | Hitting_3B | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_AB | 3.730 | 5.000 | 7.000 | Hitting_AB | 3.507 | 4.000 | 1.493 | 1.000 |
| predicted_AVG | 0.249 | 0.200 | 0.286 | Hitting_AVG | 0.259 | 0.000 | -0.059 | 0.200 |
| predicted_BB | 0.291 | 0.000 | 0.000 | Hitting_BB | 0.289 | 0.000 | -0.289 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.112 | 0.000 | -0.112 | 0.000 |
| predicted_H | 0.930 | 1.000 | 2.000 | Hitting_H | 0.908 | 0.000 | 0.092 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_OBP | 0.335 | 0.200 | 0.286 | Hitting_OBP | 0.370 | 0.000 | -0.170 | 0.200 |
| predicted_R | 0.642 | 0.000 | 1.000 | Hitting_R | 0.638 | 0.000 | -0.638 | 0.000 |
| predicted_RBI | 0.420 | 0.000 | 1.000 | Hitting_RBI | 0.388 | 0.000 | -0.388 | 0.000 |
| predicted_SLG | 0.357 | 0.400 | 0.286 | Hitting_SLG | 0.355 | 0.000 | 0.045 | 0.400 |
| predicted_SO | 0.656 | 3.000 | 1.000 | Hitting_SO | 0.651 | 0.000 | 2.349 | 3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.6560 -> 3.0000 (boost 2.3440, worse) |
| Biggest Deboost | predicted_R: 0.6420 -> 0.0000 (deboost -0.6420, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.7300 -> 6.8272 (boost 3.0972, better) | predicted_SLG: 0.3570 -> 0.3446 (deboost -0.0124, 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_R: 1.1513 -> 1.2030 (boost 0.0517, better) | predicted_OBP: 0.3359 -> 0.3071 (deboost -0.0288, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 3 | 6 | 4 | 5 | predicted_RBI: 0.7209 -> 1.0000 (boost 0.2791, better) | predicted_HBP: 0.7600 -> 0.0000 (deboost -0.7600, worse) | AB rounded to 7 (raw=6.83), rates preserved: AVG=0.258 HR/AB=0.012 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2030 -> 1.0000 (deboost -0.2030, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2585 -> 0.2860 (boost 0.0275, better) | predicted_SLG: 0.3486 -> 0.2860 (deboost -0.0626, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 2 | 4 | 1 | 5 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | predicted_AB: 7.0000 -> 5.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.2860 -> 0.3486 (boost 0.0626, better) | predicted_AVG: 0.2860 -> 0.2585 (deboost -0.0275, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "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.119,
"predicted_3B": 0.06,
"predicted_AB": 3.73,
"predicted_AVG": 0.249,
"predicted_BB": 0.291,
"predicted_H": 0.93,
"predicted_HR": 0.07,
"predicted_OBP": 0.335,
"predicted_R": 0.642,
"predicted_RBI": 0.42,
"predicted_SLG": 0.357,
"predicted_SO": 0.656
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1919,
"predicted_3B": 0.0919,
"predicted_AB": 6.8272,
"predicted_AVG": 0.2507,
"predicted_BB": 0.4766,
"predicted_H": 1.7188,
"predicted_HBP": 0.76,
"predicted_HR": 0.0783,
"predicted_OBP": 0.3359,
"predicted_R": 1.1513,
"predicted_RBI": 0.6899,
"predicted_SLG": 0.3446,
"predicted_SO": 1.3273
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.119,
"after": 0.1919,
"delta": 0.0729,
"percent_delta": 0.6126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.06,
"after": 0.0919,
"delta": 0.0319,
"percent_delta": 0.5317,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.73,
"after": 6.8272,
"delta": 3.0972,
"percent_delta": 0.8303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2507,
"delta": 0.0017,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.291,
"after": 0.4766,
"delta": 0.1856,
"percent_delta": 0.6378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 1.7188,
"delta": 0.7888,
"percent_delta": 0.8482,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0783,
"delta": 0.0083,
"percent_delta": 0.1186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3359,
"delta": 0.0009,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.642,
"after": 1.1513,
"delta": 0.5093,
"percent_delta": 0.7933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.6899,
"delta": 0.2699,
"percent_delta": 0.6426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.357,
"after": 0.3446,
"delta": -0.0124,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.656,
"after": 1.3273,
"delta": 0.6713,
"percent_delta": 1.0233,
"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.73,
"after": 6.8272,
"delta": 3.0972,
"percent_delta": 0.8303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.357,
"after": 0.3446,
"delta": -0.0124,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 41
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1919,
"predicted_3B": 0.0919,
"predicted_AB": 6.8272,
"predicted_AVG": 0.2585,
"predicted_BB": 0.4797,
"predicted_H": 1.7645,
"predicted_HBP": 0.76,
"predicted_HR": 0.08,
"predicted_OBP": 0.3071,
"predicted_R": 1.203,
"predicted_RBI": 0.7209,
"predicted_SLG": 0.3486,
"predicted_SO": 1.3188
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1919,
"after": 0.1919,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0919,
"after": 0.0919,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.8272,
"after": 6.8272,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2507,
"after": 0.2585,
"delta": 0.0078,
"percent_delta": 0.0311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4766,
"after": 0.4797,
"delta": 0.0031,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7188,
"after": 1.7645,
"delta": 0.0457,
"percent_delta": 0.0266,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.76,
"after": 0.76,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0783,
"after": 0.08,
"delta": 0.0017,
"percent_delta": 0.0217,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3359,
"after": 0.3071,
"delta": -0.0288,
"percent_delta": -0.0857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1513,
"after": 1.203,
"delta": 0.0517,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6899,
"after": 0.7209,
"delta": 0.031,
"percent_delta": 0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3446,
"after": 0.3486,
"delta": 0.004,
"percent_delta": 0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.3273,
"after": 1.3188,
"delta": -0.0085,
"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_R",
"before": 1.1513,
"after": 1.203,
"delta": 0.0517,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3359,
"after": 0.3071,
"delta": -0.0288,
"percent_delta": -0.0857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.83), rates preserved: AVG=0.258 HR/AB=0.012",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1919,
"after": 0.0,
"delta": -0.1919,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0919,
"after": 0.0,
"delta": -0.0919,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.8272,
"after": 7.0,
"delta": 0.1728,
"percent_delta": 0.0253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4797,
"after": 0.0,
"delta": -0.4797,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7645,
"after": 2.0,
"delta": 0.2355,
"percent_delta": 0.1335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.76,
"after": 0.0,
"delta": -0.76,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7209,
"after": 1.0,
"delta": 0.2791,
"percent_delta": 0.3872,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3188,
"after": 1.0,
"delta": -0.3188,
"percent_delta": -0.2417,
"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_RBI",
"before": 0.7209,
"after": 1.0,
"delta": 0.2791,
"percent_delta": 0.3872,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.76,
"after": 0.0,
"delta": -0.76,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.203,
"after": 1.0,
"delta": -0.203,
"percent_delta": -0.1687,
"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.203,
"after": 1.0,
"delta": -0.203,
"percent_delta": -0.1687,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2585,
"after": 0.286,
"delta": 0.0275,
"percent_delta": 0.1064,
"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.3071,
"after": 0.286,
"delta": -0.0211,
"percent_delta": -0.0687,
"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.3486,
"after": 0.286,
"delta": -0.0626,
"percent_delta": -0.1796,
"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.2585,
"after": 0.286,
"delta": 0.0275,
"percent_delta": 0.1064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3486,
"after": 0.286,
"delta": -0.0626,
"percent_delta": -0.1796,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 5.0,
"delta": -2.0,
"percent_delta": -0.2857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2585,
"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.3071,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3486,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2585,
"delta": -0.0275,
"percent_delta": -0.0963,
"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.3071,
"delta": 0.0211,
"percent_delta": 0.0739,
"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.3486,
"delta": 0.0626,
"percent_delta": 0.219,
"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.286,
"after": 0.3486,
"delta": 0.0626,
"percent_delta": 0.219,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2585,
"delta": -0.0275,
"percent_delta": -0.0963,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.119,
"after": 1.0,
"delta": 0.881,
"percent_delta": 7.4034,
"direction": "boost",
"projection_effect": "better",
"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": 3.73,
"after": 5.0,
"delta": 1.27,
"percent_delta": 0.3405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2585,
"delta": 0.0095,
"percent_delta": 0.0382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.291,
"after": 0.0,
"delta": -0.291,
"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.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3071,
"delta": -0.0279,
"percent_delta": -0.0833,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.642,
"after": 0.0,
"delta": -0.642,
"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.357,
"after": 0.3486,
"delta": -0.0084,
"percent_delta": -0.0235,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.656,
"after": 3.0,
"delta": 2.344,
"percent_delta": 3.5732,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 5,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.656,
"after": 3.0,
"delta": 2.344,
"percent_delta": 3.5732,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.642,
"after": 0.0,
"delta": -0.642,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.119 | - |
| predicted_3B | 0.060 | - |
| predicted_AB | 3.730 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.291 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.335 | - |
| predicted_R | 0.642 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.357 | - |
| predicted_SO | 0.656 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.192 | 0.073 |
| predicted_3B | 0.092 | 0.032 |
| predicted_AB | 6.827 | 3.097 |
| predicted_AVG | 0.251 | 0.002 |
| predicted_BB | 0.477 | 0.186 |
| predicted_H | 1.719 | 0.789 |
| predicted_HBP | 0.760 | - |
| predicted_HR | 0.078 | 0.008 |
| predicted_OBP | 0.336 | 0.001 |
| predicted_R | 1.151 | 0.509 |
| predicted_RBI | 0.690 | 0.270 |
| predicted_SLG | 0.345 | -0.012 |
| predicted_SO | 1.327 | 0.671 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.192 | 0.000 |
| predicted_3B | 0.092 | 0.000 |
| predicted_AB | 6.827 | 0.000 |
| predicted_AVG | 0.259 | 0.008 |
| predicted_BB | 0.480 | 0.003 |
| predicted_H | 1.764 | 0.046 |
| predicted_HBP | 0.760 | 0.000 |
| predicted_HR | 0.080 | 0.002 |
| predicted_OBP | 0.307 | -0.029 |
| predicted_R | 1.203 | 0.052 |
| predicted_RBI | 0.721 | 0.031 |
| predicted_SLG | 0.349 | 0.004 |
| predicted_SO | 1.319 | -0.008 |
AB rounded to 7 (raw=6.83), rates preserved: AVG=0.258 HR/AB=0.012
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 0.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.192 |
| predicted_3B | 0.000 | -0.092 |
| predicted_AB | 7.000 | 0.173 |
| predicted_AVG | 0.286 | 0.027 |
| predicted_BB | 0.000 | -0.480 |
| predicted_H | 2.000 | 0.236 |
| predicted_HR | 0.000 | -0.080 |
| predicted_OBP | 0.286 | -0.021 |
| predicted_R | 1.000 | -0.203 |
| predicted_RBI | 1.000 | 0.279 |
| predicted_SLG | 0.286 | -0.063 |
| predicted_SO | 1.000 | -0.319 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | -2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 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 | 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 | 4 | - | 20.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 5.000 | 0.2000 | 0.2000 | 0.2000 | 0.2000 | 0.0000 | 0.0000 | 0.0000 | 0.2500 |
| last_10 | 0.20 | 5 | - | 40.000 | 15.000 | 0.000 | 0.000 | 0.000 | 9.000 | 10.000 | 3.000 | 10.000 | 0.3750 | 0.4186 | 0.3750 | 0.3750 | 0.0000 | 0.2250 | 0.0750 | 0.2500 |
| season | 0.60 | 41 | - | 533.000 | 138.000 | 18.000 | 9.000 | 5.000 | 59.000 | 97.000 | 44.000 | 99.000 | 0.2589 | 0.3697 | 0.3546 | 0.2589 | 0.0094 | 0.1107 | 0.0825 | 0.1857 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2860 |
| predicted_3B | 0.1330 |
| predicted_AB | 10.8210 |
| predicted_AVG | 0.2528 |
| predicted_BB | 0.7160 |
| predicted_H | 2.7360 |
| predicted_HBP | 0.7600 |
| predicted_HR | 0.0890 |
| predicted_OBP | 0.3371 |
| predicted_R | 1.8080 |
| predicted_RBI | 1.0380 |
| predicted_SLG | 0.3285 |
| predicted_SO | 2.1930 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1190 | 0.2860 | 0.1919 | model_form_blend |
| predicted_3B | 0.0600 | 0.1330 | 0.0919 | model_form_blend |
| predicted_AB | 3.7300 | 10.8210 | 6.8272 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2528 | 0.2507 | model_form_blend |
| predicted_BB | 0.2910 | 0.7160 | 0.4766 | model_form_blend |
| predicted_H | 0.9300 | 2.7360 | 1.7188 | model_form_blend |
| predicted_HBP | - | 0.7600 | 0.7600 | form_only |
| predicted_HR | 0.0700 | 0.0890 | 0.0783 | model_form_blend |
| predicted_OBP | 0.3350 | 0.3371 | 0.3359 | model_form_blend |
| predicted_R | 0.6420 | 1.8080 | 1.1513 | model_form_blend |
| predicted_RBI | 0.4200 | 1.0380 | 0.6899 | model_form_blend |
| predicted_SLG | 0.3570 | 0.3285 | 0.3446 | model_form_blend |
| predicted_SO | 0.6560 | 2.1930 | 1.3273 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 5 |
| AB | 5 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260531_DET@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-31 |
| sl_k_percent | 15.8 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.344 |
| sl_xwoba | 0.372 |
| sl_xba | 0.309 |
| sl_xslg | 0.43 |
| sl_sweet_spot_percent | 40.2 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 35.7 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 11.4 |
| sl_whiff_percent | 16.9 |
| sl_swing_percent | 40.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.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 | 3.920 | 3.000 | 8.000 | Hitting_AB | 3.767 | 3.000 | -0.767 | 0.000 |
| predicted_AVG | 0.241 | 0.333 | 0.250 | Hitting_AVG | 0.238 | 0.333 | 0.095 | 0.000 |
| predicted_BB | 0.379 | 1.000 | 1.000 | Hitting_BB | 0.379 | 0.000 | 0.621 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 0.940 | 1.000 | 2.000 | Hitting_H | 0.897 | 1.000 | 0.103 | 0.000 |
| predicted_HR | 0.220 | 1.000 | 1.000 | Hitting_HR | 0.254 | 1.000 | 0.746 | 0.000 |
| predicted_OBP | 0.334 | 0.500 | 0.333 | Hitting_OBP | 0.333 | 0.333 | 0.167 | 0.167 |
| predicted_R | 0.513 | 1.000 | 1.000 | Hitting_R | 0.513 | 1.000 | 0.487 | 0.000 |
| predicted_RBI | 0.580 | 1.000 | 1.000 | Hitting_RBI | 0.664 | 1.000 | 0.336 | 0.000 |
| predicted_SLG | 0.480 | 1.333 | 0.625 | Hitting_SLG | 0.494 | 1.333 | 0.839 | 0.000 |
| predicted_SO | 1.276 | 1.000 | 2.000 | Hitting_SO | 1.276 | 1.000 | -0.276 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 3 |
| Better Metrics | 8 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_HR: 0.2200 -> 1.0000 (boost 0.7800, better) |
| Biggest Deboost | predicted_AB: 3.9200 -> 3.0000 (deboost -0.9200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.9200 -> 7.6441 (boost 3.7241, 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.3380 -> 1.3981 (boost 0.0601, better) | predicted_OBP: 0.3430 -> 0.3334 (deboost -0.0096, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 4 | 4 | predicted_HR: 0.5383 -> 1.0000 (boost 0.4617, better) | predicted_2B: 0.4193 -> 0.0000 (deboost -0.4193, worse) | AB rounded to 8 (raw=7.64), rates preserved: AVG=0.273 HR/AB=0.070 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1924 -> 1.0000 (deboost -0.1924, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.5391 -> 0.6250 (boost 0.0859, better) | predicted_AVG: 0.2729 -> 0.2500 (deboost -0.0229, 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: 8.0000 -> 3.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2500 -> 0.2729 (boost 0.0229, better) | predicted_SLG: 0.6250 -> 0.5391 (deboost -0.0859, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695657",
"player_name": "Colson Montgomery",
"position": "SS",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.203,
"predicted_3B": 0.0,
"predicted_AB": 3.92,
"predicted_AVG": 0.241,
"predicted_BB": 0.379,
"predicted_H": 0.94,
"predicted_HR": 0.22,
"predicted_OBP": 0.334,
"predicted_R": 0.513,
"predicted_RBI": 0.58,
"predicted_SLG": 0.48,
"predicted_SO": 1.276
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4193,
"predicted_3B": 0.0004,
"predicted_AB": 7.6441,
"predicted_AVG": 0.2565,
"predicted_BB": 0.6893,
"predicted_H": 2.0317,
"predicted_HBP": 0.384,
"predicted_HR": 0.5268,
"predicted_OBP": 0.343,
"predicted_R": 1.1412,
"predicted_RBI": 1.338,
"predicted_SLG": 0.513,
"predicted_SO": 2.3863
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.4193,
"delta": 0.2163,
"percent_delta": 1.0655,
"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.92,
"after": 7.6441,
"delta": 3.7241,
"percent_delta": 0.95,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2565,
"delta": 0.0155,
"percent_delta": 0.0643,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.379,
"after": 0.6893,
"delta": 0.3103,
"percent_delta": 0.8187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 2.0317,
"delta": 1.0917,
"percent_delta": 1.1614,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.5268,
"delta": 0.3068,
"percent_delta": 1.3945,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.343,
"delta": 0.009,
"percent_delta": 0.0269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.513,
"after": 1.1412,
"delta": 0.6282,
"percent_delta": 1.2246,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 1.338,
"delta": 0.758,
"percent_delta": 1.3069,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.513,
"delta": 0.033,
"percent_delta": 0.0688,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.276,
"after": 2.3863,
"delta": 1.1103,
"percent_delta": 0.8701,
"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.92,
"after": 7.6441,
"delta": 3.7241,
"percent_delta": 0.95,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 58
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.4193,
"predicted_3B": 0.0004,
"predicted_AB": 7.6441,
"predicted_AVG": 0.2729,
"predicted_BB": 0.6937,
"predicted_H": 2.0857,
"predicted_HBP": 0.384,
"predicted_HR": 0.5383,
"predicted_OBP": 0.3334,
"predicted_R": 1.1924,
"predicted_RBI": 1.3981,
"predicted_SLG": 0.5391,
"predicted_SO": 2.371
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4193,
"after": 0.4193,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.6441,
"after": 7.6441,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2565,
"after": 0.2729,
"delta": 0.0164,
"percent_delta": 0.0639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6893,
"after": 0.6937,
"delta": 0.0044,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0317,
"after": 2.0857,
"delta": 0.054,
"percent_delta": 0.0266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.384,
"after": 0.384,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.5268,
"after": 0.5383,
"delta": 0.0115,
"percent_delta": 0.0218,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3334,
"delta": -0.0096,
"percent_delta": -0.028,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1412,
"after": 1.1924,
"delta": 0.0512,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.338,
"after": 1.3981,
"delta": 0.0601,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.513,
"after": 0.5391,
"delta": 0.0261,
"percent_delta": 0.0509,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.3863,
"after": 2.371,
"delta": -0.0153,
"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_RBI",
"before": 1.338,
"after": 1.3981,
"delta": 0.0601,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3334,
"delta": -0.0096,
"percent_delta": -0.028,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.64), rates preserved: AVG=0.273 HR/AB=0.070",
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4193,
"after": 0.0,
"delta": -0.4193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.6441,
"after": 8.0,
"delta": 0.3559,
"percent_delta": 0.0466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6937,
"after": 1.0,
"delta": 0.3063,
"percent_delta": 0.4415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0857,
"after": 2.0,
"delta": -0.0857,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.384,
"after": 0.0,
"delta": -0.384,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.5383,
"after": 1.0,
"delta": 0.4617,
"percent_delta": 0.8577,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3981,
"after": 1.0,
"delta": -0.3981,
"percent_delta": -0.2847,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.371,
"after": 2.0,
"delta": -0.371,
"percent_delta": -0.1565,
"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.5383,
"after": 1.0,
"delta": 0.4617,
"percent_delta": 0.8577,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4193,
"after": 0.0,
"delta": -0.4193,
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.1924,
"after": 1.0,
"delta": -0.1924,
"percent_delta": -0.1614,
"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.1924,
"after": 1.0,
"delta": -0.1924,
"percent_delta": -0.1614,
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2729,
"after": 0.25,
"delta": -0.0229,
"percent_delta": -0.0839,
"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.3334,
"after": 0.333,
"delta": -0.0004,
"percent_delta": -0.0012,
"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.5391,
"after": 0.625,
"delta": 0.0859,
"percent_delta": 0.1593,
"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.5391,
"after": 0.625,
"delta": 0.0859,
"percent_delta": 0.1593,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2729,
"after": 0.25,
"delta": -0.0229,
"percent_delta": -0.0839,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"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": 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.2729,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3334,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5391,
"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.25,
"after": 0.2729,
"delta": 0.0229,
"percent_delta": 0.0914,
"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.333,
"after": 0.3334,
"delta": 0.0004,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.5391,
"delta": -0.0859,
"percent_delta": -0.1375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2729,
"delta": 0.0229,
"percent_delta": 0.0914,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.625,
"after": 0.5391,
"delta": -0.0859,
"percent_delta": -0.1375,
"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": 3.92,
"after": 3.0,
"delta": -0.92,
"percent_delta": -0.2347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2729,
"delta": 0.0319,
"percent_delta": 0.1324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.379,
"after": 1.0,
"delta": 0.621,
"percent_delta": 1.6385,
"direction": "boost",
"projection_effect": "better",
"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.22,
"after": 1.0,
"delta": 0.78,
"percent_delta": 3.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.3334,
"delta": -0.0006,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.513,
"after": 1.0,
"delta": 0.487,
"percent_delta": 0.9493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 1.0,
"delta": 0.42,
"percent_delta": 0.7241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.5391,
"delta": 0.0591,
"percent_delta": 0.1231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.276,
"after": 1.0,
"delta": -0.276,
"percent_delta": -0.2163,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 7,
"deboosted_metrics": 3,
"better_metrics": 8,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.22,
"after": 1.0,
"delta": 0.78,
"percent_delta": 3.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.92,
"after": 3.0,
"delta": -0.92,
"percent_delta": -0.2347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "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 | 3.920 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.379 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.334 | - |
| predicted_R | 0.513 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.480 | - |
| predicted_SO | 1.276 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.419 | 0.216 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.644 | 3.724 |
| predicted_AVG | 0.257 | 0.016 |
| predicted_BB | 0.689 | 0.310 |
| predicted_H | 2.032 | 1.092 |
| predicted_HBP | 0.384 | - |
| predicted_HR | 0.527 | 0.307 |
| predicted_OBP | 0.343 | 0.009 |
| predicted_R | 1.141 | 0.628 |
| predicted_RBI | 1.338 | 0.758 |
| predicted_SLG | 0.513 | 0.033 |
| predicted_SO | 2.386 | 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.419 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.644 | 0.000 |
| predicted_AVG | 0.273 | 0.016 |
| predicted_BB | 0.694 | 0.004 |
| predicted_H | 2.086 | 0.054 |
| predicted_HBP | 0.384 | 0.000 |
| predicted_HR | 0.538 | 0.011 |
| predicted_OBP | 0.333 | -0.010 |
| predicted_R | 1.192 | 0.051 |
| predicted_RBI | 1.398 | 0.060 |
| predicted_SLG | 0.539 | 0.026 |
| predicted_SO | 2.371 | -0.015 |
AB rounded to 8 (raw=7.64), rates preserved: AVG=0.273 HR/AB=0.070
| 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 | 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 | 1.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.419 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 8.000 | 0.356 |
| predicted_AVG | 0.250 | -0.023 |
| predicted_BB | 1.000 | 0.306 |
| predicted_H | 2.000 | -0.086 |
| predicted_HR | 1.000 | 0.462 |
| predicted_OBP | 0.333 | -0.000 |
| predicted_R | 1.000 | -0.192 |
| predicted_RBI | 1.000 | -0.398 |
| predicted_SLG | 0.625 | 0.086 |
| predicted_SO | 2.000 | -0.371 |
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 | 1.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 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 18.000 | 7.000 | 1.000 | 0.000 | 2.000 | 4.000 | 4.000 | 1.000 | 4.000 | 0.3889 | 0.4211 | 0.7778 | 0.3889 | 0.1111 | 0.2222 | 0.0556 | 0.2222 |
| last_10 | 0.20 | 5 | - | 41.000 | 17.000 | 4.000 | 0.000 | 2.000 | 9.000 | 9.000 | 1.000 | 9.000 | 0.4146 | 0.4286 | 0.6585 | 0.4146 | 0.0488 | 0.2195 | 0.0244 | 0.2195 |
| season | 0.60 | 58 | - | 874.000 | 208.000 | 47.000 | 0.000 | 59.000 | 154.000 | 119.000 | 88.000 | 296.000 | 0.2380 | 0.3333 | 0.4943 | 0.2380 | 0.0675 | 0.1762 | 0.1007 | 0.3387 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6930 |
| predicted_3B | 0.0010 |
| predicted_AB | 12.3560 |
| predicted_AVG | 0.2762 |
| predicted_BB | 1.0820 |
| predicted_H | 3.4130 |
| predicted_HBP | 0.3840 |
| predicted_HR | 0.9150 |
| predicted_OBP | 0.3544 |
| predicted_R | 1.9360 |
| predicted_RBI | 2.2970 |
| predicted_SLG | 0.5548 |
| predicted_SO | 3.7910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2030 | 0.6930 | 0.4193 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9200 | 12.3560 | 7.6441 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2762 | 0.2565 | model_form_blend |
| predicted_BB | 0.3790 | 1.0820 | 0.6893 | model_form_blend |
| predicted_H | 0.9400 | 3.4130 | 2.0317 | model_form_blend |
| predicted_HBP | - | 0.3840 | 0.3840 | form_only |
| predicted_HR | 0.2200 | 0.9150 | 0.5268 | model_form_blend |
| predicted_OBP | 0.3340 | 0.3544 | 0.3430 | model_form_blend |
| predicted_R | 0.5130 | 1.9360 | 1.1412 | model_form_blend |
| predicted_RBI | 0.5800 | 2.2970 | 1.3380 | model_form_blend |
| predicted_SLG | 0.4800 | 0.5548 | 0.5130 | model_form_blend |
| predicted_SO | 1.2760 | 3.7910 | 2.3863 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 232 |
| Season rows before report date | 232 |
| Report year | 2026 |
| Profile rows used | 232 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.238 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 1 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260531_DET@CHW |
| game_type | full |
| mlbID | 695657 |
| playerID | 695657 |
| playerName | Colson Montgomery |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | CHW |
| teamID | 6 |
| game_date | 2026-05-31 |
| sl_k_percent | 29.2 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.354 |
| sl_xwoba | 0.331 |
| sl_xba | 0.22 |
| sl_xslg | 0.451 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 14.3 |
| sl_hard_hit_percent | 44.3 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 20.0 |
| sl_whiff_percent | 37.6 |
| sl_swing_percent | 51.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.213 | 0.000 | 0.000 | Hitting_2B | 0.213 | 0.000 | -0.213 | 0.000 |
| predicted_3B | 0.046 | 0.000 | 0.000 | Hitting_3B | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_AB | 3.707 | 4.000 | 7.000 | Hitting_AB | 3.707 | 3.000 | 0.293 | 1.000 |
| predicted_AVG | 0.234 | 0.250 | 0.286 | Hitting_AVG | 0.250 | 0.000 | 0.000 | 0.250 |
| predicted_BB | 0.230 | 0.000 | 0.000 | Hitting_BB | 0.230 | 0.000 | -0.230 | 0.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.925 | 0.000 | 0.075 | 1.000 |
| predicted_HR | 0.120 | 1.000 | 0.000 | Hitting_HR | 0.086 | 0.000 | 0.914 | 1.000 |
| predicted_OBP | 0.282 | 0.250 | 0.286 | Hitting_OBP | 0.288 | 0.000 | -0.038 | 0.250 |
| predicted_R | 0.448 | 1.000 | 1.000 | Hitting_R | 0.448 | 0.000 | 0.552 | 1.000 |
| predicted_RBI | 0.480 | 2.000 | 1.000 | Hitting_RBI | 0.580 | 0.000 | 1.420 | 2.000 |
| predicted_SLG | 0.390 | 1.000 | 0.286 | Hitting_SLG | 0.402 | 0.000 | 0.598 | 1.000 |
| predicted_SO | 1.080 | 0.000 | 2.000 | Hitting_SO | 1.080 | 0.000 | -1.080 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 3 |
| Better Metrics | 9 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_RBI: 0.4800 -> 2.0000 (boost 1.5200, better) |
| Biggest Deboost | predicted_SO: 1.0800 -> 0.0000 (deboost -1.0800, 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.7070 -> 6.5421 (boost 2.8351, 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.4063 -> 0.4271 (boost 0.0208, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 6.5421 -> 7.0000 (boost 0.4579, better) | predicted_BB: 0.4047 -> 0.0000 (deboost -0.4047, worse) | AB rounded to 7 (raw=6.54), rates preserved: AVG=0.253 HR/AB=0.032 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=22.0, weight=0.169, BvP AVG=0.409) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8795 -> 1.0000 (boost 0.1205, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2528 -> 0.2860 (boost 0.0332, better) | predicted_SLG: 0.4271 -> 0.2860 (deboost -0.1411, 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_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2860 -> 0.4271 (boost 0.1411, better) | predicted_AVG: 0.2860 -> 0.2528 (deboost -0.0332, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "643217",
"player_name": "Andrew Benintendi",
"position": "DH",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.213,
"predicted_3B": 0.046,
"predicted_AB": 3.707,
"predicted_AVG": 0.234,
"predicted_BB": 0.23,
"predicted_H": 0.82,
"predicted_HR": 0.12,
"predicted_OBP": 0.282,
"predicted_R": 0.448,
"predicted_RBI": 0.48,
"predicted_SLG": 0.39,
"predicted_SO": 1.08
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.372,
"predicted_3B": 0.0661,
"predicted_AB": 6.5421,
"predicted_AVG": 0.2445,
"predicted_BB": 0.4021,
"predicted_H": 1.6109,
"predicted_HBP": 0.004,
"predicted_HR": 0.2076,
"predicted_OBP": 0.2887,
"predicted_R": 0.8417,
"predicted_RBI": 0.9149,
"predicted_SLG": 0.4063,
"predicted_SO": 1.7255
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.213,
"after": 0.372,
"delta": 0.159,
"percent_delta": 0.7465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.046,
"after": 0.0661,
"delta": 0.0201,
"percent_delta": 0.437,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.707,
"after": 6.5421,
"delta": 2.8351,
"percent_delta": 0.7648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2445,
"delta": 0.0105,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.23,
"after": 0.4021,
"delta": 0.1721,
"percent_delta": 0.7483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 1.6109,
"delta": 0.7909,
"percent_delta": 0.9645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.2076,
"delta": 0.0876,
"percent_delta": 0.73,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.2887,
"delta": 0.0067,
"percent_delta": 0.0238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.448,
"after": 0.8417,
"delta": 0.3937,
"percent_delta": 0.8788,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.9149,
"delta": 0.4349,
"percent_delta": 0.906,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.4063,
"delta": 0.0163,
"percent_delta": 0.0418,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.08,
"after": 1.7255,
"delta": 0.6455,
"percent_delta": 0.5977,
"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.707,
"after": 6.5421,
"delta": 2.8351,
"percent_delta": 0.7648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.372,
"predicted_3B": 0.0661,
"predicted_AB": 6.5421,
"predicted_AVG": 0.2528,
"predicted_BB": 0.4047,
"predicted_H": 1.6537,
"predicted_HBP": 0.004,
"predicted_HR": 0.2121,
"predicted_OBP": 0.2963,
"predicted_R": 0.8795,
"predicted_RBI": 0.956,
"predicted_SLG": 0.4271,
"predicted_SO": 1.7145
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.372,
"after": 0.372,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0661,
"after": 0.0661,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.5421,
"after": 6.5421,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2445,
"after": 0.2528,
"delta": 0.0083,
"percent_delta": 0.0339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4021,
"after": 0.4047,
"delta": 0.0026,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.6109,
"after": 1.6537,
"delta": 0.0428,
"percent_delta": 0.0266,
"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.2076,
"after": 0.2121,
"delta": 0.0045,
"percent_delta": 0.0217,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2887,
"after": 0.2963,
"delta": 0.0076,
"percent_delta": 0.0263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8417,
"after": 0.8795,
"delta": 0.0378,
"percent_delta": 0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9149,
"after": 0.956,
"delta": 0.0411,
"percent_delta": 0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4063,
"after": 0.4271,
"delta": 0.0208,
"percent_delta": 0.0512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7255,
"after": 1.7145,
"delta": -0.011,
"percent_delta": -0.0064,
"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.4063,
"after": 0.4271,
"delta": 0.0208,
"percent_delta": 0.0512,
"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.54), rates preserved: AVG=0.253 HR/AB=0.032",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.372,
"after": 0.0,
"delta": -0.372,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0661,
"after": 0.0,
"delta": -0.0661,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.5421,
"after": 7.0,
"delta": 0.4579,
"percent_delta": 0.07,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4047,
"after": 0.0,
"delta": -0.4047,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6537,
"after": 2.0,
"delta": 0.3463,
"percent_delta": 0.2094,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.0,
"delta": -0.004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2121,
"after": 0.0,
"delta": -0.2121,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.956,
"after": 1.0,
"delta": 0.044,
"percent_delta": 0.046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.7145,
"after": 2.0,
"delta": 0.2855,
"percent_delta": 0.1665,
"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.5421,
"after": 7.0,
"delta": 0.4579,
"percent_delta": 0.07,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4047,
"after": 0.0,
"delta": -0.4047,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=22.0, weight=0.169, BvP AVG=0.409)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8308,
"bvp": 0.1692
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8795,
"after": 1.0,
"delta": 0.1205,
"percent_delta": 0.137,
"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.8795,
"after": 1.0,
"delta": 0.1205,
"percent_delta": 0.137,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2528,
"after": 0.286,
"delta": 0.0332,
"percent_delta": 0.1313,
"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.2963,
"after": 0.286,
"delta": -0.0103,
"percent_delta": -0.0348,
"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.4271,
"after": 0.286,
"delta": -0.1411,
"percent_delta": -0.3304,
"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.2528,
"after": 0.286,
"delta": 0.0332,
"percent_delta": 0.1313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4271,
"after": 0.286,
"delta": -0.1411,
"percent_delta": -0.3304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 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": 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.2528,
"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.2963,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4271,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2528,
"delta": -0.0332,
"percent_delta": -0.1161,
"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.286,
"after": 0.2963,
"delta": 0.0103,
"percent_delta": 0.0361,
"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.4271,
"delta": 0.1411,
"percent_delta": 0.4935,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.286,
"after": 0.4271,
"delta": 0.1411,
"percent_delta": 0.4935,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2528,
"delta": -0.0332,
"percent_delta": -0.1161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.213,
"after": 0.0,
"delta": -0.213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.046,
"after": 0.0,
"delta": -0.046,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.707,
"after": 4.0,
"delta": 0.293,
"percent_delta": 0.079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2528,
"delta": 0.0188,
"percent_delta": 0.0803,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"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": 1.0,
"delta": 0.88,
"percent_delta": 7.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.2963,
"delta": 0.0143,
"percent_delta": 0.0507,
"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.48,
"after": 2.0,
"delta": 1.52,
"percent_delta": 3.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.4271,
"delta": 0.0371,
"percent_delta": 0.0951,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.08,
"after": 0.0,
"delta": -1.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 9,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.48,
"after": 2.0,
"delta": 1.52,
"percent_delta": 3.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.08,
"after": 0.0,
"delta": -1.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.213 | - |
| predicted_3B | 0.046 | - |
| predicted_AB | 3.707 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.230 | - |
| predicted_H | 0.820 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.282 | - |
| predicted_R | 0.448 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.390 | - |
| predicted_SO | 1.080 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.159 |
| predicted_3B | 0.066 | 0.020 |
| predicted_AB | 6.542 | 2.835 |
| predicted_AVG | 0.244 | 0.010 |
| predicted_BB | 0.402 | 0.172 |
| predicted_H | 1.611 | 0.791 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.208 | 0.088 |
| predicted_OBP | 0.289 | 0.007 |
| predicted_R | 0.842 | 0.394 |
| predicted_RBI | 0.915 | 0.435 |
| predicted_SLG | 0.406 | 0.016 |
| predicted_SO | 1.726 | 0.645 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.372 | 0.000 |
| predicted_3B | 0.066 | 0.000 |
| predicted_AB | 6.542 | 0.000 |
| predicted_AVG | 0.253 | 0.008 |
| predicted_BB | 0.405 | 0.003 |
| predicted_H | 1.654 | 0.043 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.212 | 0.005 |
| predicted_OBP | 0.296 | 0.008 |
| predicted_R | 0.879 | 0.038 |
| predicted_RBI | 0.956 | 0.041 |
| predicted_SLG | 0.427 | 0.021 |
| predicted_SO | 1.714 | -0.011 |
AB rounded to 7 (raw=6.54), rates preserved: AVG=0.253 HR/AB=0.032
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 0.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=22.0, weight=0.169, BvP AVG=0.409)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.372 |
| predicted_3B | 0.000 | -0.066 |
| predicted_AB | 7.000 | 0.458 |
| predicted_AVG | 0.286 | 0.033 |
| predicted_BB | 0.000 | -0.405 |
| predicted_H | 2.000 | 0.346 |
| predicted_HR | 0.000 | -0.212 |
| predicted_OBP | 0.286 | -0.010 |
| predicted_R | 1.000 | 0.121 |
| predicted_RBI | 1.000 | 0.044 |
| predicted_SLG | 0.286 | -0.141 |
| predicted_SO | 2.000 | 0.286 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 16.000 | 5.000 | 1.000 | 0.000 | 1.000 | 2.000 | 3.000 | 1.000 | 2.000 | 0.3125 | 0.3529 | 0.5625 | 0.3125 | 0.0625 | 0.1250 | 0.0625 | 0.1250 |
| last_10 | 0.20 | 5 | - | 35.000 | 6.000 | 1.000 | 0.000 | 1.000 | 2.000 | 3.000 | 1.000 | 6.000 | 0.1714 | 0.1944 | 0.2857 | 0.1714 | 0.0286 | 0.0571 | 0.0286 | 0.1714 |
| season | 0.60 | 52 | - | 645.000 | 161.000 | 37.000 | 8.000 | 15.000 | 101.000 | 78.000 | 40.000 | 188.000 | 0.2496 | 0.2884 | 0.4016 | 0.2496 | 0.0233 | 0.1566 | 0.0620 | 0.2915 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5760 |
| predicted_3B | 0.0920 |
| predicted_AB | 10.1810 |
| predicted_AVG | 0.2579 |
| predicted_BB | 0.6230 |
| predicted_H | 2.6260 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.3200 |
| predicted_OBP | 0.2973 |
| predicted_R | 1.3470 |
| predicted_RBI | 1.4730 |
| predicted_SLG | 0.4272 |
| predicted_SO | 2.5540 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2130 | 0.5760 | 0.3720 | model_form_blend |
| predicted_3B | 0.0460 | 0.0920 | 0.0661 | model_form_blend |
| predicted_AB | 3.7070 | 10.1810 | 6.5421 | model_form_blend |
| predicted_AVG | 0.2340 | 0.2579 | 0.2445 | model_form_blend |
| predicted_BB | 0.2300 | 0.6230 | 0.4021 | model_form_blend |
| predicted_H | 0.8200 | 2.6260 | 1.6109 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.1200 | 0.3200 | 0.2076 | model_form_blend |
| predicted_OBP | 0.2820 | 0.2973 | 0.2887 | model_form_blend |
| predicted_R | 0.4480 | 1.3470 | 0.8417 | model_form_blend |
| predicted_RBI | 0.4800 | 1.4730 | 0.9149 | model_form_blend |
| predicted_SLG | 0.3900 | 0.4272 | 0.4063 | model_form_blend |
| predicted_SO | 1.0800 | 2.5540 | 1.7255 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 174 |
| Season rows before report date | 174 |
| Report year | 2026 |
| Profile rows used | 174 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.25 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260531_DET@CHW |
| game_type | full |
| mlbID | 643217 |
| playerID | 643217 |
| playerName | Andrew Benintendi |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | CHW |
| teamID | 6 |
| game_date | 2026-05-31 |
| sl_k_percent | 28.2 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.294 |
| sl_xwoba | 0.311 |
| sl_xba | 0.246 |
| sl_xslg | 0.422 |
| sl_sweet_spot_percent | 39.8 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 47.5 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 18.8 |
| sl_whiff_percent | 29.9 |
| sl_swing_percent | 52.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.173 | 0.000 | 0.000 | Hitting_2B | 0.172 | 0.000 | -0.172 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.861 | 2.000 | 8.000 | Hitting_AB | 3.845 | 3.000 | -1.845 | -1.000 |
| predicted_AVG | 0.242 | 0.000 | 0.250 | Hitting_AVG | 0.263 | 0.333 | -0.263 | -0.333 |
| predicted_BB | 0.446 | 1.000 | 1.000 | Hitting_BB | 0.448 | 0.000 | 0.552 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_H | 0.930 | 0.000 | 2.000 | Hitting_H | 1.013 | 1.000 | -1.013 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.103 | 0.000 | -0.103 | 0.000 |
| predicted_OBP | 0.324 | 0.500 | 0.333 | Hitting_OBP | 0.337 | 0.333 | 0.163 | 0.167 |
| predicted_R | 0.671 | 0.000 | 2.000 | Hitting_R | 0.668 | 1.000 | -0.668 | -1.000 |
| predicted_RBI | 0.470 | 0.000 | 1.000 | Hitting_RBI | 0.371 | 0.000 | -0.371 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_SLG | 0.402 | 0.000 | 0.250 | Hitting_SLG | 0.389 | 0.333 | -0.389 | -0.333 |
| predicted_SO | 0.965 | 0.000 | 2.000 | Hitting_SO | 0.961 | 1.000 | -0.961 | -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.4460 -> 1.0000 (boost 0.5540, better) |
| Biggest Deboost | predicted_AB: 3.8610 -> 2.0000 (deboost -1.8610, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.8610 -> 7.8461 (boost 3.9851, better) | predicted_SLG: 0.4020 -> 0.3890 (deboost -0.0130, 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 | 4 | 1 | 4 | 1 | predicted_R: 1.4450 -> 1.5099 (boost 0.0649, better) | predicted_SLG: 0.3890 -> 0.3823 (deboost -0.0067, 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_RBI: 0.7786 -> 1.0000 (boost 0.2214, better) | predicted_2B: 0.4357 -> 0.0000 (deboost -0.4357, worse) | AB rounded to 8 (raw=7.85), rates preserved: AVG=0.249 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.5099 -> 2.0000 (boost 0.4901, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3823 -> 0.2500 (deboost -0.1323, 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: 8.0000 -> 2.0000 (deboost -6.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.2500 -> 0.3823 (boost 0.1323, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805367",
"player_name": "Chase Meidroth",
"position": "2B",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.173,
"predicted_3B": 0.0,
"predicted_AB": 3.861,
"predicted_AVG": 0.242,
"predicted_BB": 0.446,
"predicted_H": 0.93,
"predicted_HR": 0.12,
"predicted_OBP": 0.324,
"predicted_R": 0.671,
"predicted_RBI": 0.47,
"predicted_SLG": 0.402,
"predicted_SO": 0.965
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4357,
"predicted_3B": 0.0004,
"predicted_AB": 7.8461,
"predicted_AVG": 0.2424,
"predicted_BB": 0.9242,
"predicted_H": 1.9009,
"predicted_HBP": 0.003,
"predicted_HR": 0.1995,
"predicted_OBP": 0.3228,
"predicted_R": 1.445,
"predicted_RBI": 0.7451,
"predicted_SLG": 0.389,
"predicted_SO": 1.8525
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.173,
"after": 0.4357,
"delta": 0.2627,
"percent_delta": 1.5185,
"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.861,
"after": 7.8461,
"delta": 3.9851,
"percent_delta": 1.0321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2424,
"delta": 0.0004,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.446,
"after": 0.9242,
"delta": 0.4782,
"percent_delta": 1.0722,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 1.9009,
"delta": 0.9709,
"percent_delta": 1.044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1995,
"delta": 0.0795,
"percent_delta": 0.6625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3228,
"delta": -0.0012,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.671,
"after": 1.445,
"delta": 0.774,
"percent_delta": 1.1535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.7451,
"delta": 0.2751,
"percent_delta": 0.5853,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.389,
"delta": -0.013,
"percent_delta": -0.0323,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.965,
"after": 1.8525,
"delta": 0.8875,
"percent_delta": 0.9197,
"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.861,
"after": 7.8461,
"delta": 3.9851,
"percent_delta": 1.0321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.389,
"delta": -0.013,
"percent_delta": -0.0323,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.4357,
"predicted_3B": 0.0004,
"predicted_AB": 7.8461,
"predicted_AVG": 0.2487,
"predicted_BB": 0.9301,
"predicted_H": 1.9515,
"predicted_HBP": 0.003,
"predicted_HR": 0.2038,
"predicted_OBP": 0.3283,
"predicted_R": 1.5099,
"predicted_RBI": 0.7786,
"predicted_SLG": 0.3823,
"predicted_SO": 1.8406
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4357,
"after": 0.4357,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.8461,
"after": 7.8461,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2424,
"after": 0.2487,
"delta": 0.0063,
"percent_delta": 0.026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9242,
"after": 0.9301,
"delta": 0.0059,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.9009,
"after": 1.9515,
"delta": 0.0506,
"percent_delta": 0.0266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1995,
"after": 0.2038,
"delta": 0.0043,
"percent_delta": 0.0216,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3228,
"after": 0.3283,
"delta": 0.0055,
"percent_delta": 0.017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.445,
"after": 1.5099,
"delta": 0.0649,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7451,
"after": 0.7786,
"delta": 0.0335,
"percent_delta": 0.045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.3823,
"delta": -0.0067,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8525,
"after": 1.8406,
"delta": -0.0119,
"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.445,
"after": 1.5099,
"delta": 0.0649,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.3823,
"delta": -0.0067,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.85), rates preserved: AVG=0.249 HR/AB=0.026",
"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.4357,
"after": 0.0,
"delta": -0.4357,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.8461,
"after": 8.0,
"delta": 0.1539,
"percent_delta": 0.0196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9301,
"after": 1.0,
"delta": 0.0699,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.9515,
"after": 2.0,
"delta": 0.0485,
"percent_delta": 0.0249,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2038,
"after": 0.0,
"delta": -0.2038,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7786,
"after": 1.0,
"delta": 0.2214,
"percent_delta": 0.2844,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8406,
"after": 2.0,
"delta": 0.1594,
"percent_delta": 0.0866,
"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_RBI",
"before": 0.7786,
"after": 1.0,
"delta": 0.2214,
"percent_delta": 0.2844,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4357,
"after": 0.0,
"delta": -0.4357,
"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.5099,
"after": 2.0,
"delta": 0.4901,
"percent_delta": 0.3246,
"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.5099,
"after": 2.0,
"delta": 0.4901,
"percent_delta": 0.3246,
"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.2487,
"after": 0.25,
"delta": 0.0013,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 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.3283,
"after": 0.333,
"delta": 0.0047,
"percent_delta": 0.0143,
"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.3823,
"after": 0.25,
"delta": -0.1323,
"percent_delta": -0.3461,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3823,
"after": 0.25,
"delta": -0.1323,
"percent_delta": -0.3461,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 2.0,
"delta": -6.0,
"percent_delta": -0.75,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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": 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": 8.0,
"after": 2.0,
"delta": -6.0,
"percent_delta": -0.75,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_AVG": 0.2487,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3283,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3823,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2487,
"delta": -0.0013,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3283,
"delta": -0.0047,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3823,
"delta": 0.1323,
"percent_delta": 0.5292,
"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_SLG",
"before": 0.25,
"after": 0.3823,
"delta": 0.1323,
"percent_delta": 0.5292,
"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.173,
"after": 0.0,
"delta": -0.173,
"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.861,
"after": 2.0,
"delta": -1.861,
"percent_delta": -0.482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2487,
"delta": 0.0067,
"percent_delta": 0.0277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.446,
"after": 1.0,
"delta": 0.554,
"percent_delta": 1.2422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 0.0,
"delta": -0.93,
"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.324,
"after": 0.3283,
"delta": 0.0043,
"percent_delta": 0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.671,
"after": 0.0,
"delta": -0.671,
"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.402,
"after": 0.3823,
"delta": -0.0197,
"percent_delta": -0.049,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.965,
"after": 0.0,
"delta": -0.965,
"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.446,
"after": 1.0,
"delta": 0.554,
"percent_delta": 1.2422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.861,
"after": 2.0,
"delta": -1.861,
"percent_delta": -0.482,
"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.173 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.861 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.446 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.324 | - |
| predicted_R | 0.671 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.402 | - |
| predicted_SO | 0.965 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.436 | 0.263 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.846 | 3.985 |
| predicted_AVG | 0.242 | 0.000 |
| predicted_BB | 0.924 | 0.478 |
| predicted_H | 1.901 | 0.971 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.200 | 0.080 |
| predicted_OBP | 0.323 | -0.001 |
| predicted_R | 1.445 | 0.774 |
| predicted_RBI | 0.745 | 0.275 |
| predicted_SLG | 0.389 | -0.013 |
| predicted_SO | 1.853 | 0.888 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.436 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.846 | 0.000 |
| predicted_AVG | 0.249 | 0.006 |
| predicted_BB | 0.930 | 0.006 |
| predicted_H | 1.952 | 0.051 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.204 | 0.004 |
| predicted_OBP | 0.328 | 0.006 |
| predicted_R | 1.510 | 0.065 |
| predicted_RBI | 0.779 | 0.033 |
| predicted_SLG | 0.382 | -0.007 |
| predicted_SO | 1.841 | -0.012 |
AB rounded to 8 (raw=7.85), rates preserved: AVG=0.249 HR/AB=0.026
| 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.436 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 8.000 | 0.154 |
| predicted_AVG | 0.250 | 0.001 |
| predicted_BB | 1.000 | 0.070 |
| predicted_H | 2.000 | 0.048 |
| predicted_HR | 0.000 | -0.204 |
| predicted_OBP | 0.333 | 0.005 |
| predicted_R | 2.000 | 0.490 |
| predicted_RBI | 1.000 | 0.221 |
| predicted_SLG | 0.250 | -0.132 |
| predicted_SO | 2.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 | 2.000 | -6.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -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 | 4 | - | 17.000 | 3.000 | 2.000 | 0.000 | 0.000 | 0.000 | 4.000 | 2.000 | 3.000 | 0.1765 | 0.2632 | 0.2941 | 0.1765 | 0.0000 | 0.0000 | 0.1177 | 0.1765 |
| last_10 | 0.20 | 5 | - | 36.000 | 7.000 | 2.000 | 0.000 | 2.000 | 8.000 | 9.000 | 7.000 | 6.000 | 0.1944 | 0.3256 | 0.4167 | 0.1944 | 0.0556 | 0.2222 | 0.1944 | 0.1667 |
| season | 0.60 | 56 | - | 892.000 | 235.000 | 40.000 | 0.000 | 24.000 | 86.000 | 155.000 | 103.000 | 223.000 | 0.2635 | 0.3367 | 0.3890 | 0.2635 | 0.0269 | 0.0964 | 0.1155 | 0.2500 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7680 |
| predicted_3B | 0.0010 |
| predicted_AB | 12.8870 |
| predicted_AVG | 0.2429 |
| predicted_BB | 1.5290 |
| predicted_H | 3.1290 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.3000 |
| predicted_OBP | 0.3212 |
| predicted_R | 2.4240 |
| predicted_RBI | 1.0930 |
| predicted_SLG | 0.3725 |
| predicted_SO | 2.9750 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1730 | 0.7680 | 0.4357 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8610 | 12.8870 | 7.8461 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2429 | 0.2424 | model_form_blend |
| predicted_BB | 0.4460 | 1.5290 | 0.9242 | model_form_blend |
| predicted_H | 0.9300 | 3.1290 | 1.9009 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1200 | 0.3000 | 0.1995 | model_form_blend |
| predicted_OBP | 0.3240 | 0.3212 | 0.3228 | model_form_blend |
| predicted_R | 0.6710 | 2.4240 | 1.4450 | model_form_blend |
| predicted_RBI | 0.4700 | 1.0930 | 0.7451 | model_form_blend |
| predicted_SLG | 0.4020 | 0.3725 | 0.3890 | model_form_blend |
| predicted_SO | 0.9650 | 2.9750 | 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 | 232 |
| Season rows before report date | 232 |
| 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 | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 1 |
| 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 | 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260531_DET@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-31 |
| sl_k_percent | 21.8 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.328 |
| sl_xwoba | 0.302 |
| sl_xba | 0.241 |
| sl_xslg | 0.35 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 37.7 |
| sl_exit_velocity_avg | 87.9 |
| sl_launch_angle_avg | 8.3 |
| sl_whiff_percent | 18.2 |
| sl_swing_percent | 40.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.000 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.050 | 4.000 | 3.000 | Hitting_AB | 3.000 | 3.000 | 1.000 | 1.000 |
| predicted_AVG | 0.254 | 0.250 | 0.333 | Hitting_AVG | 0.333 | 0.333 | -0.083 | -0.083 |
| 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.780 | 1.000 | 1.000 | Hitting_H | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.313 | 0.250 | 0.333 | Hitting_OBP | 0.333 | 0.333 | -0.083 | -0.083 |
| predicted_R | 0.000 | 0.000 | 0.000 | Hitting_R | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.394 | 0.250 | 0.333 | Hitting_SLG | 0.333 | 0.333 | -0.083 | -0.083 |
| predicted_SO | 0.000 | 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 | 4 |
| Deboosted Metrics | 4 |
| Better Metrics | 3 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_SO: 0.0000 -> 2.0000 (boost 2.0000, worse) |
| Biggest Deboost | predicted_RBI: 0.3900 -> 0.0000 (deboost -0.3900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 2 | 1 | predicted_SO: 0.0000 -> 0.1397 (boost 0.1397, 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.2547 -> 0.2630 (boost 0.0083, better) | predicted_OBP: 0.3134 -> 0.2742 (deboost -0.0392, 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.1388 -> 1.0000 (boost 0.8612, worse) | predicted_RBI: 0.4194 -> 0.0000 (deboost -0.4194, worse) | AB rounded to 3 (raw=3.19), rates preserved: AVG=0.263 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.0842 -> 0.0000 (deboost -0.0842, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2630 -> 0.3330 (boost 0.0700, better) | predicted_SLG: 0.3732 -> 0.3330 (deboost -0.0402, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 2 | 0 | 1 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 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.3732 (boost 0.0402, better) | predicted_AVG: 0.3330 -> 0.2630 (deboost -0.0700, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694378",
"player_name": "Jacob Gonzalez",
"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.0,
"predicted_3B": 0.0,
"predicted_AB": 3.05,
"predicted_AVG": 0.254,
"predicted_BB": 0.0,
"predicted_H": 0.78,
"predicted_HR": 0.1,
"predicted_OBP": 0.313,
"predicted_R": 0.0,
"predicted_RBI": 0.39,
"predicted_SLG": 0.394,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0311,
"predicted_3B": 0.0024,
"predicted_AB": 3.186,
"predicted_AVG": 0.2547,
"predicted_BB": 0.0492,
"predicted_H": 0.8161,
"predicted_HBP": 0.032,
"predicted_HR": 0.1029,
"predicted_OBP": 0.3134,
"predicted_R": 0.0806,
"predicted_RBI": 0.4014,
"predicted_SLG": 0.3953,
"predicted_SO": 0.1397
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0311,
"delta": 0.0311,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0024,
"delta": 0.0024,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.05,
"after": 3.186,
"delta": 0.136,
"percent_delta": 0.0446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2547,
"delta": 0.0007,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0492,
"delta": 0.0492,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.8161,
"delta": 0.0361,
"percent_delta": 0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1029,
"delta": 0.0029,
"percent_delta": 0.029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3134,
"delta": 0.0004,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0806,
"delta": 0.0806,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.4014,
"delta": 0.0114,
"percent_delta": 0.0292,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.3953,
"delta": 0.0013,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.1397,
"delta": 0.1397,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 0.1397,
"delta": 0.1397,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 1,
"last_10": 1,
"season": 1
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0311,
"predicted_3B": 0.0024,
"predicted_AB": 3.186,
"predicted_AVG": 0.263,
"predicted_BB": 0.0495,
"predicted_H": 0.8378,
"predicted_HBP": 0.032,
"predicted_HR": 0.1051,
"predicted_OBP": 0.2742,
"predicted_R": 0.0842,
"predicted_RBI": 0.4194,
"predicted_SLG": 0.3732,
"predicted_SO": 0.1388
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0311,
"after": 0.0311,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0024,
"after": 0.0024,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.186,
"after": 3.186,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2547,
"after": 0.263,
"delta": 0.0083,
"percent_delta": 0.0326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0492,
"after": 0.0495,
"delta": 0.0003,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8161,
"after": 0.8378,
"delta": 0.0217,
"percent_delta": 0.0266,
"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.1029,
"after": 0.1051,
"delta": 0.0022,
"percent_delta": 0.0214,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3134,
"after": 0.2742,
"delta": -0.0392,
"percent_delta": -0.1251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0806,
"after": 0.0842,
"delta": 0.0036,
"percent_delta": 0.0447,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4014,
"after": 0.4194,
"delta": 0.018,
"percent_delta": 0.0448,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3953,
"after": 0.3732,
"delta": -0.0221,
"percent_delta": -0.0559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.1397,
"after": 0.1388,
"delta": -0.0009,
"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_AVG",
"before": 0.2547,
"after": 0.263,
"delta": 0.0083,
"percent_delta": 0.0326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3134,
"after": 0.2742,
"delta": -0.0392,
"percent_delta": -0.1251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.19), rates preserved: AVG=0.263 HR/AB=0.033",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0311,
"after": 0.0,
"delta": -0.0311,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0024,
"after": 0.0,
"delta": -0.0024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.186,
"after": 3.0,
"delta": -0.186,
"percent_delta": -0.0584,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0495,
"after": 0.0,
"delta": -0.0495,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8378,
"after": 1.0,
"delta": 0.1622,
"percent_delta": 0.1936,
"direction": "boost",
"projection_effect": "better",
"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.1051,
"after": 0.0,
"delta": -0.1051,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4194,
"after": 0.0,
"delta": -0.4194,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.1388,
"after": 1.0,
"delta": 0.8612,
"percent_delta": 6.2046,
"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.1388,
"after": 1.0,
"delta": 0.8612,
"percent_delta": 6.2046,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4194,
"after": 0.0,
"delta": -0.4194,
"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.0842,
"after": 0.0,
"delta": -0.0842,
"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.0842,
"after": 0.0,
"delta": -0.0842,
"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.263,
"after": 0.333,
"delta": 0.07,
"percent_delta": 0.2662,
"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.2742,
"after": 0.333,
"delta": 0.0588,
"percent_delta": 0.2144,
"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.3732,
"after": 0.333,
"delta": -0.0402,
"percent_delta": -0.1077,
"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.263,
"after": 0.333,
"delta": 0.07,
"percent_delta": 0.2662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3732,
"after": 0.333,
"delta": -0.0402,
"percent_delta": -0.1077,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": 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.263,
"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.2742,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3732,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.263,
"delta": -0.07,
"percent_delta": -0.2103,
"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.2742,
"delta": -0.0588,
"percent_delta": -0.1764,
"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.3732,
"delta": 0.0402,
"percent_delta": 0.1208,
"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.3732,
"delta": 0.0402,
"percent_delta": 0.1208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.263,
"delta": -0.07,
"percent_delta": -0.2103,
"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.05,
"after": 4.0,
"delta": 0.95,
"percent_delta": 0.3115,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.263,
"delta": 0.009,
"percent_delta": 0.0354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 1.0,
"delta": 0.22,
"percent_delta": 0.2821,
"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.313,
"after": 0.2742,
"delta": -0.0388,
"percent_delta": -0.124,
"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.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.3732,
"delta": -0.0208,
"percent_delta": -0.0528,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"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.050 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.780 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.000 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.394 | - |
| predicted_SO | 0.000 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.031 | 0.031 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.186 | 0.136 |
| predicted_AVG | 0.255 | 0.001 |
| predicted_BB | 0.049 | 0.049 |
| predicted_H | 0.816 | 0.036 |
| predicted_HBP | 0.032 | - |
| predicted_HR | 0.103 | 0.003 |
| predicted_OBP | 0.313 | 0.000 |
| predicted_R | 0.081 | 0.081 |
| predicted_RBI | 0.401 | 0.011 |
| predicted_SLG | 0.395 | 0.001 |
| predicted_SO | 0.140 | 0.140 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.031 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.186 | 0.000 |
| predicted_AVG | 0.263 | 0.008 |
| predicted_BB | 0.050 | 0.000 |
| predicted_H | 0.838 | 0.022 |
| predicted_HBP | 0.032 | 0.000 |
| predicted_HR | 0.105 | 0.002 |
| predicted_OBP | 0.274 | -0.039 |
| predicted_R | 0.084 | 0.004 |
| predicted_RBI | 0.419 | 0.018 |
| predicted_SLG | 0.373 | -0.022 |
| predicted_SO | 0.139 | -0.001 |
AB rounded to 3 (raw=3.19), rates preserved: AVG=0.263 HR/AB=0.033
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.031 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.186 |
| predicted_AVG | 0.333 | 0.070 |
| predicted_BB | 0.000 | -0.050 |
| predicted_H | 1.000 | 0.162 |
| predicted_HR | 0.000 | -0.105 |
| predicted_OBP | 0.333 | 0.059 |
| predicted_R | 0.000 | -0.084 |
| predicted_RBI | 0.000 | -0.419 |
| predicted_SLG | 0.333 | -0.040 |
| predicted_SO | 1.000 | 0.861 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 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 | 1 | - | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.3333 | 0.3333 | 0.3333 | 0.3333 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 1 | - | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.3333 | 0.3333 | 0.3333 | 0.3333 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| season | 0.60 | 1 | - | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.3333 | 0.3333 | 0.3333 | 0.3333 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1690 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.7890 |
| predicted_AVG | 0.2576 |
| predicted_BB | 0.2670 |
| predicted_H | 0.9760 |
| predicted_HBP | 0.0320 |
| predicted_HR | 0.1160 |
| predicted_OBP | 0.3153 |
| predicted_R | 0.4380 |
| predicted_RBI | 0.4520 |
| predicted_SLG | 0.4011 |
| predicted_SO | 0.7590 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1690 | 0.0311 | model_form_blend |
| predicted_3B | 0.0000 | 0.0130 | 0.0024 | model_form_blend |
| predicted_AB | 3.0500 | 3.7890 | 3.1860 | model_form_blend |
| predicted_AVG | 0.2540 | 0.2576 | 0.2547 | model_form_blend |
| predicted_BB | 0.0000 | 0.2670 | 0.0492 | model_form_blend |
| predicted_H | 0.7800 | 0.9760 | 0.8161 | model_form_blend |
| predicted_HBP | - | 0.0320 | 0.0320 | form_only |
| predicted_HR | 0.1000 | 0.1160 | 0.1029 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3153 | 0.3134 | model_form_blend |
| predicted_R | 0.0000 | 0.4380 | 0.0806 | model_form_blend |
| predicted_RBI | 0.3900 | 0.4520 | 0.4014 | model_form_blend |
| predicted_SLG | 0.3940 | 0.4011 | 0.3953 | model_form_blend |
| predicted_SO | 0.0000 | 0.7590 | 0.1397 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 1 |
| Season rows before report date | 1 |
| Report year | 2026 |
| Profile rows used | 1 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.333 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260531_DET@CHW |
| game_type | full |
| mlbID | 694378 |
| playerID | 694378 |
| playerName | Jacob Gonzalez |
| pos | SS |
| started | True |
| startingPosition | 1B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-05-31 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.166 | 0.000 | 0.000 | Hitting_2B | 0.160 | 1.000 | -0.160 | -1.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_AB | 3.053 | 3.000 | 5.000 | Hitting_AB | 2.955 | 3.000 | 0.045 | 0.000 |
| predicted_AVG | 0.290 | 0.000 | 0.200 | Hitting_AVG | 0.291 | 0.667 | -0.291 | -0.667 |
| predicted_BB | 0.278 | 1.000 | 0.000 | Hitting_BB | 0.269 | 0.000 | 0.731 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.006 | 1.000 | -0.006 | -1.000 |
| predicted_H | 0.300 | 0.000 | 1.000 | Hitting_H | 0.859 | 2.000 | -0.859 | -2.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_OBP | 0.361 | 0.250 | 0.200 | Hitting_OBP | 0.355 | 0.667 | -0.105 | -0.417 |
| predicted_R | 0.377 | 0.000 | 1.000 | Hitting_R | 0.372 | 0.000 | -0.372 | 0.000 |
| predicted_RBI | 0.150 | 0.000 | 1.000 | Hitting_RBI | 0.321 | 1.000 | -0.321 | -1.000 |
| predicted_SLG | 0.440 | 0.000 | 0.200 | Hitting_SLG | 0.406 | 1.000 | -0.406 | -1.000 |
| predicted_SO | 0.649 | 0.000 | 1.000 | Hitting_SO | 0.628 | 0.000 | -0.628 | 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.2780 -> 1.0000 (boost 0.7220, better) |
| Biggest Deboost | predicted_SO: 0.6490 -> 0.0000 (deboost -0.6490, 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.0530 -> 5.2406 (boost 2.1876, 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.4788 -> 0.4264 (deboost -0.0524, 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_RBI: 0.5627 -> 1.0000 (boost 0.4373, better) | predicted_H: 1.5576 -> 1.0000 (deboost -0.5576, worse) | AB rounded to 5 (raw=5.24), rates preserved: AVG=0.297 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7641 -> 1.0000 (boost 0.2359, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4264 -> 0.2000 (deboost -0.2264, 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: 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.4264 (boost 0.2264, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671976",
"player_name": "Tristan Peters",
"position": "CF",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.166,
"predicted_3B": 0.013,
"predicted_AB": 3.053,
"predicted_AVG": 0.29,
"predicted_BB": 0.278,
"predicted_H": 0.3,
"predicted_HR": 0.03,
"predicted_OBP": 0.361,
"predicted_R": 0.377,
"predicted_RBI": 0.15,
"predicted_SLG": 0.44,
"predicted_SO": 0.649
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4335,
"predicted_3B": 0.0191,
"predicted_AB": 5.2406,
"predicted_AVG": 0.3306,
"predicted_BB": 0.4311,
"predicted_H": 1.5172,
"predicted_HBP": 0.066,
"predicted_HR": 0.0669,
"predicted_OBP": 0.3931,
"predicted_R": 0.7313,
"predicted_RBI": 0.5385,
"predicted_SLG": 0.4788,
"predicted_SO": 0.9395
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.166,
"after": 0.4335,
"delta": 0.2675,
"percent_delta": 1.6114,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0191,
"delta": 0.0061,
"percent_delta": 0.4692,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.053,
"after": 5.2406,
"delta": 2.1876,
"percent_delta": 0.7165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.29,
"after": 0.3306,
"delta": 0.0406,
"percent_delta": 0.14,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.278,
"after": 0.4311,
"delta": 0.1531,
"percent_delta": 0.5507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 1.5172,
"delta": 1.2172,
"percent_delta": 4.0573,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0669,
"delta": 0.0369,
"percent_delta": 1.23,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.361,
"after": 0.3931,
"delta": 0.0321,
"percent_delta": 0.0889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.377,
"after": 0.7313,
"delta": 0.3543,
"percent_delta": 0.9398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.5385,
"delta": 0.3885,
"percent_delta": 2.59,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.4788,
"delta": 0.0388,
"percent_delta": 0.0882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.649,
"after": 0.9395,
"delta": 0.2905,
"percent_delta": 0.4476,
"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.053,
"after": 5.2406,
"delta": 2.1876,
"percent_delta": 0.7165,
"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": 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.4335,
"predicted_3B": 0.0191,
"predicted_AB": 5.2406,
"predicted_AVG": 0.2972,
"predicted_BB": 0.4339,
"predicted_H": 1.5576,
"predicted_HBP": 0.066,
"predicted_HR": 0.0684,
"predicted_OBP": 0.3509,
"predicted_R": 0.7641,
"predicted_RBI": 0.5627,
"predicted_SLG": 0.4264,
"predicted_SO": 0.9335
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4335,
"after": 0.4335,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0191,
"after": 0.0191,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.2406,
"after": 5.2406,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3306,
"after": 0.2972,
"delta": -0.0334,
"percent_delta": -0.101,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4311,
"after": 0.4339,
"delta": 0.0028,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5172,
"after": 1.5576,
"delta": 0.0404,
"percent_delta": 0.0266,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.066,
"after": 0.066,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0669,
"after": 0.0684,
"delta": 0.0015,
"percent_delta": 0.0224,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3931,
"after": 0.3509,
"delta": -0.0422,
"percent_delta": -0.1074,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7313,
"after": 0.7641,
"delta": 0.0328,
"percent_delta": 0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5385,
"after": 0.5627,
"delta": 0.0242,
"percent_delta": 0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4788,
"after": 0.4264,
"delta": -0.0524,
"percent_delta": -0.1094,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9395,
"after": 0.9335,
"delta": -0.006,
"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_SLG",
"before": 0.4788,
"after": 0.4264,
"delta": -0.0524,
"percent_delta": -0.1094,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.24), rates preserved: AVG=0.297 HR/AB=0.013",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4335,
"after": 0.0,
"delta": -0.4335,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0191,
"after": 0.0,
"delta": -0.0191,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.2406,
"after": 5.0,
"delta": -0.2406,
"percent_delta": -0.0459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4339,
"after": 0.0,
"delta": -0.4339,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.5576,
"after": 1.0,
"delta": -0.5576,
"percent_delta": -0.358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.066,
"after": 0.0,
"delta": -0.066,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0684,
"after": 0.0,
"delta": -0.0684,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5627,
"after": 1.0,
"delta": 0.4373,
"percent_delta": 0.7771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9335,
"after": 1.0,
"delta": 0.0665,
"percent_delta": 0.0712,
"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_RBI",
"before": 0.5627,
"after": 1.0,
"delta": 0.4373,
"percent_delta": 0.7771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.5576,
"after": 1.0,
"delta": -0.5576,
"percent_delta": -0.358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7641,
"after": 1.0,
"delta": 0.2359,
"percent_delta": 0.3087,
"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.7641,
"after": 1.0,
"delta": 0.2359,
"percent_delta": 0.3087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2972,
"after": 0.2,
"delta": -0.0972,
"percent_delta": -0.3271,
"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.3509,
"after": 0.2,
"delta": -0.1509,
"percent_delta": -0.43,
"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.4264,
"after": 0.2,
"delta": -0.2264,
"percent_delta": -0.531,
"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.4264,
"after": 0.2,
"delta": -0.2264,
"percent_delta": -0.531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2972,
"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.3509,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4264,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.2972,
"delta": 0.0972,
"percent_delta": 0.486,
"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.3509,
"delta": 0.1509,
"percent_delta": 0.7547,
"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.4264,
"delta": 0.2264,
"percent_delta": 1.1318,
"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.4264,
"delta": 0.2264,
"percent_delta": 1.1318,
"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.166,
"after": 0.0,
"delta": -0.166,
"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.053,
"after": 3.0,
"delta": -0.053,
"percent_delta": -0.0174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.29,
"after": 0.2972,
"delta": 0.0072,
"percent_delta": 0.0248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.278,
"after": 1.0,
"delta": 0.722,
"percent_delta": 2.5971,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"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.361,
"after": 0.3509,
"delta": -0.0101,
"percent_delta": -0.028,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.377,
"after": 0.0,
"delta": -0.377,
"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.44,
"after": 0.4264,
"delta": -0.0136,
"percent_delta": -0.0309,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.649,
"after": 0.0,
"delta": -0.649,
"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.278,
"after": 1.0,
"delta": 0.722,
"percent_delta": 2.5971,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.649,
"after": 0.0,
"delta": -0.649,
"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.166 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 3.053 | - |
| predicted_AVG | 0.290 | - |
| predicted_BB | 0.278 | - |
| predicted_H | 0.300 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.361 | - |
| predicted_R | 0.377 | - |
| predicted_RBI | 0.150 | - |
| predicted_SLG | 0.440 | - |
| predicted_SO | 0.649 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.433 | 0.267 |
| predicted_3B | 0.019 | 0.006 |
| predicted_AB | 5.241 | 2.188 |
| predicted_AVG | 0.331 | 0.041 |
| predicted_BB | 0.431 | 0.153 |
| predicted_H | 1.517 | 1.217 |
| predicted_HBP | 0.066 | - |
| predicted_HR | 0.067 | 0.037 |
| predicted_OBP | 0.393 | 0.032 |
| predicted_R | 0.731 | 0.354 |
| predicted_RBI | 0.538 | 0.388 |
| predicted_SLG | 0.479 | 0.039 |
| predicted_SO | 0.940 | 0.290 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.433 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 5.241 | 0.000 |
| predicted_AVG | 0.297 | -0.033 |
| predicted_BB | 0.434 | 0.003 |
| predicted_H | 1.558 | 0.040 |
| predicted_HBP | 0.066 | 0.000 |
| predicted_HR | 0.068 | 0.002 |
| predicted_OBP | 0.351 | -0.042 |
| predicted_R | 0.764 | 0.033 |
| predicted_RBI | 0.563 | 0.024 |
| predicted_SLG | 0.426 | -0.052 |
| predicted_SO | 0.933 | -0.006 |
AB rounded to 5 (raw=5.24), rates preserved: AVG=0.297 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.433 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 5.000 | -0.241 |
| predicted_AVG | 0.200 | -0.097 |
| predicted_BB | 0.000 | -0.434 |
| predicted_H | 1.000 | -0.558 |
| predicted_HR | 0.000 | -0.068 |
| predicted_OBP | 0.200 | -0.151 |
| predicted_R | 1.000 | 0.236 |
| predicted_RBI | 1.000 | 0.437 |
| predicted_SLG | 0.200 | -0.226 |
| predicted_SO | 1.000 | 0.067 |
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 | -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 | - | 19.000 | 13.000 | 5.000 | 0.000 | 0.000 | 4.000 | 3.000 | 0.000 | 0.000 | 0.6842 | 0.6842 | 0.9474 | 0.6842 | 0.0000 | 0.2105 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 5 | - | 31.000 | 22.000 | 6.000 | 0.000 | 0.000 | 5.000 | 10.000 | 3.000 | 0.000 | 0.7097 | 0.7429 | 0.9032 | 0.7097 | 0.0000 | 0.1613 | 0.0968 | 0.0000 |
| season | 0.60 | 51 | - | 461.000 | 134.000 | 25.000 | 2.000 | 8.000 | 50.000 | 57.000 | 42.000 | 98.000 | 0.2907 | 0.3538 | 0.4056 | 0.2907 | 0.0174 | 0.1085 | 0.0911 | 0.2126 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7830 |
| predicted_3B | 0.0270 |
| predicted_AB | 8.0980 |
| predicted_AVG | 0.3837 |
| predicted_BB | 0.6310 |
| predicted_H | 3.1070 |
| predicted_HBP | 0.0660 |
| predicted_HR | 0.1150 |
| predicted_OBP | 0.4351 |
| predicted_R | 1.1940 |
| predicted_RBI | 1.0460 |
| predicted_SLG | 0.5294 |
| predicted_SO | 1.3190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1660 | 0.7830 | 0.4335 | model_form_blend |
| predicted_3B | 0.0130 | 0.0270 | 0.0191 | model_form_blend |
| predicted_AB | 3.0530 | 8.0980 | 5.2406 | model_form_blend |
| predicted_AVG | 0.2900 | 0.3837 | 0.3306 | model_form_blend |
| predicted_BB | 0.2780 | 0.6310 | 0.4311 | model_form_blend |
| predicted_H | 0.3000 | 3.1070 | 1.5172 | model_form_blend |
| predicted_HBP | - | 0.0660 | 0.0660 | form_only |
| predicted_HR | 0.0300 | 0.1150 | 0.0669 | model_form_blend |
| predicted_OBP | 0.3610 | 0.4351 | 0.3931 | model_form_blend |
| predicted_R | 0.3770 | 1.1940 | 0.7313 | model_form_blend |
| predicted_RBI | 0.1500 | 1.0460 | 0.5385 | model_form_blend |
| predicted_SLG | 0.4400 | 0.5294 | 0.4788 | model_form_blend |
| predicted_SO | 0.6490 | 1.3190 | 0.9395 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 156 |
| Season rows before report date | 156 |
| 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.291 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 1 |
| BaseRunning_PO | 1 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 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 | 20260531_DET@CHW |
| game_type | full |
| mlbID | 671976 |
| playerID | 671976 |
| playerName | Tristan Peters |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | CHW |
| teamID | 6 |
| game_date | 2026-05-31 |
| sl_k_percent | 19.7 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.333 |
| sl_xwoba | 0.294 |
| sl_xba | 0.242 |
| sl_xslg | 0.344 |
| sl_sweet_spot_percent | 33.9 |
| sl_barrel_batted_rate | 4.5 |
| sl_hard_hit_percent | 25.0 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | 15.9 |
| sl_whiff_percent | 23.9 |
| sl_swing_percent | 56.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.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.083 | 4.000 | 3.000 | Hitting_AB | 2.846 | 2.000 | 1.154 | 2.000 |
| predicted_AVG | 0.265 | 0.000 | 0.333 | Hitting_AVG | 0.243 | 0.500 | -0.243 | -0.500 |
| predicted_BB | 0.000 | 0.000 | 0.000 | Hitting_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.590 | 0.000 | 1.000 | Hitting_H | 0.692 | 1.000 | -0.692 | -1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.286 | 0.000 | 0.333 | Hitting_OBP | 0.243 | 0.500 | -0.243 | -0.500 |
| predicted_R | 0.333 | 0.000 | 0.000 | Hitting_R | 0.308 | 0.000 | -0.308 | 0.000 |
| predicted_RBI | 0.330 | 0.000 | 0.000 | Hitting_RBI | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_SLG | 0.349 | 0.000 | 0.333 | Hitting_SLG | 0.243 | 0.500 | -0.243 | -0.500 |
| predicted_SO | 0.667 | 2.000 | 1.000 | Hitting_SO | 0.615 | 1.000 | 1.385 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.6670 -> 2.0000 (boost 1.3330, worse) |
| 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 | 6 | 3 | 3 | 3 | 3 | predicted_AB: 3.0830 -> 3.3076 (boost 0.2246, better) | predicted_SLG: 0.3490 -> 0.3288 (deboost -0.0202, 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.2724 -> 0.2153 (deboost -0.0571, 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.6494 -> 1.0000 (boost 0.3506, worse) | predicted_RBI: 0.4015 -> 0.0000 (deboost -0.4015, worse) | AB rounded to 3 (raw=3.31), rates preserved: AVG=0.205 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3390 -> 0.0000 (deboost -0.3390, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2053 -> 0.3330 (boost 0.1277, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2053 (deboost -0.1277, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "807747",
"player_name": "Rikuu Nishida",
"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.0,
"predicted_3B": 0.0,
"predicted_AB": 3.083,
"predicted_AVG": 0.265,
"predicted_BB": 0.0,
"predicted_H": 0.59,
"predicted_HR": 0.07,
"predicted_OBP": 0.286,
"predicted_R": 0.333,
"predicted_RBI": 0.33,
"predicted_SLG": 0.349,
"predicted_SO": 0.667
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0265,
"predicted_3B": 0.0019,
"predicted_AB": 3.3076,
"predicted_AVG": 0.249,
"predicted_BB": 0.0418,
"predicted_H": 0.6615,
"predicted_HBP": 0.016,
"predicted_HR": 0.0659,
"predicted_OBP": 0.2724,
"predicted_R": 0.3244,
"predicted_RBI": 0.3842,
"predicted_SLG": 0.3288,
"predicted_SO": 0.6536
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0265,
"delta": 0.0265,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0019,
"delta": 0.0019,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.083,
"after": 3.3076,
"delta": 0.2246,
"percent_delta": 0.0729,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.249,
"delta": -0.016,
"percent_delta": -0.0604,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0418,
"delta": 0.0418,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.59,
"after": 0.6615,
"delta": 0.0715,
"percent_delta": 0.1212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0659,
"delta": -0.0041,
"percent_delta": -0.0586,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2724,
"delta": -0.0136,
"percent_delta": -0.0476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.3244,
"delta": -0.0086,
"percent_delta": -0.0258,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.3842,
"delta": 0.0542,
"percent_delta": 0.1642,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.349,
"after": 0.3288,
"delta": -0.0202,
"percent_delta": -0.0579,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 0.6536,
"delta": -0.0134,
"percent_delta": -0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.083,
"after": 3.3076,
"delta": 0.2246,
"percent_delta": 0.0729,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.349,
"after": 0.3288,
"delta": -0.0202,
"percent_delta": -0.0579,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 6,
"season": 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.0265,
"predicted_3B": 0.0019,
"predicted_AB": 3.3076,
"predicted_AVG": 0.2053,
"predicted_BB": 0.0421,
"predicted_H": 0.6791,
"predicted_HBP": 0.016,
"predicted_HR": 0.0673,
"predicted_OBP": 0.2153,
"predicted_R": 0.339,
"predicted_RBI": 0.4015,
"predicted_SLG": 0.2755,
"predicted_SO": 0.6494
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0265,
"after": 0.0265,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3076,
"after": 3.3076,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2053,
"delta": -0.0437,
"percent_delta": -0.1755,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0418,
"after": 0.0421,
"delta": 0.0003,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6615,
"after": 0.6791,
"delta": 0.0176,
"percent_delta": 0.0266,
"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.0659,
"after": 0.0673,
"delta": 0.0014,
"percent_delta": 0.0212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2724,
"after": 0.2153,
"delta": -0.0571,
"percent_delta": -0.2096,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3244,
"after": 0.339,
"delta": 0.0146,
"percent_delta": 0.045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3842,
"after": 0.4015,
"delta": 0.0173,
"percent_delta": 0.045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3288,
"after": 0.2755,
"delta": -0.0533,
"percent_delta": -0.1621,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6536,
"after": 0.6494,
"delta": -0.0042,
"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_OBP",
"before": 0.2724,
"after": 0.2153,
"delta": -0.0571,
"percent_delta": -0.2096,
"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.205 HR/AB=0.020",
"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.0265,
"after": 0.0,
"delta": -0.0265,
"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": 3.3076,
"after": 3.0,
"delta": -0.3076,
"percent_delta": -0.093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0421,
"after": 0.0,
"delta": -0.0421,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6791,
"after": 1.0,
"delta": 0.3209,
"percent_delta": 0.4725,
"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.0673,
"after": 0.0,
"delta": -0.0673,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4015,
"after": 0.0,
"delta": -0.4015,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6494,
"after": 1.0,
"delta": 0.3506,
"percent_delta": 0.5399,
"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.6494,
"after": 1.0,
"delta": 0.3506,
"percent_delta": 0.5399,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4015,
"after": 0.0,
"delta": -0.4015,
"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.339,
"after": 0.0,
"delta": -0.339,
"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.339,
"after": 0.0,
"delta": -0.339,
"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.2053,
"after": 0.333,
"delta": 0.1277,
"percent_delta": 0.622,
"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.2153,
"after": 0.333,
"delta": 0.1177,
"percent_delta": 0.5467,
"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.2755,
"after": 0.333,
"delta": 0.0575,
"percent_delta": 0.2087,
"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.2053,
"after": 0.333,
"delta": 0.1277,
"percent_delta": 0.622,
"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": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2053,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2153,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2755,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2053,
"delta": -0.1277,
"percent_delta": -0.3834,
"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.2153,
"delta": -0.1177,
"percent_delta": -0.3535,
"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.2755,
"delta": -0.0575,
"percent_delta": -0.1725,
"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.2053,
"delta": -0.1277,
"percent_delta": -0.3834,
"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.083,
"after": 4.0,
"delta": 0.917,
"percent_delta": 0.2974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2053,
"delta": -0.0597,
"percent_delta": -0.2253,
"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.59,
"after": 0.0,
"delta": -0.59,
"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.286,
"after": 0.2153,
"delta": -0.0707,
"percent_delta": -0.2472,
"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.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.349,
"after": 0.2755,
"delta": -0.0735,
"percent_delta": -0.2106,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 2.0,
"delta": 1.333,
"percent_delta": 1.9985,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.667,
"after": 2.0,
"delta": 1.333,
"percent_delta": 1.9985,
"direction": "boost",
"projection_effect": "worse",
"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.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.083 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.590 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.286 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.349 | - |
| predicted_SO | 0.667 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.026 | 0.026 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.308 | 0.225 |
| predicted_AVG | 0.249 | -0.016 |
| predicted_BB | 0.042 | 0.042 |
| predicted_H | 0.661 | 0.072 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.066 | -0.004 |
| predicted_OBP | 0.272 | -0.014 |
| predicted_R | 0.324 | -0.009 |
| predicted_RBI | 0.384 | 0.054 |
| predicted_SLG | 0.329 | -0.020 |
| predicted_SO | 0.654 | -0.013 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.026 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.308 | 0.000 |
| predicted_AVG | 0.205 | -0.044 |
| predicted_BB | 0.042 | 0.000 |
| predicted_H | 0.679 | 0.018 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.067 | 0.001 |
| predicted_OBP | 0.215 | -0.057 |
| predicted_R | 0.339 | 0.015 |
| predicted_RBI | 0.402 | 0.017 |
| predicted_SLG | 0.276 | -0.053 |
| predicted_SO | 0.649 | -0.004 |
AB rounded to 3 (raw=3.31), rates preserved: AVG=0.205 HR/AB=0.020
| 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.026 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.308 |
| predicted_AVG | 0.333 | 0.128 |
| predicted_BB | 0.000 | -0.042 |
| predicted_H | 1.000 | 0.321 |
| predicted_HR | 0.000 | -0.067 |
| predicted_OBP | 0.333 | 0.118 |
| predicted_R | 0.000 | -0.339 |
| predicted_RBI | 0.000 | -0.402 |
| predicted_SLG | 0.333 | 0.057 |
| predicted_SO | 1.000 | 0.351 |
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 | 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 | 4 | - | 12.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 0.000 | 1.000 | 0.1667 | 0.1667 | 0.1667 | 0.1667 | 0.0000 | 0.1667 | 0.0000 | 0.0833 |
| last_10 | 0.20 | 6 | - | 31.000 | 7.000 | 0.000 | 0.000 | 0.000 | 2.000 | 4.000 | 0.000 | 6.000 | 0.2258 | 0.2258 | 0.2258 | 0.2258 | 0.0000 | 0.0645 | 0.0000 | 0.1935 |
| season | 0.60 | 6 | - | 37.000 | 9.000 | 0.000 | 0.000 | 0.000 | 2.000 | 4.000 | 0.000 | 8.000 | 0.2432 | 0.2432 | 0.2432 | 0.2432 | 0.0000 | 0.0541 | 0.0000 | 0.2162 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0830 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.7870 |
| predicted_AVG | 0.2149 |
| predicted_BB | 0.1310 |
| predicted_H | 0.8140 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.0570 |
| predicted_OBP | 0.2433 |
| predicted_R | 0.3060 |
| predicted_RBI | 0.5000 |
| predicted_SLG | 0.2856 |
| predicted_SO | 0.6250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0830 | 0.0265 | model_form_blend |
| predicted_3B | 0.0000 | 0.0060 | 0.0019 | model_form_blend |
| predicted_AB | 3.0830 | 3.7870 | 3.3076 | model_form_blend |
| predicted_AVG | 0.2650 | 0.2149 | 0.2490 | model_form_blend |
| predicted_BB | 0.0000 | 0.1310 | 0.0418 | model_form_blend |
| predicted_H | 0.5900 | 0.8140 | 0.6615 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0700 | 0.0570 | 0.0659 | model_form_blend |
| predicted_OBP | 0.2860 | 0.2433 | 0.2724 | model_form_blend |
| predicted_R | 0.3330 | 0.3060 | 0.3244 | model_form_blend |
| predicted_RBI | 0.3300 | 0.5000 | 0.3842 | model_form_blend |
| predicted_SLG | 0.3490 | 0.2856 | 0.3288 | model_form_blend |
| predicted_SO | 0.6670 | 0.6250 | 0.6536 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 13 |
| Season rows before report date | 13 |
| Report year | 2026 |
| Profile rows used | 12 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.243 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | RF |
| gameID | 20260531_DET@CHW |
| game_type | full |
| mlbID | 807747 |
| playerID | 807747 |
| playerName | Rikuu Nishida |
| pos | OF |
| started | True |
| startingPosition | RF |
| team | CHW |
| teamID | 6 |
| game_date | 2026-05-31 |
| sl_k_percent | 12.5 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.179 |
| sl_xwoba | 0.247 |
| sl_xba | 0.259 |
| sl_xslg | 0.305 |
| sl_sweet_spot_percent | 35.7 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 7.1 |
| sl_exit_velocity_avg | 88.3 |
| sl_launch_angle_avg | 3.3 |
| sl_whiff_percent | 8.0 |
| sl_swing_percent | 47.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.031 | 0.000 | 0.000 | Hitting_2B | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.375 | 3.000 | 6.000 | Hitting_AB | 3.248 | 3.000 | -0.248 | 0.000 |
| predicted_AVG | 0.268 | 0.333 | 0.167 | Hitting_AVG | 0.194 | 0.667 | 0.139 | -0.333 |
| predicted_BB | 0.367 | 1.000 | 1.000 | Hitting_BB | 0.361 | 0.000 | 0.639 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.660 | 1.000 | 1.000 | Hitting_H | 0.632 | 2.000 | 0.368 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.045 | 1.000 | -0.045 | -1.000 |
| predicted_OBP | 0.321 | 0.500 | 0.286 | Hitting_OBP | 0.273 | 0.500 | 0.227 | 0.000 |
| predicted_R | 0.328 | 1.000 | 1.000 | Hitting_R | 0.323 | 2.000 | 0.677 | -1.000 |
| predicted_RBI | 0.440 | 0.000 | 1.000 | Hitting_RBI | 0.466 | 2.000 | -0.466 | -2.000 |
| predicted_SLG | 0.387 | 0.333 | 0.167 | Hitting_SLG | 0.245 | 1.667 | 0.088 | -1.333 |
| predicted_SO | 0.992 | 0.000 | 2.000 | Hitting_SO | 0.955 | 0.000 | -0.955 | 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_R: 0.3280 -> 1.0000 (boost 0.6720, better) |
| Biggest Deboost | predicted_SO: 0.9920 -> 0.0000 (deboost -0.9920, 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.3750 -> 6.2081 (boost 2.8331, better) | predicted_SLG: 0.3870 -> 0.3505 (deboost -0.0365, 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.3505 -> 0.3047 (deboost -0.0458, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_BB: 0.6167 -> 1.0000 (boost 0.3833, better) | predicted_H: 1.3381 -> 1.0000 (deboost -0.3381, worse) | AB rounded to 6 (raw=6.21), rates preserved: AVG=0.216 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7898 -> 1.0000 (boost 0.2102, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3047 -> 0.1670 (deboost -0.1377, 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 | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.1670 -> 0.3047 (boost 0.1377, 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.031,
"predicted_3B": 0.0,
"predicted_AB": 3.375,
"predicted_AVG": 0.268,
"predicted_BB": 0.367,
"predicted_H": 0.66,
"predicted_HR": 0.09,
"predicted_OBP": 0.321,
"predicted_R": 0.328,
"predicted_RBI": 0.44,
"predicted_SLG": 0.387,
"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.0592,
"predicted_3B": 0.0009,
"predicted_AB": 6.2081,
"predicted_AVG": 0.2456,
"predicted_BB": 0.6128,
"predicted_H": 1.3034,
"predicted_HBP": 0.073,
"predicted_HR": 0.1607,
"predicted_OBP": 0.3011,
"predicted_R": 0.7559,
"predicted_RBI": 0.8922,
"predicted_SLG": 0.3505,
"predicted_SO": 1.8972
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.031,
"after": 0.0592,
"delta": 0.0282,
"percent_delta": 0.9097,
"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.375,
"after": 6.2081,
"delta": 2.8331,
"percent_delta": 0.8394,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2456,
"delta": -0.0224,
"percent_delta": -0.0836,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.367,
"after": 0.6128,
"delta": 0.2458,
"percent_delta": 0.6698,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 1.3034,
"delta": 0.6434,
"percent_delta": 0.9748,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1607,
"delta": 0.0707,
"percent_delta": 0.7856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3011,
"delta": -0.0199,
"percent_delta": -0.062,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.328,
"after": 0.7559,
"delta": 0.4279,
"percent_delta": 1.3046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.8922,
"delta": 0.4522,
"percent_delta": 1.0277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.3505,
"delta": -0.0365,
"percent_delta": -0.0943,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.992,
"after": 1.8972,
"delta": 0.9052,
"percent_delta": 0.9125,
"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.375,
"after": 6.2081,
"delta": 2.8331,
"percent_delta": 0.8394,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.3505,
"delta": -0.0365,
"percent_delta": -0.0943,
"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": 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.0592,
"predicted_3B": 0.0009,
"predicted_AB": 6.2081,
"predicted_AVG": 0.2155,
"predicted_BB": 0.6167,
"predicted_H": 1.3381,
"predicted_HBP": 0.073,
"predicted_HR": 0.1642,
"predicted_OBP": 0.2864,
"predicted_R": 0.7898,
"predicted_RBI": 0.9323,
"predicted_SLG": 0.3047,
"predicted_SO": 1.8851
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0592,
"after": 0.0592,
"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.2081,
"after": 6.2081,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2456,
"after": 0.2155,
"delta": -0.0301,
"percent_delta": -0.1226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6128,
"after": 0.6167,
"delta": 0.0039,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3034,
"after": 1.3381,
"delta": 0.0347,
"percent_delta": 0.0266,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.073,
"after": 0.073,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1607,
"after": 0.1642,
"delta": 0.0035,
"percent_delta": 0.0218,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3011,
"after": 0.2864,
"delta": -0.0147,
"percent_delta": -0.0488,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7559,
"after": 0.7898,
"delta": 0.0339,
"percent_delta": 0.0448,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8922,
"after": 0.9323,
"delta": 0.0401,
"percent_delta": 0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3505,
"after": 0.3047,
"delta": -0.0458,
"percent_delta": -0.1307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8972,
"after": 1.8851,
"delta": -0.0121,
"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_SLG",
"before": 0.3505,
"after": 0.3047,
"delta": -0.0458,
"percent_delta": -0.1307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.21), rates preserved: AVG=0.216 HR/AB=0.026",
"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.0592,
"after": 0.0,
"delta": -0.0592,
"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.2081,
"after": 6.0,
"delta": -0.2081,
"percent_delta": -0.0335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6167,
"after": 1.0,
"delta": 0.3833,
"percent_delta": 0.6215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3381,
"after": 1.0,
"delta": -0.3381,
"percent_delta": -0.2527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.073,
"after": 0.0,
"delta": -0.073,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1642,
"after": 0.0,
"delta": -0.1642,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9323,
"after": 1.0,
"delta": 0.0677,
"percent_delta": 0.0726,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8851,
"after": 2.0,
"delta": 0.1149,
"percent_delta": 0.061,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.6167,
"after": 1.0,
"delta": 0.3833,
"percent_delta": 0.6215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.3381,
"after": 1.0,
"delta": -0.3381,
"percent_delta": -0.2527,
"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.7898,
"after": 1.0,
"delta": 0.2102,
"percent_delta": 0.2661,
"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.7898,
"after": 1.0,
"delta": 0.2102,
"percent_delta": 0.2661,
"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.2155,
"after": 0.167,
"delta": -0.0485,
"percent_delta": -0.2251,
"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.2864,
"after": 0.286,
"delta": -0.0004,
"percent_delta": -0.0014,
"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.3047,
"after": 0.167,
"delta": -0.1377,
"percent_delta": -0.4519,
"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.3047,
"after": 0.167,
"delta": -0.1377,
"percent_delta": -0.4519,
"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": 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": 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.2155,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2864,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3047,
"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.2155,
"delta": 0.0485,
"percent_delta": 0.2906,
"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.2864,
"delta": 0.0004,
"percent_delta": 0.0015,
"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.167,
"after": 0.3047,
"delta": 0.1377,
"percent_delta": 0.8246,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.167,
"after": 0.3047,
"delta": 0.1377,
"percent_delta": 0.8246,
"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.031,
"after": 0.0,
"delta": -0.031,
"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.375,
"after": 3.0,
"delta": -0.375,
"percent_delta": -0.1111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2155,
"delta": -0.0525,
"percent_delta": -0.1959,
"direction": "deboost",
"projection_effect": "worse",
"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": 0.66,
"after": 1.0,
"delta": 0.34,
"percent_delta": 0.5152,
"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.321,
"after": 0.2864,
"delta": -0.0346,
"percent_delta": -0.1078,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.328,
"after": 1.0,
"delta": 0.672,
"percent_delta": 2.0488,
"direction": "boost",
"projection_effect": "better",
"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.387,
"after": 0.3047,
"delta": -0.0823,
"percent_delta": -0.2127,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.992,
"after": 0.0,
"delta": -0.992,
"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_R",
"before": 0.328,
"after": 1.0,
"delta": 0.672,
"percent_delta": 2.0488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.992,
"after": 0.0,
"delta": -0.992,
"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.031 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.375 | - |
| predicted_AVG | 0.268 | - |
| predicted_BB | 0.367 | - |
| predicted_H | 0.660 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.328 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.387 | - |
| 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.059 | 0.028 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.208 | 2.833 |
| predicted_AVG | 0.246 | -0.022 |
| predicted_BB | 0.613 | 0.246 |
| predicted_H | 1.303 | 0.643 |
| predicted_HBP | 0.073 | - |
| predicted_HR | 0.161 | 0.071 |
| predicted_OBP | 0.301 | -0.020 |
| predicted_R | 0.756 | 0.428 |
| predicted_RBI | 0.892 | 0.452 |
| predicted_SLG | 0.350 | -0.037 |
| predicted_SO | 1.897 | 0.905 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.059 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.208 | 0.000 |
| predicted_AVG | 0.215 | -0.030 |
| predicted_BB | 0.617 | 0.004 |
| predicted_H | 1.338 | 0.035 |
| predicted_HBP | 0.073 | 0.000 |
| predicted_HR | 0.164 | 0.004 |
| predicted_OBP | 0.286 | -0.015 |
| predicted_R | 0.790 | 0.034 |
| predicted_RBI | 0.932 | 0.040 |
| predicted_SLG | 0.305 | -0.046 |
| predicted_SO | 1.885 | -0.012 |
AB rounded to 6 (raw=6.21), rates preserved: AVG=0.216 HR/AB=0.026
| 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.059 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | -0.208 |
| predicted_AVG | 0.167 | -0.048 |
| predicted_BB | 1.000 | 0.383 |
| predicted_H | 1.000 | -0.338 |
| predicted_HR | 0.000 | -0.164 |
| predicted_OBP | 0.286 | -0.000 |
| predicted_R | 1.000 | 0.210 |
| predicted_RBI | 1.000 | 0.068 |
| predicted_SLG | 0.167 | -0.138 |
| predicted_SO | 2.000 | 0.115 |
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 | -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 | 3 | - | 13.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 0.000 | 6.000 | 0.2308 | 0.2308 | 0.4615 | 0.2308 | 0.0769 | 0.1538 | 0.0000 | 0.4615 |
| last_10 | 0.20 | 4 | - | 28.000 | 13.000 | 0.000 | 0.000 | 1.000 | 7.000 | 17.000 | 5.000 | 6.000 | 0.4643 | 0.4643 | 0.5714 | 0.4643 | 0.0357 | 0.2500 | 0.1786 | 0.2143 |
| season | 0.60 | 37 | - | 432.000 | 84.000 | 4.000 | 0.000 | 6.000 | 62.000 | 42.000 | 47.000 | 127.000 | 0.1944 | 0.2684 | 0.2454 | 0.1944 | 0.0139 | 0.1435 | 0.1088 | 0.2940 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0960 |
| predicted_3B | 0.0020 |
| predicted_AB | 9.9100 |
| predicted_AVG | 0.2164 |
| predicted_BB | 0.9340 |
| predicted_H | 2.1440 |
| predicted_HBP | 0.0730 |
| predicted_HR | 0.2530 |
| predicted_OBP | 0.2751 |
| predicted_R | 1.3150 |
| predicted_RBI | 1.4830 |
| predicted_SLG | 0.3029 |
| predicted_SO | 3.0800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0310 | 0.0960 | 0.0592 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.3750 | 9.9100 | 6.2081 | model_form_blend |
| predicted_AVG | 0.2680 | 0.2164 | 0.2456 | model_form_blend |
| predicted_BB | 0.3670 | 0.9340 | 0.6128 | model_form_blend |
| predicted_H | 0.6600 | 2.1440 | 1.3034 | model_form_blend |
| predicted_HBP | - | 0.0730 | 0.0730 | form_only |
| predicted_HR | 0.0900 | 0.2530 | 0.1607 | model_form_blend |
| predicted_OBP | 0.3210 | 0.2751 | 0.3011 | model_form_blend |
| predicted_R | 0.3280 | 1.3150 | 0.7559 | model_form_blend |
| predicted_RBI | 0.4400 | 1.4830 | 0.8922 | model_form_blend |
| predicted_SLG | 0.3870 | 0.3029 | 0.3505 | model_form_blend |
| predicted_SO | 0.9920 | 3.0800 | 1.8972 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 128 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.194 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| 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 | C |
| gameID | 20260530_DET@CHW |
| game_type | full |
| mlbID | 700337 |
| playerID | 700337 |
| playerName | Edgar Quero |
| pos | C |
| started | True |
| startingPosition | C |
| team | CHW |
| teamID | 6 |
| game_date | 2026-05-30 |
| sl_k_percent | 24.6 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.251 |
| sl_xwoba | 0.256 |
| sl_xba | 0.196 |
| sl_xslg | 0.263 |
| sl_sweet_spot_percent | 23.3 |
| sl_barrel_batted_rate | 1.2 |
| sl_hard_hit_percent | 31.4 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 8.6 |
| sl_whiff_percent | 26.2 |
| sl_swing_percent | 48.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | - | - | - | - |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | - | - | - | - |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | - | - | - | - |
| predicted_IP | 3.000 | 3.000 | 3.000 | Pitching_InningsPitched | - | - | - | - |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | - | - | - | - |
| 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 -> 3.0000 (boost 2.9000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 3.0000 (boost 2.9000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "689818",
"player_name": "David Sandlin",
"position": "Starter",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 3.0,
"predicted_R": 0.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 3.0,
"delta": 2.9,
"percent_delta": 29.0,
"direction": "boost",
"projection_effect": "better",
"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": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 3.0,
"delta": 2.9,
"percent_delta": 29.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 3.0,
"delta": 2.9,
"percent_delta": 29.0,
"direction": "boost",
"projection_effect": "better",
"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": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 3.0,
"delta": 2.9,
"percent_delta": 29.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 4.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 0 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | - | - | - | - | - | - | - |
| last_10 | 0.35 | 0 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | - | - | - | - | - | - | - |
| season | 0.20 | 0 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | - | - | - | - | - | - | - |
| Metric | Value |
|---|---|
| predicted_BB | 0.1230 |
| predicted_ER | 0.1590 |
| predicted_ERA | 4.2877 |
| predicted_H | 0.3170 |
| predicted_HR | 0.0450 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3140 |
| predicted_WHIP | 1.3186 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.1230 | 0.8005 | model_form_blend |
| predicted_ER | 0.0000 | 0.1590 | 0.0362 | model_form_blend |
| predicted_ERA | - | 4.2877 | 4.2877 | form_only |
| predicted_H | 1.0000 | 0.3170 | 0.8446 | model_form_blend |
| predicted_HR | 0.0000 | 0.0450 | 0.0102 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 4.0000 | 0.3140 | 3.1614 | model_form_blend |
| predicted_WHIP | - | 1.3186 | 1.3186 | 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 | 0 |
| Season rows before report date | 0 |
| Report year | 2026 |
| Profile rows used | 0 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 3.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 4 |
| HR | 0 |
| BF | 11 |
| Pitches | 45 |
No historical data found for this player before report date.
| 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.417 | 0.000 | -0.417 | 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 | 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 | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.958 | 1.000 | -0.958 | -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": 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 | 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.3850 |
| predicted_ERA | 3.4671 |
| predicted_H | 0.9660 |
| predicted_HR | 0.0700 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7900 |
| predicted_WHIP | 1.2763 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3110 | 0.1333 | model_form_blend |
| predicted_ER | 0.0000 | 0.3850 | 0.1650 | model_form_blend |
| predicted_ERA | - | 3.4671 | 3.4671 | form_only |
| predicted_H | 0.0000 | 0.9660 | 0.4140 | model_form_blend |
| predicted_HR | 0.0000 | 0.0700 | 0.0300 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7900 | 0.3385 | model_form_blend |
| predicted_WHIP | - | 1.2763 | 1.2763 | 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 | 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 | 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.9 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.269 |
| sl_xwoba | 0.267 |
| sl_sweet_spot_percent | 26.0 |
| sl_barrel_batted_rate | 1.4 |
| sl_hard_hit_percent | 32.9 |
| sl_whiff_percent | 25.6 |
| sl_swing_percent | 46.1 |
| 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.899245882 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.333 | 0.000 | 0.667 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.000 | 2.000 | 0.000 | -1.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 1.017 | 1.100 | 0.183 | 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 | 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": "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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.2,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"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.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 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.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 | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 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.3850 |
| predicted_ERA | 3.4684 |
| predicted_H | 0.9150 |
| predicted_HR | 0.1070 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0140 |
| predicted_WHIP | 1.2512 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3360 | 0.7928 | model_form_blend |
| predicted_ER | 0.0000 | 0.3850 | 0.1201 | model_form_blend |
| predicted_ERA | - | 3.4684 | 3.4684 | form_only |
| predicted_H | 1.0000 | 0.9150 | 0.9735 | model_form_blend |
| predicted_HR | 0.0000 | 0.1070 | 0.0334 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0140 | 0.3164 | model_form_blend |
| predicted_WHIP | - | 1.2512 | 1.2512 | 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.2 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 7 |
| Pitches | 28 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 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 | 36.1 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.26 |
| sl_xwoba | 0.242 |
| sl_sweet_spot_percent | 31.9 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 40.6 |
| sl_whiff_percent | 28.9 |
| sl_swing_percent | 49.2 |
| 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.377450882 |
| sl_avg_hyper_speed | 94.114458235 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 2.000 | 2.000 | -2.000 | -2.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 3.000 | 3.000 | -3.000 | -3.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 2.100 | 2.100 | -0.900 | -0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.000 | 1.000 | 0.000 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.2000 (boost 1.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 -> 1.2000 (boost 1.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656794",
"player_name": "Sean Newcomb",
"position": "Middle Reliever",
"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": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.2,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.2,
"delta": 1.1,
"percent_delta": 11.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.2,
"delta": 1.1,
"percent_delta": 11.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.2,
"delta": 1.1,
"percent_delta": 11.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.2,
"delta": 1.1,
"percent_delta": 11.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 1 | 2.100 | 2.000 | 3.000 | 1.000 | 1.000 | 0.000 | 7.7143 | 1.7143 | 0.8571 | 1.2857 | 0.4286 | 0.4286 | 0.0000 |
| last_10 | 0.35 | 1 | 2.100 | 2.000 | 3.000 | 1.000 | 1.000 | 0.000 | 7.7143 | 1.7143 | 0.8571 | 1.2857 | 0.4286 | 0.4286 | 0.0000 |
| season | 0.20 | 1 | 2.100 | 2.000 | 3.000 | 1.000 | 1.000 | 0.000 | 7.7143 | 1.7143 | 0.8571 | 1.2857 | 0.4286 | 0.4286 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1870 |
| predicted_ER | 0.2550 |
| predicted_ERA | 4.5765 |
| predicted_H | 0.4910 |
| predicted_HR | 0.0610 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.4500 |
| predicted_WHIP | 1.3520 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1870 | 0.0492 | model_form_blend |
| predicted_ER | 0.0000 | 0.2550 | 0.0671 | model_form_blend |
| predicted_ERA | - | 4.5765 | 4.5765 | form_only |
| predicted_H | 0.0000 | 0.4910 | 0.1292 | model_form_blend |
| predicted_HR | 0.0000 | 0.0610 | 0.0161 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.4500 | 0.8553 | model_form_blend |
| predicted_WHIP | - | 1.3520 | 1.3520 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 1 |
| Season rows before report date | 1 |
| Report year | 2026 |
| Profile rows used | 1 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| Pitches | 6 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 10 |
| Pitching_ER | 2 |
| Pitching_ERA | 7.71 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 5 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.1 |
| Pitching_Pitches | 33 |
| Pitching_R | 2 |
| Pitching_SO | 1 |
| Pitching_Strikes | 26 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260326_CHW@MIL |
| game_type | full |
| mlbID | 656794 |
| playerID | 656794 |
| playerName | Sean Newcomb |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-03-26 |
| game_pk | 823812.0 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.288 |
| sl_xwoba | 0.29 |
| sl_sweet_spot_percent | 31.2 |
| sl_barrel_batted_rate | 4.3 |
| sl_hard_hit_percent | 33.3 |
| sl_whiff_percent | 23.9 |
| sl_swing_percent | 45.3 |
| sv_pitch_count | 37.0 |
| sv_outs_recorded_est | 6.0 |
| sv_release_speed | 90.8030303030303 |
| sv_release_spin_rate | 2396.818181818182 |
| sv_effective_speed | 89.39393939393939 |
| sv_launch_speed | 79.68571428571428 |
| sv_launch_angle | 4.428571428571429 |
| sv_woba_value | 3.3 |
| sv_woba_denom | 8.0 |
| sv_delta_run_exp | 0.0589999999999999 |
| sv_delta_home_win_exp | 0.0319999999999999 |
| sl_avg_best_speed | 72.980688261 |
| sl_avg_hyper_speed | 93.23613087 |
| 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 | 1.000 | 1.000 | 1.000 | Pitching_H | 1.500 | 2.000 | -0.500 | -1.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.550 | 0.100 | 0.650 | 1.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.000 | 0.000 | 1.000 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.2000 (boost 1.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 -> 1.2000 (boost 1.1000, better) | - | 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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 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": 0.1,
"after": 1.2,
"delta": 1.1,
"percent_delta": 11.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.2,
"delta": 1.1,
"percent_delta": 11.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.2,
"delta": 1.1,
"percent_delta": 11.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.2,
"delta": 1.1,
"percent_delta": 11.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 | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 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.1850 |
| predicted_ERA | 4.7483 |
| predicted_H | 0.3550 |
| predicted_HR | 0.0580 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3130 |
| predicted_WHIP | 1.4027 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1360 | 0.0338 | model_form_blend |
| predicted_ER | 0.0000 | 0.1850 | 0.0460 | model_form_blend |
| predicted_ERA | - | 4.7483 | 4.7483 | form_only |
| predicted_H | 1.0000 | 0.3550 | 0.8396 | model_form_blend |
| predicted_HR | 0.0000 | 0.0580 | 0.0144 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.3130 | 0.8292 | model_form_blend |
| predicted_WHIP | - | 1.4027 | 1.4027 | 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 | 1.2 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 6 |
| Pitches | 24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 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.9 |
| sl_bb_percent | 11.3 |
| sl_woba | 0.298 |
| sl_xwoba | 0.352 |
| sl_sweet_spot_percent | 41.1 |
| sl_barrel_batted_rate | 10.9 |
| sl_hard_hit_percent | 35.7 |
| sl_whiff_percent | 28.6 |
| sl_swing_percent | 42.8 |
| 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 | 81.018908929 |
| sl_avg_hyper_speed | 94.584140364 |
| Field | Value |
|---|---|
| Pitcher | Joe Ryan |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.3440 |
| ESPN Rank | 38 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0938 |
| Avg Velo | 88.0197 |
| Avg Spin | 2357.3548 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 2 |
| Pre H | 3 |
| Pre BB | 4 |
| Pre SO | 6 |
| Season ERA | 2.9378 |
| Season WHIP | 0.9326 |
| Role Avg IP | 5.3610 |
| Recent Avg IP | 5.2000 |
| Last Start IP | 7.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 66,
"wins": 30,
"losses": 36,
"win_pct": 0.4545,
"runs_scored": 311.0,
"runs_allowed": 320.0,
"run_differential": -9.0,
"run_differential_per_game": -0.1364,
"avg_runs_scored": 4.7121,
"avg_runs_allowed": 4.8485,
"offense_index": 1.0636,
"defense_index": 0.9138,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 6.5,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.0906
},
"opponent": {
"team": "CHW",
"games": 66,
"wins": 33,
"losses": 33,
"win_pct": 0.5,
"runs_scored": 306.0,
"runs_allowed": 311.0,
"run_differential": -5.0,
"run_differential_per_game": -0.0758,
"avg_runs_scored": 4.6364,
"avg_runs_allowed": 4.7121,
"offense_index": 1.0465,
"defense_index": 0.9402,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 3.7,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.0606
},
"edges": {
"quality_edge": -0.1512,
"offense_edge": 0.0636,
"opponent_offense_edge": 0.0465,
"defense_strength": -0.0862,
"opponent_defense_weakness": 0.0598,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9895,
"run_prevention": 1.0236,
"strikeout": 0.9917
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "657746",
"profile": {
"available": true,
"pitcher_id": "657746",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 203.0,
"k_percent": 27.5,
"bb_percent": 5.5,
"woba": 0.253,
"xwoba": 0.269,
"sweet_spot_percent": 30.1,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 41.0,
"avg_best_speed": 79.1675,
"avg_hyper_speed": 94.3839,
"whiff_percent": 25.9,
"swing_percent": 50.6
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.6147,
"command_and_miss": 0.51,
"regression_edge": -0.4571,
"xwoba_edge": 1.2286,
"barrel_edge": -0.5333,
"hard_hit_edge": -0.3429,
"whiff_edge": 0.0143,
"bb_edge": 0.95,
"pitch_design_score": -0.0938
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "657746",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 73,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 73,
"pitch_usage": 0.0,
"release_speed": 88.01971106687259,
"release_spin_rate": 2357.354838456103,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 73,
"pitch_usage": 0.0,
"release_speed": 88.01971106687259,
"release_spin_rate": 2357.354838456103,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0197,
"release_spin_rate": 2357.3548,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0938,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6702,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.344,
"sample_weight": 0.812,
"run_prevention_factor": 0.9708,
"strikeout_factor": 1.0232,
"walk_factor": 0.9383,
"homer_factor": 1.0159,
"woba_minus_xwoba": -0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657746",
"espn_id": 42450,
"player_name": "Joe Ryan",
"team": "MIN",
"role": "pitcher",
"espn_rank": 38,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 38,
"gp_value": 12.0,
"gp_rank": 227,
"gs_value": 12.0,
"gs_rank": 2,
"qs_value": 7.0,
"qs_rank": 12,
"era_value": 2.9378,
"era_rank": 18.0,
"w_value": 3.0,
"w_rank": 74,
"l_value": 3.0,
"l_rank": 75,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 64.1,
"ip_rank": 41,
"h_value": 46.0,
"h_rank": 105,
"er_value": 21.0,
"er_rank": 108,
"hr_value": 4.0,
"hr_rank": 150,
"bb_value": 14.0,
"bb_rank": 156,
"k_value": 70.0,
"k_rank": 20,
"k_per_9_value": 9.792747,
"k_per_9_rank": 13,
"whip_value": 0.9326,
"whip_rank": 4.0,
"war_value": 1.5,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9763,
"adjusted": 1
},
"predicted_H": {
"original": 3.0,
"factor": 0.9763,
"adjusted": 3
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9499,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0129,
"adjusted": 0
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0188,
"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": 55.0,
"ER": 16,
"H": 36,
"BB": 12,
"SO": 60,
"HR": 4,
"ERA": 2.618181818181818,
"WHIP": 0.8727272727272727,
"K9": 9.818181818181818,
"HR9": 0.6545454545454545,
"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-26T00:00:00"
}{
"available": true,
"pitcher_id": "657746",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 73,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 73,
"pitch_usage": 0.0,
"release_speed": 88.01971106687259,
"release_spin_rate": 2357.354838456103,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 73,
"pitch_usage": 0.0,
"release_speed": 88.01971106687259,
"release_spin_rate": 2357.354838456103,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0197,
"release_spin_rate": 2357.3548,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0938,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6702,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7059,
"prior_weight": 0.2941
},
"role": "pitcher",
"player_id": "657746",
"report_date": "20260601_C",
"season_year": 2026,
"rows_used": 12,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 26.0,
"ER": 5.0,
"R": 5.0,
"H": 15.0,
"BB": 5.0,
"SO": 31.0,
"HR": 1.0,
"BF": 100.0,
"Pitches": 403.0
},
"per_game": {
"IP": 5.1,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 1.0,
"SO": 6.2,
"HR": 0.2,
"BF": 20.0,
"Pitches": 80.6
},
"rates": {
"ERA": 1.7308,
"WHIP": 0.7692,
"ER_per_IP": 0.19231,
"H_per_IP": 0.57692,
"BB_per_IP": 0.19231,
"SO_per_IP": 1.19231,
"HR_per_IP": 0.03846
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 55.0,
"ER": 16.0,
"R": 21.0,
"H": 36.0,
"BB": 12.0,
"SO": 60.0,
"HR": 4.0,
"BF": 216.0,
"Pitches": 869.0
},
"per_game": {
"IP": 5.1,
"ER": 1.6,
"R": 2.1,
"H": 3.6,
"BB": 1.2,
"SO": 6.0,
"HR": 0.4,
"BF": 21.6,
"Pitches": 86.9
},
"rates": {
"ERA": 2.6182,
"WHIP": 0.8727,
"ER_per_IP": 0.29091,
"H_per_IP": 0.65455,
"BB_per_IP": 0.21818,
"SO_per_IP": 1.09091,
"HR_per_IP": 0.07273
}
},
"season": {
"games": 12,
"totals": {
"IP": 64.1,
"ER": 21.0,
"R": 26.0,
"H": 46.0,
"BB": 14.0,
"SO": 70.0,
"HR": 4.0,
"BF": 255.0,
"Pitches": 1031.0
},
"per_game": {
"IP": 5.1,
"ER": 1.75,
"R": 2.1667,
"H": 3.8333,
"BB": 1.1667,
"SO": 5.8333,
"HR": 0.3333,
"BF": 21.25,
"Pitches": 85.9167
},
"rates": {
"ERA": 2.9378,
"WHIP": 0.9326,
"ER_per_IP": 0.32642,
"H_per_IP": 0.71503,
"BB_per_IP": 0.21762,
"SO_per_IP": 1.08808,
"HR_per_IP": 0.06218
}
}
},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 1.765,
"predicted_H": 4.011,
"predicted_BB": 1.405,
"predicted_SO": 5.964,
"predicted_HR": 0.433,
"predicted_ERA": 2.8724,
"predicted_WHIP": 0.9794
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4743,
"form_weight": 0.5257,
"form_reliability": 0.7059,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7059,
"prior_weight": 0.2941
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.765,
"final": 1.8765,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 4.011,
"final": 3.5315,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 4.0,
"form": 1.405,
"final": 2.6357,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 5.964,
"final": 5.0326,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.433,
"final": 0.7019,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8724,
"final": 2.8724,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9794,
"final": 0.9794,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Eric Orze |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0629 |
| ESPN Rank | 183 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2135 |
| Avg Velo | 85.8827 |
| Avg Spin | 2018.5778 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.9512 |
| Season WHIP | 1.3902 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 66,
"wins": 30,
"losses": 36,
"win_pct": 0.4545,
"runs_scored": 311.0,
"runs_allowed": 320.0,
"run_differential": -9.0,
"run_differential_per_game": -0.1364,
"avg_runs_scored": 4.7121,
"avg_runs_allowed": 4.8485,
"offense_index": 1.0636,
"defense_index": 0.9138,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 6.5,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.0906
},
"opponent": {
"team": "CHW",
"games": 66,
"wins": 33,
"losses": 33,
"win_pct": 0.5,
"runs_scored": 306.0,
"runs_allowed": 311.0,
"run_differential": -5.0,
"run_differential_per_game": -0.0758,
"avg_runs_scored": 4.6364,
"avg_runs_allowed": 4.7121,
"offense_index": 1.0465,
"defense_index": 0.9402,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 3.7,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.0606
},
"edges": {
"quality_edge": -0.1512,
"offense_edge": 0.0636,
"opponent_offense_edge": 0.0465,
"defense_strength": -0.0862,
"opponent_defense_weakness": 0.0598,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9895,
"run_prevention": 1.0236,
"strikeout": 0.9917
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "679358",
"profile": {
"available": true,
"pitcher_id": "679358",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 110.0,
"k_percent": 21.2,
"bb_percent": 11.0,
"woba": 0.279,
"xwoba": 0.298,
"sweet_spot_percent": 38.8,
"barrel_batted_rate": 5.0,
"hard_hit_percent": 31.3,
"avg_best_speed": 75.2416,
"avg_hyper_speed": 93.2143,
"whiff_percent": 24.5,
"swing_percent": 44.0
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.4885,
"command_and_miss": -0.24,
"regression_edge": -0.5429,
"xwoba_edge": 0.4,
"barrel_edge": 0.4889,
"hard_hit_edge": 1.0429,
"whiff_edge": -0.1857,
"bb_edge": -0.425,
"pitch_design_score": -0.2135
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "679358",
"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": 85.88265413315652,
"release_spin_rate": 2018.5777884598785,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 85.88265413315652,
"release_spin_rate": 2018.5777884598785,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 85.8827,
"release_spin_rate": 2018.5778,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2135,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.525,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0629,
"sample_weight": 0.45,
"run_prevention_factor": 0.9947,
"strikeout_factor": 0.9931,
"walk_factor": 1.0153,
"homer_factor": 0.9582,
"woba_minus_xwoba": -0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "679358",
"espn_id": 4299966,
"player_name": "Eric Orze",
"team": "MIN",
"role": "pitcher",
"espn_rank": 183,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 183,
"gp_value": 23.0,
"gp_rank": 87,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 3.9512,
"era_rank": null,
"w_value": 2.0,
"w_rank": 141,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 6.0,
"hld_rank": 51,
"ip_value": 27.1,
"ip_rank": 199,
"h_value": 25.0,
"h_rank": 199,
"er_value": 12.0,
"er_rank": 210,
"hr_value": 0.0,
"hr_rank": 529,
"bb_value": 13.0,
"bb_rank": 179,
"k_value": 25.0,
"k_rank": 236,
"k_per_9_value": 8.231707,
"k_per_9_rank": 32,
"whip_value": 1.3902,
"whip_rank": null,
"war_value": 0.44,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9976,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9976,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0069,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9812,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9969,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 13.0,
"ER": 4,
"H": 12,
"BB": 6,
"SO": 12,
"HR": 0,
"ERA": 2.769230769230769,
"WHIP": 1.3846153846153846,
"K9": 8.307692307692308,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-29T00:00:00"
}{
"available": true,
"pitcher_id": "679358",
"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": 85.88265413315652,
"release_spin_rate": 2018.5777884598785,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 85.88265413315652,
"release_spin_rate": 2018.5777884598785,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 85.8827,
"release_spin_rate": 2018.5778,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2135,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.525,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.394,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.519,
"prior_weight": 0.481
},
"role": "pitcher",
"player_id": "679358",
"report_date": "20260601_C",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.1,
"ER": 3.0,
"R": 3.0,
"H": 6.0,
"BB": 1.0,
"SO": 8.0,
"HR": 0.0,
"BF": 26.0,
"Pitches": 95.0
},
"per_game": {
"IP": 1.1,
"ER": 0.6,
"R": 0.6,
"H": 1.2,
"BB": 0.2,
"SO": 1.6,
"HR": 0.0,
"BF": 5.2,
"Pitches": 19.0
},
"rates": {
"ERA": 4.2632,
"WHIP": 1.1053,
"ER_per_IP": 0.47368,
"H_per_IP": 0.94737,
"BB_per_IP": 0.15789,
"SO_per_IP": 1.26316,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 13.0,
"ER": 4.0,
"R": 4.0,
"H": 12.0,
"BB": 6.0,
"SO": 12.0,
"HR": 0.0,
"BF": 57.0,
"Pitches": 192.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.4,
"H": 1.2,
"BB": 0.6,
"SO": 1.2,
"HR": 0.0,
"BF": 5.7,
"Pitches": 19.2
},
"rates": {
"ERA": 2.7692,
"WHIP": 1.3846,
"ER_per_IP": 0.30769,
"H_per_IP": 0.92308,
"BB_per_IP": 0.46154,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.0
}
},
"season": {
"games": 23,
"totals": {
"IP": 27.1,
"ER": 12.0,
"R": 12.0,
"H": 25.0,
"BB": 13.0,
"SO": 25.0,
"HR": 0.0,
"BF": 118.0,
"Pitches": 436.0
},
"per_game": {
"IP": 1.1,
"ER": 0.5217,
"R": 0.5217,
"H": 1.087,
"BB": 0.5652,
"SO": 1.087,
"HR": 0.0,
"BF": 5.1304,
"Pitches": 18.9565
},
"rates": {
"ERA": 3.9512,
"WHIP": 1.3902,
"ER_per_IP": 0.43902,
"H_per_IP": 0.91463,
"BB_per_IP": 0.47561,
"SO_per_IP": 0.91463,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.588,
"predicted_H": 1.255,
"predicted_BB": 0.463,
"predicted_SO": 1.347,
"predicted_HR": 0.086,
"predicted_ERA": 3.9712,
"predicted_WHIP": 1.2882
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5532,
"form_weight": 0.4468,
"form_reliability": 0.519,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.394,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.519,
"prior_weight": 0.481
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.588,
"final": 0.2627,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.255,
"final": 0.5607,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.463,
"final": 0.2069,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.347,
"final": 1.155,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.086,
"final": 0.0384,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9712,
"final": 3.9712,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2882,
"final": 1.2882,
"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.3170 |
| ESPN Rank | 243 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0922 |
| Avg Velo | 91.3414 |
| Avg Spin | 2486.6262 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 4.2289 |
| Season WHIP | 1.3735 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 66,
"wins": 30,
"losses": 36,
"win_pct": 0.4545,
"runs_scored": 311.0,
"runs_allowed": 320.0,
"run_differential": -9.0,
"run_differential_per_game": -0.1364,
"avg_runs_scored": 4.7121,
"avg_runs_allowed": 4.8485,
"offense_index": 1.0636,
"defense_index": 0.9138,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 6.5,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.0906
},
"opponent": {
"team": "CHW",
"games": 66,
"wins": 33,
"losses": 33,
"win_pct": 0.5,
"runs_scored": 306.0,
"runs_allowed": 311.0,
"run_differential": -5.0,
"run_differential_per_game": -0.0758,
"avg_runs_scored": 4.6364,
"avg_runs_allowed": 4.7121,
"offense_index": 1.0465,
"defense_index": 0.9402,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 3.7,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.0606
},
"edges": {
"quality_edge": -0.1512,
"offense_edge": 0.0636,
"opponent_offense_edge": 0.0465,
"defense_strength": -0.0862,
"opponent_defense_weakness": 0.0598,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9895,
"run_prevention": 1.0236,
"strikeout": 0.9917
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "672782",
"profile": {
"available": true,
"pitcher_id": "672782",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 109.0,
"k_percent": 21.1,
"bb_percent": 11.4,
"woba": 0.333,
"xwoba": 0.365,
"sweet_spot_percent": 36.3,
"barrel_batted_rate": 12.3,
"hard_hit_percent": 39.7,
"avg_best_speed": 77.7846,
"avg_hyper_speed": 94.3178,
"whiff_percent": 23.3,
"swing_percent": 47.2
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.9563,
"command_and_miss": -0.3264,
"regression_edge": -0.9143,
"xwoba_edge": -1.5143,
"barrel_edge": -1.1333,
"hard_hit_edge": -0.1571,
"whiff_edge": -0.3571,
"bb_edge": -0.525,
"pitch_design_score": 0.0922
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "672782",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 91.34144418028757,
"release_spin_rate": 2486.626244885168,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 91.34144418028757,
"release_spin_rate": 2486.626244885168,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.3414,
"release_spin_rate": 2486.6262,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0922,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6585,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.317,
"sample_weight": 0.45,
"run_prevention_factor": 1.0269,
"strikeout_factor": 0.9897,
"walk_factor": 1.0189,
"homer_factor": 1.0641,
"woba_minus_xwoba": -0.032,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "672782",
"espn_id": 42898,
"player_name": "Yoendrys Gomez",
"team": "MIN",
"role": "pitcher",
"espn_rank": 243,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 243,
"gp_value": 21.0,
"gp_rank": 119,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 4.2289,
"era_rank": null,
"w_value": 0.0,
"w_rank": 368,
"l_value": 0.0,
"l_rank": 390,
"sv_value": 3.0,
"sv_rank": 37,
"hld_value": 5.0,
"hld_rank": 72,
"ip_value": 27.2,
"ip_rank": 190,
"h_value": 24.0,
"h_rank": 212,
"er_value": 13.0,
"er_rank": 187,
"hr_value": 5.0,
"hr_rank": 113,
"bb_value": 14.0,
"bb_rank": 156,
"k_value": 26.0,
"k_rank": 223,
"k_per_9_value": 8.457831,
"k_per_9_rank": 31,
"whip_value": 1.3734,
"whip_rank": null,
"war_value": 0.22,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0121,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0121,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0085,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0288,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9954,
"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": 4,
"SO": 13,
"HR": 0,
"ERA": 0.9310344827586208,
"WHIP": 0.9310344827586208,
"K9": 12.10344827586207,
"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-29T00:00:00"
}{
"available": true,
"pitcher_id": "672782",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 91.34144418028757,
"release_spin_rate": 2486.626244885168,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 91.34144418028757,
"release_spin_rate": 2486.626244885168,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.3414,
"release_spin_rate": 2486.6262,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0922,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6585,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.46,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.522,
"prior_weight": 0.478
},
"role": "pitcher",
"player_id": "672782",
"report_date": "20260601_C",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 2.0,
"H": 4.0,
"BB": 2.0,
"SO": 7.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 84.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.4,
"H": 0.8,
"BB": 0.4,
"SO": 1.4,
"HR": 0.0,
"BF": 4.2,
"Pitches": 16.8
},
"rates": {
"ERA": 1.8,
"WHIP": 1.2,
"ER_per_IP": 0.2,
"H_per_IP": 0.8,
"BB_per_IP": 0.4,
"SO_per_IP": 1.4,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 1.0,
"R": 2.0,
"H": 5.0,
"BB": 4.0,
"SO": 13.0,
"HR": 0.0,
"BF": 39.0,
"Pitches": 159.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.2,
"H": 0.5,
"BB": 0.4,
"SO": 1.3,
"HR": 0.0,
"BF": 3.9,
"Pitches": 15.9
},
"rates": {
"ERA": 0.931,
"WHIP": 0.931,
"ER_per_IP": 0.10345,
"H_per_IP": 0.51724,
"BB_per_IP": 0.41379,
"SO_per_IP": 1.34483,
"HR_per_IP": 0.0
}
},
"season": {
"games": 21,
"totals": {
"IP": 27.2,
"ER": 13.0,
"R": 15.0,
"H": 24.0,
"BB": 14.0,
"SO": 26.0,
"HR": 5.0,
"BF": 123.0,
"Pitches": 464.0
},
"per_game": {
"IP": 1.1,
"ER": 0.619,
"R": 0.7143,
"H": 1.1429,
"BB": 0.6667,
"SO": 1.2381,
"HR": 0.2381,
"BF": 5.8571,
"Pitches": 22.0952
},
"rates": {
"ERA": 4.2289,
"WHIP": 1.3735,
"ER_per_IP": 0.46988,
"H_per_IP": 0.86747,
"BB_per_IP": 0.50602,
"SO_per_IP": 0.93976,
"HR_per_IP": 0.18072
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.355,
"predicted_H": 0.856,
"predicted_BB": 0.412,
"predicted_SO": 1.161,
"predicted_HR": 0.086,
"predicted_ERA": 3.0839,
"predicted_WHIP": 1.2257
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.552,
"form_weight": 0.448,
"form_reliability": 0.522,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.46,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.522,
"prior_weight": 0.478
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.355,
"final": 0.711,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.856,
"final": 0.9355,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.412,
"final": 0.1846,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.161,
"final": 1.0721,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.086,
"final": 0.5905,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0839,
"final": 3.0839,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2257,
"final": 1.2257,
"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.2522 |
| ESPN Rank | 199 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2717 |
| Avg Velo | 84.8440 |
| Avg Spin | 2423.8192 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.9077 |
| Season WHIP | 1.4308 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 66,
"wins": 30,
"losses": 36,
"win_pct": 0.4545,
"runs_scored": 311.0,
"runs_allowed": 320.0,
"run_differential": -9.0,
"run_differential_per_game": -0.1364,
"avg_runs_scored": 4.7121,
"avg_runs_allowed": 4.8485,
"offense_index": 1.0636,
"defense_index": 0.9138,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 6.5,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.0906
},
"opponent": {
"team": "CHW",
"games": 66,
"wins": 33,
"losses": 33,
"win_pct": 0.5,
"runs_scored": 306.0,
"runs_allowed": 311.0,
"run_differential": -5.0,
"run_differential_per_game": -0.0758,
"avg_runs_scored": 4.6364,
"avg_runs_allowed": 4.7121,
"offense_index": 1.0465,
"defense_index": 0.9402,
"current_streak": "W5",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 3.7,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.0606
},
"edges": {
"quality_edge": -0.1512,
"offense_edge": 0.0636,
"opponent_offense_edge": 0.0465,
"defense_strength": -0.0862,
"opponent_defense_weakness": 0.0598,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9895,
"run_prevention": 1.0236,
"strikeout": 0.9917
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "573124",
"profile": {
"available": true,
"pitcher_id": "573124",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 93.0,
"k_percent": 17.7,
"bb_percent": 6.3,
"woba": 0.353,
"xwoba": 0.352,
"sweet_spot_percent": 50.0,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 31.9,
"avg_best_speed": 75.2395,
"avg_hyper_speed": 93.2454,
"whiff_percent": 17.3,
"swing_percent": 44.9
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.6932,
"command_and_miss": -0.59,
"regression_edge": 0.0286,
"xwoba_edge": -1.1429,
"barrel_edge": -0.2444,
"hard_hit_edge": 0.9571,
"whiff_edge": -1.2143,
"bb_edge": 0.75,
"pitch_design_score": -0.2717
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "573124",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 10,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 84.84402866684916,
"release_spin_rate": 2423.8191680733603,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 84.84402866684916,
"release_spin_rate": 2423.8191680733603,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 84.844,
"release_spin_rate": 2423.8192,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2717,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.9405,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2522,
"sample_weight": 0.45,
"run_prevention_factor": 1.0214,
"strikeout_factor": 0.9655,
"walk_factor": 0.973,
"homer_factor": 1.007,
"woba_minus_xwoba": 0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "573124",
"espn_id": 33671,
"player_name": "Taylor Rogers",
"team": "MIN",
"role": "pitcher",
"espn_rank": 199,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 199,
"gp_value": 25.0,
"gp_rank": 47,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 4.1538,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 2.0,
"l_rank": 140,
"sv_value": 2.0,
"sv_rank": 50,
"hld_value": 6.0,
"hld_rank": 51,
"ip_value": 21.2,
"ip_rank": 298,
"h_value": 28.0,
"h_rank": 164,
"er_value": 10.0,
"er_rank": 258,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 6.0,
"bb_rank": 379,
"k_value": 17.0,
"k_rank": 332,
"k_per_9_value": 7.061538,
"k_per_9_rank": 30,
"whip_value": 1.5692,
"whip_rank": null,
"war_value": 0.36,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0096,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0096,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9879,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0031,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9845,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.0,
"ER": 2,
"H": 10,
"BB": 0,
"SO": 7,
"HR": 1,
"ERA": 2.25,
"WHIP": 1.25,
"K9": 7.875,
"HR9": 1.125,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-29T00:00:00"
}{
"available": true,
"pitcher_id": "573124",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 10,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 84.84402866684916,
"release_spin_rate": 2423.8191680733603,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 84.84402866684916,
"release_spin_rate": 2423.8191680733603,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 84.844,
"release_spin_rate": 2423.8192,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2717,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.9405,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.276,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.461,
"prior_weight": 0.539
},
"role": "pitcher",
"player_id": "573124",
"report_date": "20260601_C",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.0,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 0.0,
"SO": 3.0,
"HR": 1.0,
"BF": 13.0,
"Pitches": 54.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.0,
"SO": 0.6,
"HR": 0.2,
"BF": 2.6,
"Pitches": 10.8
},
"rates": {
"ERA": 6.0,
"WHIP": 1.6667,
"ER_per_IP": 0.66667,
"H_per_IP": 1.66667,
"BB_per_IP": 0.0,
"SO_per_IP": 1.0,
"HR_per_IP": 0.33333
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.0,
"ER": 2.0,
"R": 2.0,
"H": 10.0,
"BB": 0.0,
"SO": 7.0,
"HR": 1.0,
"BF": 33.0,
"Pitches": 139.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.0,
"SO": 0.7,
"HR": 0.1,
"BF": 3.3,
"Pitches": 13.9
},
"rates": {
"ERA": 2.25,
"WHIP": 1.25,
"ER_per_IP": 0.25,
"H_per_IP": 1.25,
"BB_per_IP": 0.0,
"SO_per_IP": 0.875,
"HR_per_IP": 0.125
}
},
"season": {
"games": 24,
"totals": {
"IP": 21.2,
"ER": 7.0,
"R": 7.0,
"H": 26.0,
"BB": 5.0,
"SO": 17.0,
"HR": 1.0,
"BF": 93.0,
"Pitches": 359.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2917,
"R": 0.2917,
"H": 1.0833,
"BB": 0.2083,
"SO": 0.7083,
"HR": 0.0417,
"BF": 3.875,
"Pitches": 14.9583
},
"rates": {
"ERA": 2.9077,
"WHIP": 1.4308,
"ER_per_IP": 0.32308,
"H_per_IP": 1.2,
"BB_per_IP": 0.23077,
"SO_per_IP": 0.78462,
"HR_per_IP": 0.04615
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.324,
"predicted_H": 0.816,
"predicted_BB": 0.153,
"predicted_SO": 0.647,
"predicted_HR": 0.116,
"predicted_ERA": 4.1869,
"predicted_WHIP": 1.3901
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5777,
"form_weight": 0.4223,
"form_reliability": 0.461,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.276,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.461,
"prior_weight": 0.539
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.324,
"final": 0.1368,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.816,
"final": 0.9223,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.153,
"final": 0.0646,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 0.647,
"final": 2.0064,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.116,
"final": 0.049,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.1869,
"final": 4.1869,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3901,
"final": 1.3901,
"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 | 0.000 | 0.000 | Hitting_2B | 0.227 | 0.000 | -0.227 | 0.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 4.700 | 4.000 | 9.000 | Hitting_AB | 4.277 | 4.000 | -0.277 | 0.000 |
| predicted_AVG | 0.226 | 0.250 | 0.222 | Hitting_AVG | 0.269 | 0.500 | -0.019 | -0.250 |
| 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.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.060 | 1.000 | 2.000 | Hitting_H | 1.150 | 2.000 | -0.150 | -1.000 |
| predicted_HR | 0.260 | 0.000 | 1.000 | Hitting_HR | 0.377 | 0.000 | -0.377 | 0.000 |
| predicted_OBP | 0.321 | 0.250 | 0.300 | Hitting_OBP | 0.329 | 0.600 | -0.079 | -0.350 |
| predicted_R | 0.845 | 0.000 | 2.000 | Hitting_R | 0.845 | 2.000 | -0.845 | -2.000 |
| predicted_RBI | 0.490 | 0.000 | 1.000 | Hitting_RBI | 0.614 | 0.000 | -0.614 | 0.000 |
| predicted_SLG | 0.460 | 0.250 | 0.556 | Hitting_SLG | 0.595 | 0.500 | -0.345 | -0.250 |
| predicted_SO | 1.250 | 0.000 | 3.000 | Hitting_SO | 1.250 | 2.000 | -1.250 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SLG: 0.4600 -> 0.5152 (boost 0.0552, better) |
| Biggest Deboost | predicted_SO: 1.2500 -> 0.0000 (deboost -1.2500, 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.7000 -> 9.3795 (boost 4.6795, 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.4958 -> 0.5152 (boost 0.0194, better) | predicted_OBP: 0.3333 -> 0.3268 (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 | 6 | 1 | 5 | 1 | 5 | predicted_HR: 0.6495 -> 1.0000 (boost 0.3505, better) | predicted_H: 2.4226 -> 2.0000 (deboost -0.4226, worse) | AB rounded to 9 (raw=9.38), rates preserved: AVG=0.258 HR/AB=0.069 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.6881 -> 2.0000 (boost 0.3119, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.5152 -> 0.5560 (boost 0.0408, better) | predicted_AVG: 0.2583 -> 0.2220 (deboost -0.0363, 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 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2220 -> 0.2583 (boost 0.0363, better) | predicted_SLG: 0.5560 -> 0.5152 (deboost -0.0408, 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.227,
"predicted_3B": 0.018,
"predicted_AB": 4.7,
"predicted_AVG": 0.226,
"predicted_BB": 0.345,
"predicted_H": 1.06,
"predicted_HR": 0.26,
"predicted_OBP": 0.321,
"predicted_R": 0.845,
"predicted_RBI": 0.49,
"predicted_SLG": 0.46,
"predicted_SO": 1.25
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3975,
"predicted_3B": 0.0317,
"predicted_AB": 9.3795,
"predicted_AVG": 0.2465,
"predicted_BB": 0.9559,
"predicted_H": 2.4321,
"predicted_HBP": 0.134,
"predicted_HR": 0.6456,
"predicted_OBP": 0.3333,
"predicted_R": 1.7046,
"predicted_RBI": 1.0647,
"predicted_SLG": 0.4958,
"predicted_SO": 3.0166
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.227,
"after": 0.3975,
"delta": 0.1705,
"percent_delta": 0.7511,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0317,
"delta": 0.0137,
"percent_delta": 0.7611,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.7,
"after": 9.3795,
"delta": 4.6795,
"percent_delta": 0.9956,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2465,
"delta": 0.0205,
"percent_delta": 0.0907,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.345,
"after": 0.9559,
"delta": 0.6109,
"percent_delta": 1.7707,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 2.4321,
"delta": 1.3721,
"percent_delta": 1.2944,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.26,
"after": 0.6456,
"delta": 0.3856,
"percent_delta": 1.4831,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3333,
"delta": 0.0123,
"percent_delta": 0.0383,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.845,
"after": 1.7046,
"delta": 0.8596,
"percent_delta": 1.0173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 1.0647,
"delta": 0.5747,
"percent_delta": 1.1729,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.46,
"after": 0.4958,
"delta": 0.0358,
"percent_delta": 0.0778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.25,
"after": 3.0166,
"delta": 1.7666,
"percent_delta": 1.4133,
"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.7,
"after": 9.3795,
"delta": 4.6795,
"percent_delta": 0.9956,
"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": 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.3975,
"predicted_3B": 0.0317,
"predicted_AB": 9.3795,
"predicted_AVG": 0.2583,
"predicted_BB": 0.954,
"predicted_H": 2.4226,
"predicted_HBP": 0.134,
"predicted_HR": 0.6495,
"predicted_OBP": 0.3268,
"predicted_R": 1.6881,
"predicted_RBI": 1.0544,
"predicted_SLG": 0.5152,
"predicted_SO": 3.0226
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3975,
"after": 0.3975,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0317,
"after": 0.0317,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.3795,
"after": 9.3795,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2465,
"after": 0.2583,
"delta": 0.0118,
"percent_delta": 0.0479,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9559,
"after": 0.954,
"delta": -0.0019,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.4321,
"after": 2.4226,
"delta": -0.0095,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.134,
"after": 0.134,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.6456,
"after": 0.6495,
"delta": 0.0039,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3333,
"after": 0.3268,
"delta": -0.0065,
"percent_delta": -0.0195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.7046,
"after": 1.6881,
"delta": -0.0165,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0647,
"after": 1.0544,
"delta": -0.0103,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4958,
"after": 0.5152,
"delta": 0.0194,
"percent_delta": 0.0391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0166,
"after": 3.0226,
"delta": 0.006,
"percent_delta": 0.002,
"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.4958,
"after": 0.5152,
"delta": 0.0194,
"percent_delta": 0.0391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3333,
"after": 0.3268,
"delta": -0.0065,
"percent_delta": -0.0195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=9.38), rates preserved: AVG=0.258 HR/AB=0.069",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3975,
"after": 0.0,
"delta": -0.3975,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0317,
"after": 0.0,
"delta": -0.0317,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.3795,
"after": 9.0,
"delta": -0.3795,
"percent_delta": -0.0405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.954,
"after": 1.0,
"delta": 0.046,
"percent_delta": 0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.4226,
"after": 2.0,
"delta": -0.4226,
"percent_delta": -0.1744,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.134,
"after": 0.0,
"delta": -0.134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.6495,
"after": 1.0,
"delta": 0.3505,
"percent_delta": 0.5396,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0544,
"after": 1.0,
"delta": -0.0544,
"percent_delta": -0.0516,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0226,
"after": 3.0,
"delta": -0.0226,
"percent_delta": -0.0075,
"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_HR",
"before": 0.6495,
"after": 1.0,
"delta": 0.3505,
"percent_delta": 0.5396,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.4226,
"after": 2.0,
"delta": -0.4226,
"percent_delta": -0.1744,
"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": 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": 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.6881,
"after": 2.0,
"delta": 0.3119,
"percent_delta": 0.1848,
"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.6881,
"after": 2.0,
"delta": 0.3119,
"percent_delta": 0.1848,
"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": 1.0,
"predicted_OBP": 0.3,
"predicted_R": 2.0,
"predicted_RBI": 1.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.2583,
"after": 0.222,
"delta": -0.0363,
"percent_delta": -0.1405,
"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.3268,
"after": 0.3,
"delta": -0.0268,
"percent_delta": -0.082,
"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.5152,
"after": 0.556,
"delta": 0.0408,
"percent_delta": 0.0792,
"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.5152,
"after": 0.556,
"delta": 0.0408,
"percent_delta": 0.0792,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2583,
"after": 0.222,
"delta": -0.0363,
"percent_delta": -0.1405,
"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": 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": 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": 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.2583,
"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.3268,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5152,
"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.2583,
"delta": 0.0363,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3268,
"delta": 0.0268,
"percent_delta": 0.0892,
"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.556,
"after": 0.5152,
"delta": -0.0408,
"percent_delta": -0.0734,
"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.222,
"after": 0.2583,
"delta": 0.0363,
"percent_delta": 0.1635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.556,
"after": 0.5152,
"delta": -0.0408,
"percent_delta": -0.0734,
"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": 0.0,
"delta": -0.227,
"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.7,
"after": 4.0,
"delta": -0.7,
"percent_delta": -0.1489,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2583,
"delta": 0.0323,
"percent_delta": 0.1429,
"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": 1.06,
"after": 1.0,
"delta": -0.06,
"percent_delta": -0.0566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.26,
"after": 0.0,
"delta": -0.26,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3268,
"delta": 0.0058,
"percent_delta": 0.0181,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.845,
"after": 0.0,
"delta": -0.845,
"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.46,
"after": 0.5152,
"delta": 0.0552,
"percent_delta": 0.12,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.25,
"after": 0.0,
"delta": -1.25,
"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_SLG",
"before": 0.46,
"after": 0.5152,
"delta": 0.0552,
"percent_delta": 0.12,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.25,
"after": 0.0,
"delta": -1.25,
"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.227 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 4.700 | - |
| predicted_AVG | 0.226 | - |
| predicted_BB | 0.345 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.260 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.845 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.460 | - |
| predicted_SO | 1.250 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.398 | 0.171 |
| predicted_3B | 0.032 | 0.014 |
| predicted_AB | 9.380 | 4.679 |
| predicted_AVG | 0.246 | 0.020 |
| predicted_BB | 0.956 | 0.611 |
| predicted_H | 2.432 | 1.372 |
| predicted_HBP | 0.134 | - |
| predicted_HR | 0.646 | 0.386 |
| predicted_OBP | 0.333 | 0.012 |
| predicted_R | 1.705 | 0.860 |
| predicted_RBI | 1.065 | 0.575 |
| predicted_SLG | 0.496 | 0.036 |
| predicted_SO | 3.017 | 1.767 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.398 | 0.000 |
| predicted_3B | 0.032 | 0.000 |
| predicted_AB | 9.380 | 0.000 |
| predicted_AVG | 0.258 | 0.012 |
| predicted_BB | 0.954 | -0.002 |
| predicted_H | 2.423 | -0.010 |
| predicted_HBP | 0.134 | 0.000 |
| predicted_HR | 0.649 | 0.004 |
| predicted_OBP | 0.327 | -0.007 |
| predicted_R | 1.688 | -0.016 |
| predicted_RBI | 1.054 | -0.010 |
| predicted_SLG | 0.515 | 0.019 |
| predicted_SO | 3.023 | 0.006 |
AB rounded to 9 (raw=9.38), rates preserved: AVG=0.258 HR/AB=0.069
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 9.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 1.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 3.000 | - |
Enforced H<=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 | 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.398 |
| predicted_3B | 0.000 | -0.032 |
| predicted_AB | 9.000 | -0.380 |
| predicted_AVG | 0.222 | -0.036 |
| predicted_BB | 1.000 | 0.046 |
| predicted_H | 2.000 | -0.423 |
| predicted_HR | 1.000 | 0.351 |
| predicted_OBP | 0.300 | -0.027 |
| predicted_R | 2.000 | 0.312 |
| predicted_RBI | 1.000 | -0.054 |
| predicted_SLG | 0.556 | 0.041 |
| predicted_SO | 3.000 | -0.023 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -5.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -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 | 3 | - | 17.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 4.000 | 10.000 | 0.2941 | 0.4286 | 0.2941 | 0.2941 | 0.0000 | 0.0000 | 0.2353 | 0.5882 |
| last_10 | 0.20 | 5 | - | 33.000 | 9.000 | 0.000 | 0.000 | 3.000 | 3.000 | 6.000 | 6.000 | 13.000 | 0.2727 | 0.3846 | 0.5455 | 0.2727 | 0.0909 | 0.0909 | 0.1818 | 0.3939 |
| season | 0.60 | 50 | - | 941.000 | 253.000 | 50.000 | 4.000 | 83.000 | 135.000 | 186.000 | 76.000 | 275.000 | 0.2689 | 0.3295 | 0.5951 | 0.2689 | 0.0882 | 0.1435 | 0.0808 | 0.2922 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6130 |
| predicted_3B | 0.0490 |
| predicted_AB | 15.2930 |
| predicted_AVG | 0.2724 |
| predicted_BB | 1.7280 |
| predicted_H | 4.1660 |
| predicted_HBP | 0.1340 |
| predicted_HR | 1.1330 |
| predicted_OBP | 0.3488 |
| predicted_R | 2.7910 |
| predicted_RBI | 1.7910 |
| predicted_SLG | 0.5411 |
| predicted_SO | 5.2490 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2270 | 0.6130 | 0.3975 | model_form_blend |
| predicted_3B | 0.0180 | 0.0490 | 0.0317 | model_form_blend |
| predicted_AB | 4.7000 | 15.2930 | 9.3795 | model_form_blend |
| predicted_AVG | 0.2260 | 0.2724 | 0.2465 | model_form_blend |
| predicted_BB | 0.3450 | 1.7280 | 0.9559 | model_form_blend |
| predicted_H | 1.0600 | 4.1660 | 2.4321 | model_form_blend |
| predicted_HBP | - | 0.1340 | 0.1340 | form_only |
| predicted_HR | 0.2600 | 1.1330 | 0.6456 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3488 | 0.3333 | model_form_blend |
| predicted_R | 0.8450 | 2.7910 | 1.7046 | model_form_blend |
| predicted_RBI | 0.4900 | 1.7910 | 1.0647 | model_form_blend |
| predicted_SLG | 0.4600 | 0.5411 | 0.4958 | model_form_blend |
| predicted_SO | 1.2500 | 5.2490 | 3.0166 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 220 |
| Season rows before report date | 220 |
| Report year | 2026 |
| Profile rows used | 220 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.269 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.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 | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260530_MIN@PIT |
| game_type | full |
| mlbID | 621439 |
| playerID | 621439 |
| playerName | Byron Buxton |
| pos | CF |
| started | True |
| startingPosition | DH |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-30 |
| sl_k_percent | 26.6 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.38 |
| sl_xwoba | 0.331 |
| sl_xba | 0.229 |
| sl_xslg | 0.48 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 18.9 |
| sl_hard_hit_percent | 47.3 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 23.4 |
| sl_whiff_percent | 32.0 |
| sl_swing_percent | 52.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.235 | 0.000 | 0.000 | Hitting_2B | 0.234 | 0.000 | -0.234 | 0.000 |
| predicted_3B | 0.035 | 0.000 | 0.000 | Hitting_3B | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_AB | 3.647 | 4.000 | 7.000 | Hitting_AB | 3.626 | 4.000 | 0.374 | 0.000 |
| predicted_AVG | 0.226 | 0.000 | 0.143 | Hitting_AVG | 0.229 | 0.000 | -0.229 | 0.000 |
| predicted_BB | 0.341 | 0.000 | 1.000 | Hitting_BB | 0.339 | 0.000 | -0.339 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_H | 0.330 | 0.000 | 1.000 | Hitting_H | 0.830 | 0.000 | -0.830 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_OBP | 0.274 | 0.000 | 0.250 | Hitting_OBP | 0.315 | 0.000 | -0.315 | 0.000 |
| predicted_R | 0.465 | 0.000 | 1.000 | Hitting_R | 0.462 | 0.000 | -0.462 | 0.000 |
| predicted_RBI | 0.210 | 0.000 | 1.000 | Hitting_RBI | 0.409 | 0.000 | -0.409 | 0.000 |
| predicted_SLG | 0.442 | 0.000 | 0.143 | Hitting_SLG | 0.419 | 0.000 | -0.419 | 0.000 |
| predicted_SO | 0.935 | 0.000 | 2.000 | Hitting_SO | 0.930 | 2.000 | -0.930 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 3.6470 -> 4.0000 (boost 0.3530, better) |
| Biggest Deboost | predicted_SO: 0.9350 -> 0.0000 (deboost -0.9350, 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.6470 -> 6.8742 (boost 3.2272, 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.4400 -> 0.3761 (deboost -0.0639, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 4 | 5 | 3 | 6 | predicted_BB: 0.5304 -> 1.0000 (boost 0.4696, better) | predicted_2B: 0.4159 -> 0.0000 (deboost -0.4159, worse) | AB rounded to 7 (raw=6.87), rates preserved: AVG=0.181 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8391 -> 1.0000 (boost 0.1609, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2396 -> 0.2500 (boost 0.0104, better) | predicted_SLG: 0.3761 -> 0.1430 (deboost -0.2331, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.1430 -> 0.3761 (boost 0.2331, better) | predicted_OBP: 0.2500 -> 0.2396 (deboost -0.0104, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665019",
"player_name": "Kody Clemens",
"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.235,
"predicted_3B": 0.035,
"predicted_AB": 3.647,
"predicted_AVG": 0.226,
"predicted_BB": 0.341,
"predicted_H": 0.33,
"predicted_HR": 0.07,
"predicted_OBP": 0.274,
"predicted_R": 0.465,
"predicted_RBI": 0.21,
"predicted_SLG": 0.442,
"predicted_SO": 0.935
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4159,
"predicted_3B": 0.1042,
"predicted_AB": 6.8742,
"predicted_AVG": 0.2235,
"predicted_BB": 0.5315,
"predicted_H": 1.2488,
"predicted_HBP": 0.26,
"predicted_HR": 0.2377,
"predicted_OBP": 0.2788,
"predicted_R": 0.8473,
"predicted_RBI": 0.7044,
"predicted_SLG": 0.44,
"predicted_SO": 1.7719
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.4159,
"delta": 0.1809,
"percent_delta": 0.7698,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.035,
"after": 0.1042,
"delta": 0.0692,
"percent_delta": 1.9771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.647,
"after": 6.8742,
"delta": 3.2272,
"percent_delta": 0.8849,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2235,
"delta": -0.0025,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.341,
"after": 0.5315,
"delta": 0.1905,
"percent_delta": 0.5587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 1.2488,
"delta": 0.9188,
"percent_delta": 2.7842,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.2377,
"delta": 0.1677,
"percent_delta": 2.3957,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.2788,
"delta": 0.0048,
"percent_delta": 0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.465,
"after": 0.8473,
"delta": 0.3823,
"percent_delta": 0.8222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.21,
"after": 0.7044,
"delta": 0.4944,
"percent_delta": 2.3543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.44,
"delta": -0.002,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.935,
"after": 1.7719,
"delta": 0.8369,
"percent_delta": 0.8951,
"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.647,
"after": 6.8742,
"delta": 3.2272,
"percent_delta": 0.8849,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.4159,
"predicted_3B": 0.1042,
"predicted_AB": 6.8742,
"predicted_AVG": 0.181,
"predicted_BB": 0.5304,
"predicted_H": 1.2439,
"predicted_HBP": 0.26,
"predicted_HR": 0.2391,
"predicted_OBP": 0.2396,
"predicted_R": 0.8391,
"predicted_RBI": 0.6976,
"predicted_SLG": 0.3761,
"predicted_SO": 1.7754
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4159,
"after": 0.4159,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1042,
"after": 0.1042,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.8742,
"after": 6.8742,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2235,
"after": 0.181,
"delta": -0.0425,
"percent_delta": -0.1902,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5315,
"after": 0.5304,
"delta": -0.0011,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2488,
"after": 1.2439,
"delta": -0.0049,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.26,
"after": 0.26,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2377,
"after": 0.2391,
"delta": 0.0014,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2788,
"after": 0.2396,
"delta": -0.0392,
"percent_delta": -0.1406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8473,
"after": 0.8391,
"delta": -0.0082,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7044,
"after": 0.6976,
"delta": -0.0068,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.3761,
"delta": -0.0639,
"percent_delta": -0.1452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7719,
"after": 1.7754,
"delta": 0.0035,
"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.44,
"after": 0.3761,
"delta": -0.0639,
"percent_delta": -0.1452,
"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.181 HR/AB=0.035",
"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.4159,
"after": 0.0,
"delta": -0.4159,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1042,
"after": 0.0,
"delta": -0.1042,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.8742,
"after": 7.0,
"delta": 0.1258,
"percent_delta": 0.0183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5304,
"after": 1.0,
"delta": 0.4696,
"percent_delta": 0.8854,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2439,
"after": 1.0,
"delta": -0.2439,
"percent_delta": -0.1961,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"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.2391,
"after": 0.0,
"delta": -0.2391,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6976,
"after": 1.0,
"delta": 0.3024,
"percent_delta": 0.4335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7754,
"after": 2.0,
"delta": 0.2246,
"percent_delta": 0.1265,
"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_BB",
"before": 0.5304,
"after": 1.0,
"delta": 0.4696,
"percent_delta": 0.8854,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4159,
"after": 0.0,
"delta": -0.4159,
"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.8391,
"after": 1.0,
"delta": 0.1609,
"percent_delta": 0.1918,
"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.8391,
"after": 1.0,
"delta": 0.1609,
"percent_delta": 0.1918,
"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.181,
"after": 0.143,
"delta": -0.038,
"percent_delta": -0.2099,
"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.2396,
"after": 0.25,
"delta": 0.0104,
"percent_delta": 0.0434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3761,
"after": 0.143,
"delta": -0.2331,
"percent_delta": -0.6198,
"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.2396,
"after": 0.25,
"delta": 0.0104,
"percent_delta": 0.0434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3761,
"after": 0.143,
"delta": -0.2331,
"percent_delta": -0.6198,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 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": 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.181,
"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.2396,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3761,
"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.181,
"delta": 0.038,
"percent_delta": 0.2654,
"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.2396,
"delta": -0.0104,
"percent_delta": -0.0415,
"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.3761,
"delta": 0.2331,
"percent_delta": 1.6304,
"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.3761,
"delta": 0.2331,
"percent_delta": 1.6304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2396,
"delta": -0.0104,
"percent_delta": -0.0415,
"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.035,
"after": 0.0,
"delta": -0.035,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.647,
"after": 4.0,
"delta": 0.353,
"percent_delta": 0.0968,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.181,
"delta": -0.045,
"percent_delta": -0.1991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.341,
"after": 0.0,
"delta": -0.341,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"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.274,
"after": 0.2396,
"delta": -0.0344,
"percent_delta": -0.1255,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.465,
"after": 0.0,
"delta": -0.465,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.3761,
"delta": -0.0659,
"percent_delta": -0.1491,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.935,
"after": 0.0,
"delta": -0.935,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.647,
"after": 4.0,
"delta": 0.353,
"percent_delta": 0.0968,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.935,
"after": 0.0,
"delta": -0.935,
"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.235 | - |
| predicted_3B | 0.035 | - |
| predicted_AB | 3.647 | - |
| predicted_AVG | 0.226 | - |
| predicted_BB | 0.341 | - |
| predicted_H | 0.330 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.274 | - |
| predicted_R | 0.465 | - |
| predicted_RBI | 0.210 | - |
| predicted_SLG | 0.442 | - |
| predicted_SO | 0.935 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.416 | 0.181 |
| predicted_3B | 0.104 | 0.069 |
| predicted_AB | 6.874 | 3.227 |
| predicted_AVG | 0.224 | -0.003 |
| predicted_BB | 0.531 | 0.190 |
| predicted_H | 1.249 | 0.919 |
| predicted_HBP | 0.260 | - |
| predicted_HR | 0.238 | 0.168 |
| predicted_OBP | 0.279 | 0.005 |
| predicted_R | 0.847 | 0.382 |
| predicted_RBI | 0.704 | 0.494 |
| predicted_SLG | 0.440 | -0.002 |
| predicted_SO | 1.772 | 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.416 | 0.000 |
| predicted_3B | 0.104 | 0.000 |
| predicted_AB | 6.874 | 0.000 |
| predicted_AVG | 0.181 | -0.043 |
| predicted_BB | 0.530 | -0.001 |
| predicted_H | 1.244 | -0.005 |
| predicted_HBP | 0.260 | 0.000 |
| predicted_HR | 0.239 | 0.001 |
| predicted_OBP | 0.240 | -0.039 |
| predicted_R | 0.839 | -0.008 |
| predicted_RBI | 0.698 | -0.007 |
| predicted_SLG | 0.376 | -0.064 |
| predicted_SO | 1.775 | 0.004 |
AB rounded to 7 (raw=6.87), rates preserved: AVG=0.181 HR/AB=0.035
| 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.416 |
| predicted_3B | 0.000 | -0.104 |
| predicted_AB | 7.000 | 0.126 |
| predicted_AVG | 0.143 | -0.038 |
| predicted_BB | 1.000 | 0.470 |
| predicted_H | 1.000 | -0.244 |
| predicted_HR | 0.000 | -0.239 |
| predicted_OBP | 0.250 | 0.010 |
| predicted_R | 1.000 | 0.161 |
| predicted_RBI | 1.000 | 0.302 |
| predicted_SLG | 0.143 | -0.233 |
| predicted_SO | 2.000 | 0.225 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 21.000 | 4.000 | 1.000 | 1.000 | 1.000 | 3.000 | 2.000 | 0.000 | 6.000 | 0.1905 | 0.1905 | 0.4762 | 0.1905 | 0.0476 | 0.1429 | 0.0000 | 0.2857 |
| last_10 | 0.20 | 5 | - | 38.000 | 7.000 | 1.000 | 1.000 | 4.000 | 6.000 | 5.000 | 0.000 | 8.000 | 0.1842 | 0.1842 | 0.5789 | 0.1842 | 0.1053 | 0.1579 | 0.0000 | 0.2105 |
| season | 0.60 | 47 | - | 620.000 | 142.000 | 40.000 | 6.000 | 22.000 | 70.000 | 79.000 | 58.000 | 159.000 | 0.2290 | 0.3152 | 0.4194 | 0.2290 | 0.0355 | 0.1129 | 0.0935 | 0.2565 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6480 |
| predicted_3B | 0.1930 |
| predicted_AB | 11.0160 |
| predicted_AVG | 0.2203 |
| predicted_BB | 0.7760 |
| predicted_H | 2.4280 |
| predicted_HBP | 0.2600 |
| predicted_HR | 0.4530 |
| predicted_OBP | 0.2849 |
| predicted_R | 1.3380 |
| predicted_RBI | 1.3390 |
| predicted_SLG | 0.4375 |
| predicted_SO | 2.8460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2350 | 0.6480 | 0.4159 | model_form_blend |
| predicted_3B | 0.0350 | 0.1930 | 0.1042 | model_form_blend |
| predicted_AB | 3.6470 | 11.0160 | 6.8742 | model_form_blend |
| predicted_AVG | 0.2260 | 0.2203 | 0.2235 | model_form_blend |
| predicted_BB | 0.3410 | 0.7760 | 0.5315 | model_form_blend |
| predicted_H | 0.3300 | 2.4280 | 1.2488 | model_form_blend |
| predicted_HBP | - | 0.2600 | 0.2600 | form_only |
| predicted_HR | 0.0700 | 0.4530 | 0.2377 | model_form_blend |
| predicted_OBP | 0.2740 | 0.2849 | 0.2788 | model_form_blend |
| predicted_R | 0.4650 | 1.3380 | 0.8473 | model_form_blend |
| predicted_RBI | 0.2100 | 1.3390 | 0.7044 | model_form_blend |
| predicted_SLG | 0.4420 | 0.4375 | 0.4400 | model_form_blend |
| predicted_SO | 0.9350 | 2.8460 | 1.7719 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 171 |
| Season rows before report date | 171 |
| Report year | 2026 |
| Profile rows used | 170 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 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 | 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 | 20260531_MIN@PIT |
| game_type | full |
| mlbID | 665019 |
| playerID | 665019 |
| playerName | Kody Clemens |
| pos | 1B |
| started | True |
| startingPosition | CF |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-31 |
| sl_k_percent | 22.9 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.337 |
| sl_xwoba | 0.331 |
| sl_xba | 0.241 |
| sl_xslg | 0.438 |
| sl_sweet_spot_percent | 35.8 |
| sl_barrel_batted_rate | 14.3 |
| sl_hard_hit_percent | 43.3 |
| sl_exit_velocity_avg | 92.3 |
| sl_launch_angle_avg | 16.4 |
| sl_whiff_percent | 24.8 |
| sl_swing_percent | 48.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.174 | 1.000 | 0.000 | Hitting_2B | 0.174 | 0.000 | 0.826 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.920 | 4.000 | 7.000 | Hitting_AB | 3.795 | 3.000 | 0.205 | 1.000 |
| predicted_AVG | 0.225 | 0.500 | 0.286 | Hitting_AVG | 0.221 | 0.667 | 0.279 | -0.167 |
| predicted_BB | 0.329 | 0.000 | 0.000 | Hitting_BB | 0.329 | 0.000 | -0.329 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.880 | 2.000 | 2.000 | Hitting_H | 0.840 | 2.000 | 1.160 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.096 | 0.000 | -0.096 | 0.000 |
| predicted_OBP | 0.282 | 0.500 | 0.286 | Hitting_OBP | 0.285 | 0.667 | 0.215 | -0.167 |
| predicted_R | 0.516 | 0.000 | 1.000 | Hitting_R | 0.516 | 0.000 | -0.516 | 0.000 |
| predicted_RBI | 0.520 | 0.000 | 1.000 | Hitting_RBI | 0.584 | 0.000 | -0.584 | 0.000 |
| predicted_SLG | 0.356 | 0.750 | 0.286 | Hitting_SLG | 0.343 | 0.667 | 0.407 | 0.083 |
| predicted_SO | 0.973 | 2.000 | 2.000 | Hitting_SO | 0.973 | 1.000 | 1.027 | 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_H: 0.8800 -> 2.0000 (boost 1.1200, better) |
| Biggest Deboost | predicted_RBI: 0.5200 -> 0.0000 (deboost -0.5200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 9 | 0 | 8 | 1 | predicted_AB: 3.9200 -> 7.4974 (boost 3.5774, 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 | 1 | 6 | 1 | 6 | predicted_H: 1.7441 -> 2.0000 (boost 0.2559, better) | predicted_BB: 0.5298 -> 0.0000 (deboost -0.5298, worse) | AB rounded to 7 (raw=7.50), rates preserved: AVG=0.233 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.0705 -> 1.0000 (deboost -0.0705, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2326 -> 0.2860 (boost 0.0534, better) | predicted_SLG: 0.3595 -> 0.2860 (deboost -0.0735, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 1 | 3 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2860 -> 0.3595 (boost 0.0735, better) | predicted_AVG: 0.2860 -> 0.2326 (deboost -0.0534, 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.174,
"predicted_3B": 0.0,
"predicted_AB": 3.92,
"predicted_AVG": 0.225,
"predicted_BB": 0.329,
"predicted_H": 0.88,
"predicted_HR": 0.1,
"predicted_OBP": 0.282,
"predicted_R": 0.516,
"predicted_RBI": 0.52,
"predicted_SLG": 0.356,
"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.4706,
"predicted_3B": 0.0004,
"predicted_AB": 7.4974,
"predicted_AVG": 0.2304,
"predicted_BB": 0.5309,
"predicted_H": 1.7509,
"predicted_HBP": 0.056,
"predicted_HR": 0.1591,
"predicted_OBP": 0.2834,
"predicted_R": 1.081,
"predicted_RBI": 1.081,
"predicted_SLG": 0.3605,
"predicted_SO": 2.0255
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 0.4706,
"delta": 0.2966,
"percent_delta": 1.7046,
"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.92,
"after": 7.4974,
"delta": 3.5774,
"percent_delta": 0.9126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2304,
"delta": 0.0054,
"percent_delta": 0.024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.329,
"after": 0.5309,
"delta": 0.2019,
"percent_delta": 0.6137,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 1.7509,
"delta": 0.8709,
"percent_delta": 0.9897,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1591,
"delta": 0.0591,
"percent_delta": 0.591,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.2834,
"delta": 0.0014,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.516,
"after": 1.081,
"delta": 0.565,
"percent_delta": 1.095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 1.081,
"delta": 0.561,
"percent_delta": 1.0788,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.3605,
"delta": 0.0045,
"percent_delta": 0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.973,
"after": 2.0255,
"delta": 1.0525,
"percent_delta": 1.0817,
"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.92,
"after": 7.4974,
"delta": 3.5774,
"percent_delta": 0.9126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 57
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.4706,
"predicted_3B": 0.0004,
"predicted_AB": 7.4974,
"predicted_AVG": 0.2326,
"predicted_BB": 0.5298,
"predicted_H": 1.7441,
"predicted_HBP": 0.056,
"predicted_HR": 0.1601,
"predicted_OBP": 0.2833,
"predicted_R": 1.0705,
"predicted_RBI": 1.0705,
"predicted_SLG": 0.3595,
"predicted_SO": 2.0296
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4706,
"after": 0.4706,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.4974,
"after": 7.4974,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2304,
"after": 0.2326,
"delta": 0.0022,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5309,
"after": 0.5298,
"delta": -0.0011,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7509,
"after": 1.7441,
"delta": -0.0068,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.056,
"after": 0.056,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1591,
"after": 0.1601,
"delta": 0.001,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2834,
"after": 0.2833,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.081,
"after": 1.0705,
"delta": -0.0105,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.081,
"after": 1.0705,
"delta": -0.0105,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3605,
"after": 0.3595,
"delta": -0.001,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0255,
"after": 2.0296,
"delta": 0.0041,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.50), rates preserved: AVG=0.233 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4706,
"after": 0.0,
"delta": -0.4706,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.4974,
"after": 7.0,
"delta": -0.4974,
"percent_delta": -0.0663,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5298,
"after": 0.0,
"delta": -0.5298,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7441,
"after": 2.0,
"delta": 0.2559,
"percent_delta": 0.1467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.056,
"after": 0.0,
"delta": -0.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1601,
"after": 0.0,
"delta": -0.1601,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0705,
"after": 1.0,
"delta": -0.0705,
"percent_delta": -0.0659,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0296,
"after": 2.0,
"delta": -0.0296,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.7441,
"after": 2.0,
"delta": 0.2559,
"percent_delta": 0.1467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5298,
"after": 0.0,
"delta": -0.5298,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0705,
"after": 1.0,
"delta": -0.0705,
"percent_delta": -0.0659,
"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.0705,
"after": 1.0,
"delta": -0.0705,
"percent_delta": -0.0659,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2326,
"after": 0.286,
"delta": 0.0534,
"percent_delta": 0.2296,
"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.2833,
"after": 0.286,
"delta": 0.0027,
"percent_delta": 0.0095,
"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.3595,
"after": 0.286,
"delta": -0.0735,
"percent_delta": -0.2045,
"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.2326,
"after": 0.286,
"delta": 0.0534,
"percent_delta": 0.2296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3595,
"after": 0.286,
"delta": -0.0735,
"percent_delta": -0.2045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 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": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2326,
"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.2833,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3595,
"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.286,
"after": 0.2326,
"delta": -0.0534,
"percent_delta": -0.1866,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2833,
"delta": -0.0027,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.286,
"after": 0.3595,
"delta": 0.0735,
"percent_delta": 0.2572,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.286,
"after": 0.3595,
"delta": 0.0735,
"percent_delta": 0.2572,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2326,
"delta": -0.0534,
"percent_delta": -0.1866,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 1.0,
"delta": 0.826,
"percent_delta": 4.7471,
"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.92,
"after": 4.0,
"delta": 0.08,
"percent_delta": 0.0204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2326,
"delta": 0.0076,
"percent_delta": 0.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.329,
"after": 0.0,
"delta": -0.329,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 2.0,
"delta": 1.12,
"percent_delta": 1.2727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.2833,
"delta": 0.0013,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.3595,
"delta": 0.0035,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.973,
"after": 2.0,
"delta": 1.027,
"percent_delta": 1.0555,
"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": 0.88,
"after": 2.0,
"delta": 1.12,
"percent_delta": 1.2727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.174 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.920 | - |
| predicted_AVG | 0.225 | - |
| predicted_BB | 0.329 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.282 | - |
| predicted_R | 0.516 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.356 | - |
| 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.471 | 0.297 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.497 | 3.577 |
| predicted_AVG | 0.230 | 0.005 |
| predicted_BB | 0.531 | 0.202 |
| predicted_H | 1.751 | 0.871 |
| predicted_HBP | 0.056 | - |
| predicted_HR | 0.159 | 0.059 |
| predicted_OBP | 0.283 | 0.001 |
| predicted_R | 1.081 | 0.565 |
| predicted_RBI | 1.081 | 0.561 |
| predicted_SLG | 0.360 | 0.005 |
| predicted_SO | 2.026 | 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.471 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.497 | 0.000 |
| predicted_AVG | 0.233 | 0.002 |
| predicted_BB | 0.530 | -0.001 |
| predicted_H | 1.744 | -0.007 |
| predicted_HBP | 0.056 | 0.000 |
| predicted_HR | 0.160 | 0.001 |
| predicted_OBP | 0.283 | -0.000 |
| predicted_R | 1.071 | -0.010 |
| predicted_RBI | 1.071 | -0.010 |
| predicted_SLG | 0.359 | -0.001 |
| predicted_SO | 2.030 | 0.004 |
AB rounded to 7 (raw=7.50), rates preserved: AVG=0.233 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 0.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.471 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 7.000 | -0.497 |
| predicted_AVG | 0.286 | 0.053 |
| predicted_BB | 0.000 | -0.530 |
| predicted_H | 2.000 | 0.256 |
| predicted_HR | 0.000 | -0.160 |
| predicted_OBP | 0.286 | 0.003 |
| predicted_R | 1.000 | -0.071 |
| predicted_RBI | 1.000 | -0.071 |
| predicted_SLG | 0.286 | -0.074 |
| predicted_SO | 2.000 | -0.030 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 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 | 4 | - | 20.000 | 6.000 | 3.000 | 0.000 | 0.000 | 3.000 | 4.000 | 0.000 | 7.000 | 0.3000 | 0.3000 | 0.4500 | 0.3000 | 0.0000 | 0.1500 | 0.0000 | 0.3500 |
| last_10 | 0.20 | 5 | - | 37.000 | 8.000 | 5.000 | 0.000 | 0.000 | 3.000 | 6.000 | 0.000 | 14.000 | 0.2162 | 0.2162 | 0.3514 | 0.2162 | 0.0000 | 0.0811 | 0.0000 | 0.3784 |
| season | 0.60 | 57 | - | 831.000 | 184.000 | 38.000 | 0.000 | 21.000 | 128.000 | 113.000 | 72.000 | 213.000 | 0.2214 | 0.2846 | 0.3430 | 0.2214 | 0.0253 | 0.1540 | 0.0866 | 0.2563 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8470 |
| predicted_3B | 0.0010 |
| predicted_AB | 12.0370 |
| predicted_AVG | 0.2373 |
| predicted_BB | 0.7870 |
| predicted_H | 2.8560 |
| predicted_HBP | 0.0560 |
| predicted_HR | 0.2340 |
| predicted_OBP | 0.2852 |
| predicted_R | 1.7980 |
| predicted_RBI | 1.7930 |
| predicted_SLG | 0.3662 |
| predicted_SO | 3.3610 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1740 | 0.8470 | 0.4706 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9200 | 12.0370 | 7.4974 | model_form_blend |
| predicted_AVG | 0.2250 | 0.2373 | 0.2304 | model_form_blend |
| predicted_BB | 0.3290 | 0.7870 | 0.5309 | model_form_blend |
| predicted_H | 0.8800 | 2.8560 | 1.7509 | model_form_blend |
| predicted_HBP | - | 0.0560 | 0.0560 | form_only |
| predicted_HR | 0.1000 | 0.2340 | 0.1591 | model_form_blend |
| predicted_OBP | 0.2820 | 0.2852 | 0.2834 | model_form_blend |
| predicted_R | 0.5160 | 1.7980 | 1.0810 | model_form_blend |
| predicted_RBI | 0.5200 | 1.7930 | 1.0810 | model_form_blend |
| predicted_SLG | 0.3560 | 0.3662 | 0.3605 | model_form_blend |
| predicted_SO | 0.9730 | 3.3610 | 2.0255 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 219 |
| Season rows before report date | 219 |
| Report year | 2026 |
| Profile rows used | 219 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.221 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260531_MIN@PIT |
| game_type | full |
| mlbID | 605137 |
| playerID | 605137 |
| playerName | Josh Bell |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-31 |
| sl_k_percent | 23.0 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.274 |
| sl_xwoba | 0.292 |
| sl_xba | 0.223 |
| sl_xslg | 0.385 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 41.0 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 14.3 |
| sl_whiff_percent | 27.1 |
| sl_swing_percent | 50.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.195 | 0.000 | 0.000 | Hitting_2B | 0.193 | 0.000 | -0.193 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.990 | 4.000 | 8.000 | Hitting_AB | 3.764 | 4.000 | 0.236 | 0.000 |
| predicted_AVG | 0.235 | 0.000 | 0.250 | Hitting_AVG | 0.251 | 0.500 | -0.251 | -0.500 |
| predicted_BB | 0.276 | 0.000 | 0.000 | Hitting_BB | 0.278 | 0.000 | -0.278 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_H | 0.940 | 0.000 | 2.000 | Hitting_H | 0.943 | 2.000 | -0.943 | -2.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.123 | 2.000 | -0.123 | -2.000 |
| predicted_OBP | 0.303 | 0.000 | 0.250 | Hitting_OBP | 0.309 | 0.500 | -0.309 | -0.500 |
| predicted_R | 0.500 | 0.000 | 1.000 | Hitting_R | 0.495 | 2.000 | -0.495 | -2.000 |
| predicted_RBI | 0.640 | 0.000 | 1.000 | Hitting_RBI | 0.590 | 3.000 | -0.590 | -3.000 |
| predicted_SLG | 0.435 | 0.000 | 0.250 | Hitting_SLG | 0.410 | 2.000 | -0.410 | -2.000 |
| predicted_SO | 0.719 | 1.000 | 1.000 | Hitting_SO | 0.712 | 2.000 | 0.288 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 0 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.7190 -> 1.0000 (boost 0.2810, worse) |
| Biggest Deboost | predicted_H: 0.9400 -> 0.0000 (deboost -0.9400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 8 | 2 | 7 | 3 | predicted_AB: 3.9900 -> 7.7544 (boost 3.7644, better) | predicted_OBP: 0.3030 -> 0.2877 (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 | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.2877 -> 0.2700 (deboost -0.0177, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 3 | 5 | predicted_AB: 7.7544 -> 8.0000 (boost 0.2456, better) | predicted_BB: 0.4587 -> 0.0000 (deboost -0.4587, worse) | AB rounded to 8 (raw=7.75), rates preserved: AVG=0.227 HR/AB=0.043 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.9289 -> 1.0000 (boost 0.0711, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2268 -> 0.2500 (boost 0.0232, better) | predicted_SLG: 0.4086 -> 0.2500 (deboost -0.1586, 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: 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.4086 (boost 0.1586, better) | predicted_AVG: 0.2500 -> 0.2268 (deboost -0.0232, 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.195,
"predicted_3B": 0.019,
"predicted_AB": 3.99,
"predicted_AVG": 0.235,
"predicted_BB": 0.276,
"predicted_H": 0.94,
"predicted_HR": 0.16,
"predicted_OBP": 0.303,
"predicted_R": 0.5,
"predicted_RBI": 0.64,
"predicted_SLG": 0.435,
"predicted_SO": 0.719
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3381,
"predicted_3B": 0.0313,
"predicted_AB": 7.7544,
"predicted_AVG": 0.2304,
"predicted_BB": 0.4596,
"predicted_H": 1.7658,
"predicted_HBP": 0.095,
"predicted_HR": 0.3343,
"predicted_OBP": 0.2877,
"predicted_R": 0.938,
"predicted_RBI": 1.2087,
"predicted_SLG": 0.4225,
"predicted_SO": 1.4048
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.195,
"after": 0.3381,
"delta": 0.1431,
"percent_delta": 0.7338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0313,
"delta": 0.0123,
"percent_delta": 0.6474,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.99,
"after": 7.7544,
"delta": 3.7644,
"percent_delta": 0.9435,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2304,
"delta": -0.0046,
"percent_delta": -0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.276,
"after": 0.4596,
"delta": 0.1836,
"percent_delta": 0.6652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 1.7658,
"delta": 0.8258,
"percent_delta": 0.8785,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.3343,
"delta": 0.1743,
"percent_delta": 1.0894,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.2877,
"delta": -0.0153,
"percent_delta": -0.0505,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.938,
"delta": 0.438,
"percent_delta": 0.876,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 1.2087,
"delta": 0.5687,
"percent_delta": 0.8886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.435,
"after": 0.4225,
"delta": -0.0125,
"percent_delta": -0.0287,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.719,
"after": 1.4048,
"delta": 0.6858,
"percent_delta": 0.9538,
"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": 7.7544,
"delta": 3.7644,
"percent_delta": 0.9435,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.2877,
"delta": -0.0153,
"percent_delta": -0.0505,
"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": 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.3381,
"predicted_3B": 0.0313,
"predicted_AB": 7.7544,
"predicted_AVG": 0.2268,
"predicted_BB": 0.4587,
"predicted_H": 1.7589,
"predicted_HBP": 0.095,
"predicted_HR": 0.3363,
"predicted_OBP": 0.27,
"predicted_R": 0.9289,
"predicted_RBI": 1.197,
"predicted_SLG": 0.4086,
"predicted_SO": 1.4076
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3381,
"after": 0.3381,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0313,
"after": 0.0313,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.7544,
"after": 7.7544,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2304,
"after": 0.2268,
"delta": -0.0036,
"percent_delta": -0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4596,
"after": 0.4587,
"delta": -0.0009,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7658,
"after": 1.7589,
"delta": -0.0069,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.095,
"after": 0.095,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3343,
"after": 0.3363,
"delta": 0.002,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2877,
"after": 0.27,
"delta": -0.0177,
"percent_delta": -0.0615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.938,
"after": 0.9289,
"delta": -0.0091,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.2087,
"after": 1.197,
"delta": -0.0117,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4225,
"after": 0.4086,
"delta": -0.0139,
"percent_delta": -0.0329,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4048,
"after": 1.4076,
"delta": 0.0028,
"percent_delta": 0.002,
"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.2877,
"after": 0.27,
"delta": -0.0177,
"percent_delta": -0.0615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.75), rates preserved: AVG=0.227 HR/AB=0.043",
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3381,
"after": 0.0,
"delta": -0.3381,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0313,
"after": 0.0,
"delta": -0.0313,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.7544,
"after": 8.0,
"delta": 0.2456,
"percent_delta": 0.0317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4587,
"after": 0.0,
"delta": -0.4587,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7589,
"after": 2.0,
"delta": 0.2411,
"percent_delta": 0.1371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.095,
"after": 0.0,
"delta": -0.095,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3363,
"after": 0.0,
"delta": -0.3363,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.197,
"after": 1.0,
"delta": -0.197,
"percent_delta": -0.1646,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4076,
"after": 1.0,
"delta": -0.4076,
"percent_delta": -0.2896,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 7.7544,
"after": 8.0,
"delta": 0.2456,
"percent_delta": 0.0317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4587,
"after": 0.0,
"delta": -0.4587,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.9289,
"after": 1.0,
"delta": 0.0711,
"percent_delta": 0.0765,
"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.9289,
"after": 1.0,
"delta": 0.0711,
"percent_delta": 0.0765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2268,
"after": 0.25,
"delta": 0.0232,
"percent_delta": 0.1023,
"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.27,
"after": 0.25,
"delta": -0.02,
"percent_delta": -0.0741,
"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.4086,
"after": 0.25,
"delta": -0.1586,
"percent_delta": -0.3882,
"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.2268,
"after": 0.25,
"delta": 0.0232,
"percent_delta": 0.1023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4086,
"after": 0.25,
"delta": -0.1586,
"percent_delta": -0.3882,
"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": 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": 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.2268,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.27,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4086,
"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.25,
"after": 0.2268,
"delta": -0.0232,
"percent_delta": -0.0927,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.27,
"delta": 0.02,
"percent_delta": 0.08,
"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.4086,
"delta": 0.1586,
"percent_delta": 0.6345,
"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.4086,
"delta": 0.1586,
"percent_delta": 0.6345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2268,
"delta": -0.0232,
"percent_delta": -0.0927,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.195,
"after": 0.0,
"delta": -0.195,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.99,
"after": 4.0,
"delta": 0.01,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2268,
"delta": -0.0082,
"percent_delta": -0.0349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.276,
"after": 0.0,
"delta": -0.276,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.0,
"delta": -0.94,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.27,
"delta": -0.033,
"percent_delta": -0.1089,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.435,
"after": 0.4086,
"delta": -0.0264,
"percent_delta": -0.0607,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.719,
"after": 1.0,
"delta": 0.281,
"percent_delta": 0.3908,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 0,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.719,
"after": 1.0,
"delta": 0.281,
"percent_delta": 0.3908,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.94,
"after": 0.0,
"delta": -0.94,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.195 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 3.990 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.276 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.303 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.640 | - |
| predicted_SLG | 0.435 | - |
| predicted_SO | 0.719 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.338 | 0.143 |
| predicted_3B | 0.031 | 0.012 |
| predicted_AB | 7.754 | 3.764 |
| predicted_AVG | 0.230 | -0.005 |
| predicted_BB | 0.460 | 0.184 |
| predicted_H | 1.766 | 0.826 |
| predicted_HBP | 0.095 | - |
| predicted_HR | 0.334 | 0.174 |
| predicted_OBP | 0.288 | -0.015 |
| predicted_R | 0.938 | 0.438 |
| predicted_RBI | 1.209 | 0.569 |
| predicted_SLG | 0.422 | -0.013 |
| predicted_SO | 1.405 | 0.686 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.338 | 0.000 |
| predicted_3B | 0.031 | 0.000 |
| predicted_AB | 7.754 | 0.000 |
| predicted_AVG | 0.227 | -0.004 |
| predicted_BB | 0.459 | -0.001 |
| predicted_H | 1.759 | -0.007 |
| predicted_HBP | 0.095 | 0.000 |
| predicted_HR | 0.336 | 0.002 |
| predicted_OBP | 0.270 | -0.018 |
| predicted_R | 0.929 | -0.009 |
| predicted_RBI | 1.197 | -0.012 |
| predicted_SLG | 0.409 | -0.014 |
| predicted_SO | 1.408 | 0.003 |
AB rounded to 8 (raw=7.75), rates preserved: AVG=0.227 HR/AB=0.043
| 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 | 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 | 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.338 |
| predicted_3B | 0.000 | -0.031 |
| predicted_AB | 8.000 | 0.246 |
| predicted_AVG | 0.250 | 0.023 |
| predicted_BB | 0.000 | -0.459 |
| predicted_H | 2.000 | 0.241 |
| predicted_HR | 0.000 | -0.336 |
| predicted_OBP | 0.250 | -0.020 |
| predicted_R | 1.000 | 0.071 |
| predicted_RBI | 1.000 | -0.197 |
| predicted_SLG | 0.250 | -0.159 |
| predicted_SO | 1.000 | -0.408 |
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 | 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 | - | 20.000 | 3.000 | 0.000 | 0.000 | 2.000 | 3.000 | 2.000 | 0.000 | 3.000 | 0.1500 | 0.1500 | 0.4500 | 0.1500 | 0.1000 | 0.1500 | 0.0000 | 0.1500 |
| last_10 | 0.20 | 5 | - | 38.000 | 5.000 | 1.000 | 0.000 | 2.000 | 6.000 | 2.000 | 0.000 | 6.000 | 0.1316 | 0.1316 | 0.3158 | 0.1316 | 0.0526 | 0.1579 | 0.0000 | 0.1579 |
| season | 0.60 | 54 | - | 798.000 | 200.000 | 41.000 | 4.000 | 26.000 | 124.000 | 105.000 | 58.000 | 151.000 | 0.2506 | 0.3079 | 0.4098 | 0.2506 | 0.0326 | 0.1554 | 0.0727 | 0.1892 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5200 |
| predicted_3B | 0.0470 |
| predicted_AB | 12.5420 |
| predicted_AVG | 0.2245 |
| predicted_BB | 0.6930 |
| predicted_H | 2.8160 |
| predicted_HBP | 0.0950 |
| predicted_HR | 0.5560 |
| predicted_OBP | 0.2682 |
| predicted_R | 1.4950 |
| predicted_RBI | 1.9320 |
| predicted_SLG | 0.4065 |
| predicted_SO | 2.2770 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1950 | 0.5200 | 0.3381 | model_form_blend |
| predicted_3B | 0.0190 | 0.0470 | 0.0313 | model_form_blend |
| predicted_AB | 3.9900 | 12.5420 | 7.7544 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2245 | 0.2304 | model_form_blend |
| predicted_BB | 0.2760 | 0.6930 | 0.4596 | model_form_blend |
| predicted_H | 0.9400 | 2.8160 | 1.7658 | model_form_blend |
| predicted_HBP | - | 0.0950 | 0.0950 | form_only |
| predicted_HR | 0.1600 | 0.5560 | 0.3343 | model_form_blend |
| predicted_OBP | 0.3030 | 0.2682 | 0.2877 | model_form_blend |
| predicted_R | 0.5000 | 1.4950 | 0.9380 | model_form_blend |
| predicted_RBI | 0.6400 | 1.9320 | 1.2087 | model_form_blend |
| predicted_SLG | 0.4350 | 0.4065 | 0.4225 | model_form_blend |
| predicted_SO | 0.7190 | 2.2770 | 1.4048 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.251 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 2 |
| 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 | 3B |
| gameID | 20260531_MIN@PIT |
| game_type | full |
| mlbID | 686797 |
| playerID | 686797 |
| playerName | Brooks Lee |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-31 |
| sl_k_percent | 17.8 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.314 |
| sl_xwoba | 0.269 |
| sl_xba | 0.219 |
| sl_xslg | 0.325 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 28.3 |
| sl_exit_velocity_avg | 86.7 |
| sl_launch_angle_avg | 11.2 |
| sl_whiff_percent | 20.8 |
| sl_swing_percent | 51.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.184 | 0.000 | 0.000 | Hitting_2B | 0.183 | 0.000 | -0.183 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.722 | 3.000 | 7.000 | Hitting_AB | 3.704 | 3.000 | -0.704 | 0.000 |
| predicted_AVG | 0.251 | 0.000 | 0.286 | Hitting_AVG | 0.243 | 0.333 | -0.243 | -0.333 |
| predicted_BB | 0.401 | 0.000 | 1.000 | Hitting_BB | 0.399 | 0.000 | -0.399 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.047 | 1.000 | -0.047 | -1.000 |
| predicted_H | 0.840 | 0.000 | 2.000 | Hitting_H | 0.901 | 1.000 | -0.901 | -1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_OBP | 0.328 | 0.000 | 0.375 | Hitting_OBP | 0.325 | 0.333 | -0.325 | -0.333 |
| predicted_R | 0.491 | 0.000 | 1.000 | Hitting_R | 0.488 | 0.000 | -0.488 | 0.000 |
| predicted_RBI | 0.310 | 0.000 | 1.000 | Hitting_RBI | 0.380 | 0.000 | -0.380 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.207 | 0.000 | -0.207 | 0.000 |
| predicted_SLG | 0.371 | 0.000 | 0.286 | Hitting_SLG | 0.322 | 0.333 | -0.322 | -0.333 |
| predicted_SO | 0.642 | 1.000 | 1.000 | Hitting_SO | 0.638 | 1.000 | 0.362 | 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.6420 -> 1.0000 (boost 0.3580, 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 | 8 | 8 | 0 | 7 | 1 | predicted_AB: 3.7220 -> 7.3497 (boost 3.6277, 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.3729 -> 0.3603 (deboost -0.0126, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 4 | 4 | predicted_RBI: 0.5827 -> 1.0000 (boost 0.4173, better) | predicted_2B: 0.4977 -> 0.0000 (deboost -0.4977, worse) | AB rounded to 7 (raw=7.35), rates preserved: AVG=0.260 HR/AB=0.008 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.9456 -> 1.0000 (boost 0.0544, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3204 -> 0.3750 (boost 0.0546, better) | predicted_SLG: 0.3603 -> 0.2860 (deboost -0.0743, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.3603 (boost 0.0743, better) | predicted_OBP: 0.3750 -> 0.3204 (deboost -0.0546, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "807712",
"player_name": "Luke Keaschall",
"position": "2B",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.184,
"predicted_3B": 0.019,
"predicted_AB": 3.722,
"predicted_AVG": 0.251,
"predicted_BB": 0.401,
"predicted_H": 0.84,
"predicted_HR": 0.05,
"predicted_OBP": 0.328,
"predicted_R": 0.491,
"predicted_RBI": 0.31,
"predicted_SLG": 0.371,
"predicted_SO": 0.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.4977,
"predicted_3B": 0.0305,
"predicted_AB": 7.3497,
"predicted_AVG": 0.2618,
"predicted_BB": 0.6495,
"predicted_H": 1.9219,
"predicted_HBP": 0.147,
"predicted_HR": 0.0579,
"predicted_OBP": 0.3316,
"predicted_R": 0.9549,
"predicted_RBI": 0.5884,
"predicted_SLG": 0.3729,
"predicted_SO": 1.2464
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.184,
"after": 0.4977,
"delta": 0.3137,
"percent_delta": 1.7049,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0305,
"delta": 0.0115,
"percent_delta": 0.6053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.722,
"after": 7.3497,
"delta": 3.6277,
"percent_delta": 0.9747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2618,
"delta": 0.0108,
"percent_delta": 0.043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.401,
"after": 0.6495,
"delta": 0.2485,
"percent_delta": 0.6197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 1.9219,
"delta": 1.0819,
"percent_delta": 1.288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0579,
"delta": 0.0079,
"percent_delta": 0.158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3316,
"delta": 0.0036,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.491,
"after": 0.9549,
"delta": 0.4639,
"percent_delta": 0.9448,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.5884,
"delta": 0.2784,
"percent_delta": 0.8981,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3729,
"delta": 0.0019,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.642,
"after": 1.2464,
"delta": 0.6044,
"percent_delta": 0.9414,
"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.722,
"after": 7.3497,
"delta": 3.6277,
"percent_delta": 0.9747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.4977,
"predicted_3B": 0.0305,
"predicted_AB": 7.3497,
"predicted_AVG": 0.2605,
"predicted_BB": 0.6482,
"predicted_H": 1.9144,
"predicted_HBP": 0.147,
"predicted_HR": 0.0583,
"predicted_OBP": 0.3204,
"predicted_R": 0.9456,
"predicted_RBI": 0.5827,
"predicted_SLG": 0.3603,
"predicted_SO": 1.2489
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4977,
"after": 0.4977,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0305,
"after": 0.0305,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.3497,
"after": 7.3497,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2618,
"after": 0.2605,
"delta": -0.0013,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6495,
"after": 0.6482,
"delta": -0.0013,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.9219,
"after": 1.9144,
"delta": -0.0075,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.147,
"after": 0.147,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0579,
"after": 0.0583,
"delta": 0.0004,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3316,
"after": 0.3204,
"delta": -0.0112,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9549,
"after": 0.9456,
"delta": -0.0093,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5884,
"after": 0.5827,
"delta": -0.0057,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3729,
"after": 0.3603,
"delta": -0.0126,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2464,
"after": 1.2489,
"delta": 0.0025,
"percent_delta": 0.002,
"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.3729,
"after": 0.3603,
"delta": -0.0126,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.35), rates preserved: AVG=0.260 HR/AB=0.008",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4977,
"after": 0.0,
"delta": -0.4977,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0305,
"after": 0.0,
"delta": -0.0305,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.3497,
"after": 7.0,
"delta": -0.3497,
"percent_delta": -0.0476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6482,
"after": 1.0,
"delta": 0.3518,
"percent_delta": 0.5427,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.9144,
"after": 2.0,
"delta": 0.0856,
"percent_delta": 0.0447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.147,
"after": 0.0,
"delta": -0.147,
"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.5827,
"after": 1.0,
"delta": 0.4173,
"percent_delta": 0.7161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2489,
"after": 1.0,
"delta": -0.2489,
"percent_delta": -0.1993,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5827,
"after": 1.0,
"delta": 0.4173,
"percent_delta": 0.7161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4977,
"after": 0.0,
"delta": -0.4977,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.9456,
"after": 1.0,
"delta": 0.0544,
"percent_delta": 0.0575,
"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.9456,
"after": 1.0,
"delta": 0.0544,
"percent_delta": 0.0575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2605,
"after": 0.286,
"delta": 0.0255,
"percent_delta": 0.0979,
"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.3204,
"after": 0.375,
"delta": 0.0546,
"percent_delta": 0.1704,
"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.3603,
"after": 0.286,
"delta": -0.0743,
"percent_delta": -0.2062,
"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.3204,
"after": 0.375,
"delta": 0.0546,
"percent_delta": 0.1704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3603,
"after": 0.286,
"delta": -0.0743,
"percent_delta": -0.2062,
"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": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 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.2605,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3204,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3603,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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.2605,
"delta": -0.0255,
"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.375,
"after": 0.3204,
"delta": -0.0546,
"percent_delta": -0.1456,
"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.3603,
"delta": 0.0743,
"percent_delta": 0.2597,
"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.3603,
"delta": 0.0743,
"percent_delta": 0.2597,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3204,
"delta": -0.0546,
"percent_delta": -0.1456,
"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.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.722,
"after": 3.0,
"delta": -0.722,
"percent_delta": -0.194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2605,
"delta": 0.0095,
"percent_delta": 0.0378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.401,
"after": 0.0,
"delta": -0.401,
"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.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3204,
"delta": -0.0076,
"percent_delta": -0.0232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.491,
"after": 0.0,
"delta": -0.491,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3603,
"delta": -0.0107,
"percent_delta": -0.0288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.642,
"after": 1.0,
"delta": 0.358,
"percent_delta": 0.5576,
"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.642,
"after": 1.0,
"delta": 0.358,
"percent_delta": 0.5576,
"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.184 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 3.722 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.401 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.328 | - |
| predicted_R | 0.491 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.371 | - |
| predicted_SO | 0.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.498 | 0.314 |
| predicted_3B | 0.030 | 0.011 |
| predicted_AB | 7.350 | 3.628 |
| predicted_AVG | 0.262 | 0.011 |
| predicted_BB | 0.649 | 0.248 |
| predicted_H | 1.922 | 1.082 |
| predicted_HBP | 0.147 | - |
| predicted_HR | 0.058 | 0.008 |
| predicted_OBP | 0.332 | 0.004 |
| predicted_R | 0.955 | 0.464 |
| predicted_RBI | 0.588 | 0.278 |
| predicted_SLG | 0.373 | 0.002 |
| predicted_SO | 1.246 | 0.604 |
Step 3: 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.030 | 0.000 |
| predicted_AB | 7.350 | 0.000 |
| predicted_AVG | 0.261 | -0.001 |
| predicted_BB | 0.648 | -0.001 |
| predicted_H | 1.914 | -0.007 |
| predicted_HBP | 0.147 | 0.000 |
| predicted_HR | 0.058 | 0.000 |
| predicted_OBP | 0.320 | -0.011 |
| predicted_R | 0.946 | -0.009 |
| predicted_RBI | 0.583 | -0.006 |
| predicted_SLG | 0.360 | -0.013 |
| predicted_SO | 1.249 | 0.002 |
AB rounded to 7 (raw=7.35), rates preserved: AVG=0.260 HR/AB=0.008
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.498 |
| predicted_3B | 0.000 | -0.030 |
| predicted_AB | 7.000 | -0.350 |
| predicted_AVG | 0.286 | 0.025 |
| predicted_BB | 1.000 | 0.352 |
| predicted_H | 2.000 | 0.086 |
| predicted_HR | 0.000 | -0.058 |
| predicted_OBP | 0.375 | 0.055 |
| predicted_R | 1.000 | 0.054 |
| predicted_RBI | 1.000 | 0.417 |
| predicted_SLG | 0.286 | -0.074 |
| predicted_SO | 1.000 | -0.249 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 18.000 | 7.000 | 3.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 3.000 | 0.3889 | 0.3889 | 0.5556 | 0.3889 | 0.0000 | 0.0000 | 0.0000 | 0.1667 |
| last_10 | 0.20 | 5 | - | 37.000 | 12.000 | 4.000 | 0.000 | 0.000 | 0.000 | 6.000 | 0.000 | 3.000 | 0.3243 | 0.3243 | 0.4324 | 0.3243 | 0.0000 | 0.0000 | 0.0000 | 0.0811 |
| season | 0.60 | 54 | - | 789.000 | 192.000 | 39.000 | 4.000 | 5.000 | 81.000 | 104.000 | 85.000 | 136.000 | 0.2433 | 0.3240 | 0.3219 | 0.2434 | 0.0063 | 0.1027 | 0.1077 | 0.1724 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8960 |
| predicted_3B | 0.0450 |
| predicted_AB | 11.9570 |
| predicted_AVG | 0.2756 |
| predicted_BB | 0.9650 |
| predicted_H | 3.2960 |
| predicted_HBP | 0.1470 |
| predicted_HR | 0.0680 |
| predicted_OBP | 0.3362 |
| predicted_R | 1.5440 |
| predicted_RBI | 0.9420 |
| predicted_SLG | 0.3753 |
| predicted_SO | 2.0140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1840 | 0.8960 | 0.4977 | model_form_blend |
| predicted_3B | 0.0190 | 0.0450 | 0.0305 | model_form_blend |
| predicted_AB | 3.7220 | 11.9570 | 7.3497 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2756 | 0.2618 | model_form_blend |
| predicted_BB | 0.4010 | 0.9650 | 0.6495 | model_form_blend |
| predicted_H | 0.8400 | 3.2960 | 1.9219 | model_form_blend |
| predicted_HBP | - | 0.1470 | 0.1470 | form_only |
| predicted_HR | 0.0500 | 0.0680 | 0.0579 | model_form_blend |
| predicted_OBP | 0.3280 | 0.3362 | 0.3316 | model_form_blend |
| predicted_R | 0.4910 | 1.5440 | 0.9549 | model_form_blend |
| predicted_RBI | 0.3100 | 0.9420 | 0.5884 | model_form_blend |
| predicted_SLG | 0.3710 | 0.3753 | 0.3729 | model_form_blend |
| predicted_SO | 0.6420 | 2.0140 | 1.2464 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 213 |
| Season rows before report date | 213 |
| 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 | 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.243 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 1 |
| BaseRunning_PO | 1 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 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 | 20260531_MIN@PIT |
| game_type | full |
| mlbID | 807712 |
| playerID | 807712 |
| playerName | Luke Keaschall |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-31 |
| sl_k_percent | 15.4 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.292 |
| sl_xwoba | 0.28 |
| sl_xba | 0.222 |
| sl_xslg | 0.32 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 3.1 |
| sl_hard_hit_percent | 26.8 |
| sl_exit_velocity_avg | 84.2 |
| sl_launch_angle_avg | 17.3 |
| sl_whiff_percent | 14.9 |
| sl_swing_percent | 41.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.033 | 0.000 | 0.000 | Hitting_2B | 0.033 | 1.000 | -0.033 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.351 | 3.000 | 6.000 | Hitting_AB | 3.329 | 4.000 | -0.329 | -1.000 |
| predicted_AVG | 0.229 | 0.000 | 0.167 | Hitting_AVG | 0.184 | 0.250 | -0.184 | -0.250 |
| predicted_BB | 0.351 | 0.000 | 1.000 | Hitting_BB | 0.355 | 1.000 | -0.355 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.700 | 0.000 | 1.000 | Hitting_H | 0.612 | 1.000 | -0.612 | -1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_OBP | 0.294 | 0.000 | 0.286 | Hitting_OBP | 0.283 | 0.400 | -0.283 | -0.400 |
| predicted_R | 0.185 | 0.000 | 0.000 | Hitting_R | 0.184 | 0.000 | -0.184 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 1.000 | Hitting_RBI | 0.480 | 1.000 | -0.480 | -1.000 |
| predicted_SLG | 0.321 | 0.000 | 0.167 | Hitting_SLG | 0.223 | 0.500 | -0.223 | -0.500 |
| predicted_SO | 0.795 | 0.000 | 1.000 | Hitting_SO | 0.789 | 1.000 | -0.789 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 10 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 0.7950 -> 0.0000 (deboost -0.7950, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 7 | 2 | 6 | 3 | predicted_AB: 3.3510 -> 6.4675 (boost 3.1165, better) | predicted_SLG: 0.3210 -> 0.2915 (deboost -0.0295, 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.2915 -> 0.2611 (deboost -0.0304, 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_BB: 0.6735 -> 1.0000 (boost 0.3265, better) | predicted_AB: 6.4675 -> 6.0000 (deboost -0.4675, worse) | AB rounded to 6 (raw=6.47), rates preserved: AVG=0.206 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3189 -> 0.0000 (deboost -0.3189, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2807 -> 0.2860 (boost 0.0053, better) | predicted_SLG: 0.2611 -> 0.1670 (deboost -0.0941, 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.2611 (boost 0.0941, better) | predicted_OBP: 0.2860 -> 0.2807 (deboost -0.0053, 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.033,
"predicted_3B": 0.0,
"predicted_AB": 3.351,
"predicted_AVG": 0.229,
"predicted_BB": 0.351,
"predicted_H": 0.7,
"predicted_HR": 0.07,
"predicted_OBP": 0.294,
"predicted_R": 0.185,
"predicted_RBI": 0.44,
"predicted_SLG": 0.321,
"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.1129,
"predicted_3B": 0.0009,
"predicted_AB": 6.4675,
"predicted_AVG": 0.2188,
"predicted_BB": 0.6748,
"predicted_H": 1.3359,
"predicted_HBP": 0.442,
"predicted_HR": 0.0805,
"predicted_OBP": 0.2909,
"predicted_R": 0.322,
"predicted_RBI": 0.9786,
"predicted_SLG": 0.2915,
"predicted_SO": 1.464
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.033,
"after": 0.1129,
"delta": 0.0799,
"percent_delta": 2.4212,
"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.351,
"after": 6.4675,
"delta": 3.1165,
"percent_delta": 0.93,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2188,
"delta": -0.0102,
"percent_delta": -0.0445,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.351,
"after": 0.6748,
"delta": 0.3238,
"percent_delta": 0.9225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 1.3359,
"delta": 0.6359,
"percent_delta": 0.9084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0805,
"delta": 0.0105,
"percent_delta": 0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2909,
"delta": -0.0031,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.185,
"after": 0.322,
"delta": 0.137,
"percent_delta": 0.7405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.9786,
"delta": 0.5386,
"percent_delta": 1.2241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.321,
"after": 0.2915,
"delta": -0.0295,
"percent_delta": -0.0919,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.795,
"after": 1.464,
"delta": 0.669,
"percent_delta": 0.8415,
"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.351,
"after": 6.4675,
"delta": 3.1165,
"percent_delta": 0.93,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.321,
"after": 0.2915,
"delta": -0.0295,
"percent_delta": -0.0919,
"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": 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.1129,
"predicted_3B": 0.0009,
"predicted_AB": 6.4675,
"predicted_AVG": 0.2058,
"predicted_BB": 0.6735,
"predicted_H": 1.3307,
"predicted_HBP": 0.442,
"predicted_HR": 0.081,
"predicted_OBP": 0.2807,
"predicted_R": 0.3189,
"predicted_RBI": 0.9691,
"predicted_SLG": 0.2611,
"predicted_SO": 1.4669
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1129,
"after": 0.1129,
"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.4675,
"after": 6.4675,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2188,
"after": 0.2058,
"delta": -0.013,
"percent_delta": -0.0594,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6748,
"after": 0.6735,
"delta": -0.0013,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3359,
"after": 1.3307,
"delta": -0.0052,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.442,
"after": 0.442,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0805,
"after": 0.081,
"delta": 0.0005,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2909,
"after": 0.2807,
"delta": -0.0102,
"percent_delta": -0.0351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.322,
"after": 0.3189,
"delta": -0.0031,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9786,
"after": 0.9691,
"delta": -0.0095,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2915,
"after": 0.2611,
"delta": -0.0304,
"percent_delta": -0.1043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.464,
"after": 1.4669,
"delta": 0.0029,
"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.2915,
"after": 0.2611,
"delta": -0.0304,
"percent_delta": -0.1043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.47), rates preserved: AVG=0.206 HR/AB=0.013",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1129,
"after": 0.0,
"delta": -0.1129,
"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.4675,
"after": 6.0,
"delta": -0.4675,
"percent_delta": -0.0723,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6735,
"after": 1.0,
"delta": 0.3265,
"percent_delta": 0.4848,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3307,
"after": 1.0,
"delta": -0.3307,
"percent_delta": -0.2485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.442,
"after": 0.0,
"delta": -0.442,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"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.9691,
"after": 1.0,
"delta": 0.0309,
"percent_delta": 0.0319,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.4669,
"after": 1.0,
"delta": -0.4669,
"percent_delta": -0.3183,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.6735,
"after": 1.0,
"delta": 0.3265,
"percent_delta": 0.4848,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.4675,
"after": 6.0,
"delta": -0.4675,
"percent_delta": -0.0723,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 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.3189,
"after": 0.0,
"delta": -0.3189,
"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.3189,
"after": 0.0,
"delta": -0.3189,
"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.2058,
"after": 0.167,
"delta": -0.0388,
"percent_delta": -0.1885,
"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.2807,
"after": 0.286,
"delta": 0.0053,
"percent_delta": 0.0189,
"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.2611,
"after": 0.167,
"delta": -0.0941,
"percent_delta": -0.3604,
"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.2807,
"after": 0.286,
"delta": 0.0053,
"percent_delta": 0.0189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2611,
"after": 0.167,
"delta": -0.0941,
"percent_delta": -0.3604,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 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.2058,
"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.2807,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2611,
"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.2058,
"delta": 0.0388,
"percent_delta": 0.232,
"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.2807,
"delta": -0.0053,
"percent_delta": -0.0187,
"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.2611,
"delta": 0.0941,
"percent_delta": 0.5632,
"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.2611,
"delta": 0.0941,
"percent_delta": 0.5632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2807,
"delta": -0.0053,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.351,
"after": 3.0,
"delta": -0.351,
"percent_delta": -0.1047,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2058,
"delta": -0.0232,
"percent_delta": -0.1013,
"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.7,
"after": 0.0,
"delta": -0.7,
"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.294,
"after": 0.2807,
"delta": -0.0133,
"percent_delta": -0.0452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.185,
"after": 0.0,
"delta": -0.185,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.321,
"after": 0.2611,
"delta": -0.0599,
"percent_delta": -0.1866,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.795,
"after": 0.0,
"delta": -0.795,
"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.795,
"after": 0.0,
"delta": -0.795,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.033 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.351 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.351 | - |
| predicted_H | 0.700 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.185 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.321 | - |
| 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.113 | 0.080 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.468 | 3.117 |
| predicted_AVG | 0.219 | -0.010 |
| predicted_BB | 0.675 | 0.324 |
| predicted_H | 1.336 | 0.636 |
| predicted_HBP | 0.442 | - |
| predicted_HR | 0.081 | 0.010 |
| predicted_OBP | 0.291 | -0.003 |
| predicted_R | 0.322 | 0.137 |
| predicted_RBI | 0.979 | 0.539 |
| predicted_SLG | 0.291 | -0.030 |
| predicted_SO | 1.464 | 0.669 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.113 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.468 | 0.000 |
| predicted_AVG | 0.206 | -0.013 |
| predicted_BB | 0.673 | -0.001 |
| predicted_H | 1.331 | -0.005 |
| predicted_HBP | 0.442 | 0.000 |
| predicted_HR | 0.081 | 0.001 |
| predicted_OBP | 0.281 | -0.010 |
| predicted_R | 0.319 | -0.003 |
| predicted_RBI | 0.969 | -0.010 |
| predicted_SLG | 0.261 | -0.030 |
| predicted_SO | 1.467 | 0.003 |
AB rounded to 6 (raw=6.47), rates preserved: AVG=0.206 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.113 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | -0.468 |
| predicted_AVG | 0.167 | -0.039 |
| predicted_BB | 1.000 | 0.327 |
| predicted_H | 1.000 | -0.331 |
| predicted_HR | 0.000 | -0.081 |
| predicted_OBP | 0.286 | 0.005 |
| predicted_R | 0.000 | -0.319 |
| predicted_RBI | 1.000 | 0.031 |
| predicted_SLG | 0.167 | -0.094 |
| predicted_SO | 1.000 | -0.467 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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 | 3 | - | 16.000 | 5.000 | 1.000 | 0.000 | 0.000 | 4.000 | 0.000 | 2.000 | 2.000 | 0.3125 | 0.3333 | 0.3750 | 0.3125 | 0.0000 | 0.2500 | 0.1250 | 0.1250 |
| last_10 | 0.20 | 4 | - | 35.000 | 6.000 | 1.000 | 0.000 | 0.000 | 5.000 | 0.000 | 2.000 | 10.000 | 0.1714 | 0.1951 | 0.2000 | 0.1714 | 0.0000 | 0.1429 | 0.0571 | 0.2857 |
| season | 0.60 | 42 | - | 506.000 | 93.000 | 5.000 | 0.000 | 5.000 | 73.000 | 28.000 | 53.000 | 120.000 | 0.1838 | 0.2820 | 0.2233 | 0.1838 | 0.0099 | 0.1443 | 0.1047 | 0.2371 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2160 |
| predicted_3B | 0.0020 |
| predicted_AB | 10.4920 |
| predicted_AVG | 0.2056 |
| predicted_BB | 1.0930 |
| predicted_H | 2.1570 |
| predicted_HBP | 0.4420 |
| predicted_HR | 0.0940 |
| predicted_OBP | 0.2868 |
| predicted_R | 0.4990 |
| predicted_RBI | 1.6740 |
| predicted_SLG | 0.2535 |
| predicted_SO | 2.3280 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0330 | 0.2160 | 0.1129 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.3510 | 10.4920 | 6.4675 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2056 | 0.2188 | model_form_blend |
| predicted_BB | 0.3510 | 1.0930 | 0.6748 | model_form_blend |
| predicted_H | 0.7000 | 2.1570 | 1.3359 | model_form_blend |
| predicted_HBP | - | 0.4420 | 0.4420 | form_only |
| predicted_HR | 0.0700 | 0.0940 | 0.0805 | model_form_blend |
| predicted_OBP | 0.2940 | 0.2868 | 0.2909 | model_form_blend |
| predicted_R | 0.1850 | 0.4990 | 0.3220 | model_form_blend |
| predicted_RBI | 0.4400 | 1.6740 | 0.9786 | model_form_blend |
| predicted_SLG | 0.3210 | 0.2535 | 0.2915 | model_form_blend |
| predicted_SO | 0.7950 | 2.3280 | 1.4640 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 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.184 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 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 | C |
| gameID | 20260530_MIN@PIT |
| game_type | full |
| mlbID | 605170 |
| playerID | 605170 |
| playerName | Victor Caratini |
| pos | C |
| started | True |
| startingPosition | C |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-30 |
| sl_k_percent | 20.4 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.254 |
| sl_xwoba | 0.329 |
| sl_xba | 0.244 |
| sl_xslg | 0.367 |
| sl_sweet_spot_percent | 41.1 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 37.4 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 21.9 |
| sl_swing_percent | 43.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.190 | 0.000 | 0.000 | Hitting_2B | 0.186 | 0.000 | -0.186 | 0.000 |
| predicted_3B | 0.032 | 0.000 | 0.000 | Hitting_3B | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_AB | 3.500 | 3.000 | 6.000 | Hitting_AB | 3.435 | 4.000 | -0.435 | -1.000 |
| predicted_AVG | 0.231 | 0.000 | 0.167 | Hitting_AVG | 0.271 | 0.000 | -0.271 | 0.000 |
| predicted_BB | 0.525 | 1.000 | 1.000 | Hitting_BB | 0.534 | 0.000 | 0.466 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_H | 0.280 | 0.000 | 1.000 | Hitting_H | 0.932 | 0.000 | -0.932 | 0.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_OBP | 0.284 | 0.250 | 0.286 | Hitting_OBP | 0.377 | 0.000 | -0.127 | 0.250 |
| predicted_R | 0.633 | 0.000 | 1.000 | Hitting_R | 0.621 | 0.000 | -0.621 | 0.000 |
| predicted_RBI | 0.160 | 0.000 | 0.000 | Hitting_RBI | 0.354 | 0.000 | -0.354 | 0.000 |
| predicted_SLG | 0.363 | 0.000 | 0.167 | Hitting_SLG | 0.392 | 0.000 | -0.392 | 0.000 |
| predicted_SO | 0.804 | 1.000 | 2.000 | Hitting_SO | 0.789 | 2.000 | 0.211 | -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.5250 -> 1.0000 (boost 0.4750, better) |
| Biggest Deboost | predicted_R: 0.6330 -> 0.0000 (deboost -0.6330, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 9 | 0 | 8 | 1 | predicted_AB: 3.5000 -> 6.4536 (boost 2.9536, 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.3599 -> 0.3038 (deboost -0.0561, 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.6191 -> 2.0000 (boost 0.3809, worse) | predicted_RBI: 0.5375 -> 0.0000 (deboost -0.5375, worse) | AB rounded to 6 (raw=6.45), rates preserved: AVG=0.182 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.0536 -> 1.0000 (deboost -0.0536, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2766 -> 0.2860 (boost 0.0094, better) | predicted_SLG: 0.3038 -> 0.1670 (deboost -0.1368, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 1 | 3 | - | predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.1670 -> 0.3038 (boost 0.1368, better) | predicted_OBP: 0.2860 -> 0.2766 (deboost -0.0094, worse) | 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.19,
"predicted_3B": 0.032,
"predicted_AB": 3.5,
"predicted_AVG": 0.231,
"predicted_BB": 0.525,
"predicted_H": 0.28,
"predicted_HR": 0.04,
"predicted_OBP": 0.284,
"predicted_R": 0.633,
"predicted_RBI": 0.16,
"predicted_SLG": 0.363,
"predicted_SO": 0.804
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2909,
"predicted_3B": 0.0477,
"predicted_AB": 6.4536,
"predicted_AVG": 0.2297,
"predicted_BB": 0.844,
"predicted_H": 1.1802,
"predicted_HBP": 0.111,
"predicted_HR": 0.1322,
"predicted_OBP": 0.2973,
"predicted_R": 1.0639,
"predicted_RBI": 0.5428,
"predicted_SLG": 0.3599,
"predicted_SO": 1.6159
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.19,
"after": 0.2909,
"delta": 0.1009,
"percent_delta": 0.5311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.032,
"after": 0.0477,
"delta": 0.0157,
"percent_delta": 0.4906,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5,
"after": 6.4536,
"delta": 2.9536,
"percent_delta": 0.8439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2297,
"delta": -0.0013,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.525,
"after": 0.844,
"delta": 0.319,
"percent_delta": 0.6076,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.28,
"after": 1.1802,
"delta": 0.9002,
"percent_delta": 3.215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.1322,
"delta": 0.0922,
"percent_delta": 2.305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.284,
"after": 0.2973,
"delta": 0.0133,
"percent_delta": 0.0468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.633,
"after": 1.0639,
"delta": 0.4309,
"percent_delta": 0.6807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.5428,
"delta": 0.3828,
"percent_delta": 2.3925,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.363,
"after": 0.3599,
"delta": -0.0031,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.804,
"after": 1.6159,
"delta": 0.8119,
"percent_delta": 1.0098,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5,
"after": 6.4536,
"delta": 2.9536,
"percent_delta": 0.8439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.2909,
"predicted_3B": 0.0477,
"predicted_AB": 6.4536,
"predicted_AVG": 0.1822,
"predicted_BB": 0.8423,
"predicted_H": 1.1756,
"predicted_HBP": 0.111,
"predicted_HR": 0.133,
"predicted_OBP": 0.2766,
"predicted_R": 1.0536,
"predicted_RBI": 0.5375,
"predicted_SLG": 0.3038,
"predicted_SO": 1.6191
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2909,
"after": 0.2909,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0477,
"after": 0.0477,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.4536,
"after": 6.4536,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2297,
"after": 0.1822,
"delta": -0.0475,
"percent_delta": -0.2068,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.844,
"after": 0.8423,
"delta": -0.0017,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1802,
"after": 1.1756,
"delta": -0.0046,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.111,
"after": 0.111,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1322,
"after": 0.133,
"delta": 0.0008,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2973,
"after": 0.2766,
"delta": -0.0207,
"percent_delta": -0.0696,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0639,
"after": 1.0536,
"delta": -0.0103,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5428,
"after": 0.5375,
"delta": -0.0053,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3599,
"after": 0.3038,
"delta": -0.0561,
"percent_delta": -0.1559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6159,
"after": 1.6191,
"delta": 0.0032,
"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.3599,
"after": 0.3038,
"delta": -0.0561,
"percent_delta": -0.1559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.45), rates preserved: AVG=0.182 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2909,
"after": 0.0,
"delta": -0.2909,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0477,
"after": 0.0,
"delta": -0.0477,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.4536,
"after": 6.0,
"delta": -0.4536,
"percent_delta": -0.0703,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8423,
"after": 1.0,
"delta": 0.1577,
"percent_delta": 0.1872,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1756,
"after": 1.0,
"delta": -0.1756,
"percent_delta": -0.1494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.111,
"after": 0.0,
"delta": -0.111,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.133,
"after": 0.0,
"delta": -0.133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5375,
"after": 0.0,
"delta": -0.5375,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6191,
"after": 2.0,
"delta": 0.3809,
"percent_delta": 0.2353,
"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.6191,
"after": 2.0,
"delta": 0.3809,
"percent_delta": 0.2353,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5375,
"after": 0.0,
"delta": -0.5375,
"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": 1.0536,
"after": 1.0,
"delta": -0.0536,
"percent_delta": -0.0509,
"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": 1.0536,
"after": 1.0,
"delta": -0.0536,
"percent_delta": -0.0509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 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.1822,
"after": 0.167,
"delta": -0.0152,
"percent_delta": -0.0834,
"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.2766,
"after": 0.286,
"delta": 0.0094,
"percent_delta": 0.034,
"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.3038,
"after": 0.167,
"delta": -0.1368,
"percent_delta": -0.4503,
"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.2766,
"after": 0.286,
"delta": 0.0094,
"percent_delta": 0.034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3038,
"after": 0.167,
"delta": -0.1368,
"percent_delta": -0.4503,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1822,
"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.2766,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3038,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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.1822,
"delta": 0.0152,
"percent_delta": 0.0908,
"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.2766,
"delta": -0.0094,
"percent_delta": -0.0329,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.167,
"after": 0.3038,
"delta": 0.1368,
"percent_delta": 0.8195,
"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.3038,
"delta": 0.1368,
"percent_delta": 0.8195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2766,
"delta": -0.0094,
"percent_delta": -0.0329,
"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.19,
"after": 0.0,
"delta": -0.19,
"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.5,
"after": 3.0,
"delta": -0.5,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.1822,
"delta": -0.0488,
"percent_delta": -0.2113,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.525,
"after": 1.0,
"delta": 0.475,
"percent_delta": 0.9048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"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.284,
"after": 0.2766,
"delta": -0.0074,
"percent_delta": -0.0261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.633,
"after": 0.0,
"delta": -0.633,
"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.363,
"after": 0.3038,
"delta": -0.0592,
"percent_delta": -0.1631,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.804,
"after": 1.0,
"delta": 0.196,
"percent_delta": 0.2438,
"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.525,
"after": 1.0,
"delta": 0.475,
"percent_delta": 0.9048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.633,
"after": 0.0,
"delta": -0.633,
"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.032 | - |
| predicted_AB | 3.500 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.525 | - |
| predicted_H | 0.280 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.284 | - |
| predicted_R | 0.633 | - |
| predicted_RBI | 0.160 | - |
| predicted_SLG | 0.363 | - |
| predicted_SO | 0.804 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.291 | 0.101 |
| predicted_3B | 0.048 | 0.016 |
| predicted_AB | 6.454 | 2.954 |
| predicted_AVG | 0.230 | -0.001 |
| predicted_BB | 0.844 | 0.319 |
| predicted_H | 1.180 | 0.900 |
| predicted_HBP | 0.111 | - |
| predicted_HR | 0.132 | 0.092 |
| predicted_OBP | 0.297 | 0.013 |
| predicted_R | 1.064 | 0.431 |
| predicted_RBI | 0.543 | 0.383 |
| predicted_SLG | 0.360 | -0.003 |
| predicted_SO | 1.616 | 0.812 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.291 | 0.000 |
| predicted_3B | 0.048 | 0.000 |
| predicted_AB | 6.454 | 0.000 |
| predicted_AVG | 0.182 | -0.047 |
| predicted_BB | 0.842 | -0.002 |
| predicted_H | 1.176 | -0.005 |
| predicted_HBP | 0.111 | 0.000 |
| predicted_HR | 0.133 | 0.001 |
| predicted_OBP | 0.277 | -0.021 |
| predicted_R | 1.054 | -0.010 |
| predicted_RBI | 0.537 | -0.005 |
| predicted_SLG | 0.304 | -0.056 |
| predicted_SO | 1.619 | 0.003 |
AB rounded to 6 (raw=6.45), rates preserved: AVG=0.182 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.291 |
| predicted_3B | 0.000 | -0.048 |
| predicted_AB | 6.000 | -0.454 |
| predicted_AVG | 0.167 | -0.015 |
| predicted_BB | 1.000 | 0.158 |
| predicted_H | 1.000 | -0.176 |
| predicted_HR | 0.000 | -0.133 |
| predicted_OBP | 0.286 | 0.009 |
| predicted_R | 1.000 | -0.054 |
| predicted_RBI | 0.000 | -0.537 |
| predicted_SLG | 0.167 | -0.137 |
| predicted_SO | 2.000 | 0.381 |
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 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 19.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 1.000 | 7.000 | 0.1053 | 0.1500 | 0.2632 | 0.1053 | 0.0526 | 0.1053 | 0.0526 | 0.3684 |
| last_10 | 0.20 | 5 | - | 39.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 1.000 | 12.000 | 0.0513 | 0.0750 | 0.1282 | 0.0513 | 0.0256 | 0.0513 | 0.0256 | 0.3077 |
| season | 0.60 | 45 | - | 553.000 | 150.000 | 30.000 | 5.000 | 9.000 | 56.000 | 100.000 | 83.000 | 127.000 | 0.2712 | 0.3742 | 0.3924 | 0.2712 | 0.0163 | 0.1013 | 0.1501 | 0.2297 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4210 |
| predicted_3B | 0.0680 |
| predicted_AB | 10.2590 |
| predicted_AVG | 0.2281 |
| predicted_BB | 1.2550 |
| predicted_H | 2.3400 |
| predicted_HBP | 0.1110 |
| predicted_HR | 0.2510 |
| predicted_OBP | 0.3144 |
| predicted_R | 1.6190 |
| predicted_RBI | 1.0360 |
| predicted_SLG | 0.3558 |
| predicted_SO | 2.6620 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1900 | 0.4210 | 0.2909 | model_form_blend |
| predicted_3B | 0.0320 | 0.0680 | 0.0477 | model_form_blend |
| predicted_AB | 3.5000 | 10.2590 | 6.4536 | model_form_blend |
| predicted_AVG | 0.2310 | 0.2281 | 0.2297 | model_form_blend |
| predicted_BB | 0.5250 | 1.2550 | 0.8440 | model_form_blend |
| predicted_H | 0.2800 | 2.3400 | 1.1802 | model_form_blend |
| predicted_HBP | - | 0.1110 | 0.1110 | form_only |
| predicted_HR | 0.0400 | 0.2510 | 0.1322 | model_form_blend |
| predicted_OBP | 0.2840 | 0.3144 | 0.2973 | model_form_blend |
| predicted_R | 0.6330 | 1.6190 | 1.0639 | model_form_blend |
| predicted_RBI | 0.1600 | 1.0360 | 0.5428 | model_form_blend |
| predicted_SLG | 0.3630 | 0.3558 | 0.3599 | model_form_blend |
| predicted_SO | 0.8040 | 2.6620 | 1.6159 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 161 |
| Season rows before report date | 161 |
| Report year | 2026 |
| Profile rows used | 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 | 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.271 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260531_MIN@PIT |
| game_type | full |
| mlbID | 663616 |
| playerID | 663616 |
| playerName | Trevor Larnach |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-31 |
| sl_k_percent | 19.8 |
| sl_bb_percent | 13.8 |
| sl_woba | 0.346 |
| sl_xwoba | 0.319 |
| sl_xba | 0.236 |
| sl_xslg | 0.356 |
| sl_sweet_spot_percent | 34.9 |
| sl_barrel_batted_rate | 6.4 |
| sl_hard_hit_percent | 31.2 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 11.6 |
| sl_whiff_percent | 25.9 |
| sl_swing_percent | 41.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.227 | 0.000 | 0.000 | Hitting_2B | 0.220 | 0.000 | -0.220 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.653 | 2.000 | 7.000 | Hitting_AB | 3.533 | 4.000 | -1.533 | -2.000 |
| predicted_AVG | 0.234 | 0.000 | 0.143 | Hitting_AVG | 0.289 | 0.000 | -0.289 | 0.000 |
| predicted_BB | 0.528 | 1.000 | 1.000 | Hitting_BB | 0.522 | 0.000 | 0.478 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.110 | 0.000 | -0.110 | 0.000 |
| predicted_H | 0.720 | 0.000 | 1.000 | Hitting_H | 1.022 | 0.000 | -1.022 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.055 | 0.000 | -0.055 | 0.000 |
| predicted_OBP | 0.286 | 0.333 | 0.250 | Hitting_OBP | 0.390 | 0.000 | -0.057 | 0.333 |
| predicted_R | 0.466 | 0.000 | 1.000 | Hitting_R | 0.462 | 0.000 | -0.462 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 1.000 | Hitting_RBI | 0.407 | 0.000 | -0.407 | 0.000 |
| predicted_SLG | 0.328 | 0.000 | 0.143 | Hitting_SLG | 0.398 | 0.000 | -0.398 | 0.000 |
| predicted_SO | 0.619 | 0.000 | 1.000 | Hitting_SO | 0.599 | 1.000 | -0.599 | -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.5280 -> 1.0000 (boost 0.4720, better) |
| Biggest Deboost | predicted_AB: 3.6530 -> 2.0000 (deboost -1.6530, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.6530 -> 6.8014 (boost 3.1484, better) | predicted_SLG: 0.3280 -> 0.3154 (deboost -0.0126, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2931 -> 0.2986 (boost 0.0055, better) | predicted_AVG: 0.2272 -> 0.2112 (deboost -0.0160, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 4 | 4 | predicted_RBI: 0.6381 -> 1.0000 (boost 0.3619, better) | predicted_H: 1.4367 -> 1.0000 (deboost -0.4367, worse) | AB rounded to 7 (raw=6.80), rates preserved: AVG=0.211 HR/AB=0.014 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7601 -> 1.0000 (boost 0.2399, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3041 -> 0.1430 (deboost -0.1611, 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 -> 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.3041 (boost 0.1611, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668885",
"player_name": "Austin Martin",
"position": "RF",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.227,
"predicted_3B": 0.0,
"predicted_AB": 3.653,
"predicted_AVG": 0.234,
"predicted_BB": 0.528,
"predicted_H": 0.72,
"predicted_HR": 0.07,
"predicted_OBP": 0.286,
"predicted_R": 0.466,
"predicted_RBI": 0.35,
"predicted_SLG": 0.328,
"predicted_SO": 0.619
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3393,
"predicted_3B": 0.0009,
"predicted_AB": 6.8014,
"predicted_AVG": 0.2272,
"predicted_BB": 0.8488,
"predicted_H": 1.4423,
"predicted_HBP": 0.166,
"predicted_HR": 0.0963,
"predicted_OBP": 0.2931,
"predicted_R": 0.7675,
"predicted_RBI": 0.6444,
"predicted_SLG": 0.3154,
"predicted_SO": 1.2553
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.227,
"after": 0.3393,
"delta": 0.1123,
"percent_delta": 0.4947,
"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.653,
"after": 6.8014,
"delta": 3.1484,
"percent_delta": 0.8619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2272,
"delta": -0.0068,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.528,
"after": 0.8488,
"delta": 0.3208,
"percent_delta": 0.6076,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 1.4423,
"delta": 0.7223,
"percent_delta": 1.0032,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0963,
"delta": 0.0263,
"percent_delta": 0.3757,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2931,
"delta": 0.0071,
"percent_delta": 0.0248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.466,
"after": 0.7675,
"delta": 0.3015,
"percent_delta": 0.647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.6444,
"delta": 0.2944,
"percent_delta": 0.8411,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.328,
"after": 0.3154,
"delta": -0.0126,
"percent_delta": -0.0384,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.619,
"after": 1.2553,
"delta": 0.6363,
"percent_delta": 1.0279,
"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.653,
"after": 6.8014,
"delta": 3.1484,
"percent_delta": 0.8619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.328,
"after": 0.3154,
"delta": -0.0126,
"percent_delta": -0.0384,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 6,
"season": 47
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.3393,
"predicted_3B": 0.0009,
"predicted_AB": 6.8014,
"predicted_AVG": 0.2112,
"predicted_BB": 0.8471,
"predicted_H": 1.4367,
"predicted_HBP": 0.166,
"predicted_HR": 0.0969,
"predicted_OBP": 0.2986,
"predicted_R": 0.7601,
"predicted_RBI": 0.6381,
"predicted_SLG": 0.3041,
"predicted_SO": 1.2578
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3393,
"after": 0.3393,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.8014,
"after": 6.8014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2272,
"after": 0.2112,
"delta": -0.016,
"percent_delta": -0.0704,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8488,
"after": 0.8471,
"delta": -0.0017,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4423,
"after": 1.4367,
"delta": -0.0056,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.166,
"after": 0.166,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0963,
"after": 0.0969,
"delta": 0.0006,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2931,
"after": 0.2986,
"delta": 0.0055,
"percent_delta": 0.0188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7675,
"after": 0.7601,
"delta": -0.0074,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6444,
"after": 0.6381,
"delta": -0.0063,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3154,
"after": 0.3041,
"delta": -0.0113,
"percent_delta": -0.0358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2553,
"after": 1.2578,
"delta": 0.0025,
"percent_delta": 0.002,
"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.2931,
"after": 0.2986,
"delta": 0.0055,
"percent_delta": 0.0188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2272,
"after": 0.2112,
"delta": -0.016,
"percent_delta": -0.0704,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.80), rates preserved: AVG=0.211 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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3393,
"after": 0.0,
"delta": -0.3393,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.8014,
"after": 7.0,
"delta": 0.1986,
"percent_delta": 0.0292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8471,
"after": 1.0,
"delta": 0.1529,
"percent_delta": 0.1805,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4367,
"after": 1.0,
"delta": -0.4367,
"percent_delta": -0.304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.166,
"after": 0.0,
"delta": -0.166,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0969,
"after": 0.0,
"delta": -0.0969,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6381,
"after": 1.0,
"delta": 0.3619,
"percent_delta": 0.5672,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2578,
"after": 1.0,
"delta": -0.2578,
"percent_delta": -0.205,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6381,
"after": 1.0,
"delta": 0.3619,
"percent_delta": 0.5672,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.4367,
"after": 1.0,
"delta": -0.4367,
"percent_delta": -0.304,
"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.7601,
"after": 1.0,
"delta": 0.2399,
"percent_delta": 0.3156,
"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.7601,
"after": 1.0,
"delta": 0.2399,
"percent_delta": 0.3156,
"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.2112,
"after": 0.143,
"delta": -0.0682,
"percent_delta": -0.3229,
"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.2986,
"after": 0.25,
"delta": -0.0486,
"percent_delta": -0.1628,
"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.3041,
"after": 0.143,
"delta": -0.1611,
"percent_delta": -0.5298,
"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.3041,
"after": 0.143,
"delta": -0.1611,
"percent_delta": -0.5298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 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.2112,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2986,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3041,
"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.2112,
"delta": 0.0682,
"percent_delta": 0.4771,
"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.2986,
"delta": 0.0486,
"percent_delta": 0.1944,
"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.3041,
"delta": 0.1611,
"percent_delta": 1.1267,
"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.3041,
"delta": 0.1611,
"percent_delta": 1.1267,
"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.227,
"after": 0.0,
"delta": -0.227,
"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.653,
"after": 2.0,
"delta": -1.653,
"percent_delta": -0.4525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2112,
"delta": -0.0228,
"percent_delta": -0.0974,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.528,
"after": 1.0,
"delta": 0.472,
"percent_delta": 0.8939,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 0.0,
"delta": -0.72,
"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.286,
"after": 0.2986,
"delta": 0.0126,
"percent_delta": 0.0441,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.466,
"after": 0.0,
"delta": -0.466,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.328,
"after": 0.3041,
"delta": -0.0239,
"percent_delta": -0.0729,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.619,
"after": 0.0,
"delta": -0.619,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.528,
"after": 1.0,
"delta": 0.472,
"percent_delta": 0.8939,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.653,
"after": 2.0,
"delta": -1.653,
"percent_delta": -0.4525,
"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.227 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.653 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.528 | - |
| predicted_H | 0.720 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.286 | - |
| predicted_R | 0.466 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.328 | - |
| predicted_SO | 0.619 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.339 | 0.112 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.801 | 3.148 |
| predicted_AVG | 0.227 | -0.007 |
| predicted_BB | 0.849 | 0.321 |
| predicted_H | 1.442 | 0.722 |
| predicted_HBP | 0.166 | - |
| predicted_HR | 0.096 | 0.026 |
| predicted_OBP | 0.293 | 0.007 |
| predicted_R | 0.767 | 0.301 |
| predicted_RBI | 0.644 | 0.294 |
| predicted_SLG | 0.315 | -0.013 |
| predicted_SO | 1.255 | 0.636 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.339 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.801 | 0.000 |
| predicted_AVG | 0.211 | -0.016 |
| predicted_BB | 0.847 | -0.002 |
| predicted_H | 1.437 | -0.006 |
| predicted_HBP | 0.166 | 0.000 |
| predicted_HR | 0.097 | 0.001 |
| predicted_OBP | 0.299 | 0.005 |
| predicted_R | 0.760 | -0.007 |
| predicted_RBI | 0.638 | -0.006 |
| predicted_SLG | 0.304 | -0.011 |
| predicted_SO | 1.258 | 0.002 |
AB rounded to 7 (raw=6.80), rates preserved: AVG=0.211 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 | 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.339 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | 0.199 |
| predicted_AVG | 0.143 | -0.068 |
| predicted_BB | 1.000 | 0.153 |
| predicted_H | 1.000 | -0.437 |
| predicted_HR | 0.000 | -0.097 |
| predicted_OBP | 0.250 | -0.049 |
| predicted_R | 1.000 | 0.240 |
| predicted_RBI | 1.000 | 0.362 |
| predicted_SLG | 0.143 | -0.161 |
| predicted_SO | 1.000 | -0.258 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -5.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -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 | 4 | - | 16.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 0.0000 | 0.0588 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0625 | 0.2500 |
| last_10 | 0.20 | 6 | - | 36.000 | 4.000 | 0.000 | 0.000 | 0.000 | 4.000 | 1.000 | 1.000 | 8.000 | 0.1111 | 0.1351 | 0.1111 | 0.1111 | 0.0000 | 0.1111 | 0.0278 | 0.2222 |
| season | 0.60 | 47 | - | 643.000 | 186.000 | 40.000 | 0.000 | 10.000 | 74.000 | 82.000 | 93.000 | 109.000 | 0.2893 | 0.3886 | 0.3981 | 0.2893 | 0.0155 | 0.1151 | 0.1446 | 0.1695 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4830 |
| predicted_3B | 0.0020 |
| predicted_AB | 10.8280 |
| predicted_AVG | 0.2185 |
| predicted_BB | 1.2590 |
| predicted_H | 2.3660 |
| predicted_HBP | 0.1660 |
| predicted_HR | 0.1300 |
| predicted_OBP | 0.3021 |
| predicted_R | 1.1530 |
| predicted_RBI | 1.0210 |
| predicted_SLG | 0.2993 |
| predicted_SO | 2.0690 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2270 | 0.4830 | 0.3393 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.6530 | 10.8280 | 6.8014 | model_form_blend |
| predicted_AVG | 0.2340 | 0.2185 | 0.2272 | model_form_blend |
| predicted_BB | 0.5280 | 1.2590 | 0.8488 | model_form_blend |
| predicted_H | 0.7200 | 2.3660 | 1.4423 | model_form_blend |
| predicted_HBP | - | 0.1660 | 0.1660 | form_only |
| predicted_HR | 0.0700 | 0.1300 | 0.0963 | model_form_blend |
| predicted_OBP | 0.2860 | 0.3021 | 0.2931 | model_form_blend |
| predicted_R | 0.4660 | 1.1530 | 0.7675 | model_form_blend |
| predicted_RBI | 0.3500 | 1.0210 | 0.6444 | model_form_blend |
| predicted_SLG | 0.3280 | 0.2993 | 0.3154 | model_form_blend |
| predicted_SO | 0.6190 | 2.0690 | 1.2553 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 182 |
| Season rows before report date | 182 |
| 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 | 3 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.289 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260531_MIN@PIT |
| game_type | full |
| mlbID | 668885 |
| playerID | 668885 |
| playerName | Austin Martin |
| pos | LF |
| started | True |
| startingPosition | RF |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-31 |
| sl_k_percent | 15.8 |
| sl_bb_percent | 13.0 |
| sl_woba | 0.34 |
| sl_xwoba | 0.328 |
| sl_xba | 0.256 |
| sl_xslg | 0.353 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 3.1 |
| sl_hard_hit_percent | 31.3 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 12.3 |
| sl_whiff_percent | 19.0 |
| sl_swing_percent | 39.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.093 | 0.000 | 0.000 | Hitting_2B | 0.092 | 0.000 | -0.092 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.289 | 3.000 | 5.000 | Hitting_AB | 3.255 | 3.000 | -0.255 | 0.000 |
| predicted_AVG | 0.253 | 0.000 | 0.200 | Hitting_AVG | 0.226 | 0.000 | -0.226 | 0.000 |
| predicted_BB | 0.196 | 0.000 | 0.000 | Hitting_BB | 0.194 | 0.000 | -0.194 | 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.735 | 0.000 | -0.735 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_OBP | 0.297 | 0.000 | 0.200 | Hitting_OBP | 0.275 | 0.000 | -0.275 | 0.000 |
| predicted_R | 0.320 | 0.000 | 0.000 | Hitting_R | 0.316 | 0.000 | -0.316 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 1.000 | Hitting_RBI | 0.633 | 0.000 | -0.633 | 0.000 |
| predicted_SLG | 0.371 | 0.000 | 0.200 | Hitting_SLG | 0.376 | 0.000 | -0.376 | 0.000 |
| predicted_SO | 1.196 | 1.000 | 2.000 | Hitting_SO | 1.184 | 1.000 | -0.184 | 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_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 | 9 | 0 | 8 | 1 | predicted_AB: 3.2890 -> 5.4202 (boost 2.1312, 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.2953 -> 0.2711 (deboost -0.0242, 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.8106 -> 2.0000 (boost 0.1894, worse) | predicted_AB: 5.4202 -> 5.0000 (deboost -0.4202, worse) | AB rounded to 5 (raw=5.42), rates preserved: AVG=0.234 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4948 -> 0.0000 (deboost -0.4948, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3709 -> 0.2000 (deboost -0.1709, 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: 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.3709 (boost 0.1709, better) | - | 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.093,
"predicted_3B": 0.0,
"predicted_AB": 3.289,
"predicted_AVG": 0.253,
"predicted_BB": 0.196,
"predicted_H": 0.65,
"predicted_HR": 0.08,
"predicted_OBP": 0.297,
"predicted_R": 0.32,
"predicted_RBI": 0.45,
"predicted_SLG": 0.371,
"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.2748,
"predicted_3B": 0.0013,
"predicted_AB": 5.4202,
"predicted_AVG": 0.2535,
"predicted_BB": 0.2796,
"predicted_H": 1.2712,
"predicted_HBP": 0.078,
"predicted_HR": 0.1547,
"predicted_OBP": 0.2953,
"predicted_R": 0.4996,
"predicted_RBI": 0.9411,
"predicted_SLG": 0.3876,
"predicted_SO": 1.807
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.093,
"after": 0.2748,
"delta": 0.1818,
"percent_delta": 1.9548,
"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.289,
"after": 5.4202,
"delta": 2.1312,
"percent_delta": 0.648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2535,
"delta": 0.0005,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.196,
"after": 0.2796,
"delta": 0.0836,
"percent_delta": 0.4265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 1.2712,
"delta": 0.6212,
"percent_delta": 0.9557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1547,
"delta": 0.0747,
"percent_delta": 0.9337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2953,
"delta": -0.0017,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.32,
"after": 0.4996,
"delta": 0.1796,
"percent_delta": 0.5612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.9411,
"delta": 0.4911,
"percent_delta": 1.0913,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3876,
"delta": 0.0166,
"percent_delta": 0.0447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.196,
"after": 1.807,
"delta": 0.611,
"percent_delta": 0.5109,
"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.289,
"after": 5.4202,
"delta": 2.1312,
"percent_delta": 0.648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.2748,
"predicted_3B": 0.0013,
"predicted_AB": 5.4202,
"predicted_AVG": 0.2336,
"predicted_BB": 0.279,
"predicted_H": 1.2662,
"predicted_HBP": 0.078,
"predicted_HR": 0.1556,
"predicted_OBP": 0.2711,
"predicted_R": 0.4948,
"predicted_RBI": 0.932,
"predicted_SLG": 0.3709,
"predicted_SO": 1.8106
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2748,
"after": 0.2748,
"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.4202,
"after": 5.4202,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2535,
"after": 0.2336,
"delta": -0.0199,
"percent_delta": -0.0785,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2796,
"after": 0.279,
"delta": -0.0006,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2712,
"after": 1.2662,
"delta": -0.005,
"percent_delta": -0.0039,
"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.1547,
"after": 0.1556,
"delta": 0.0009,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2953,
"after": 0.2711,
"delta": -0.0242,
"percent_delta": -0.082,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4996,
"after": 0.4948,
"delta": -0.0048,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9411,
"after": 0.932,
"delta": -0.0091,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3876,
"after": 0.3709,
"delta": -0.0167,
"percent_delta": -0.0431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.807,
"after": 1.8106,
"delta": 0.0036,
"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_OBP",
"before": 0.2953,
"after": 0.2711,
"delta": -0.0242,
"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 5 (raw=5.42), rates preserved: AVG=0.234 HR/AB=0.029",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2748,
"after": 0.0,
"delta": -0.2748,
"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.4202,
"after": 5.0,
"delta": -0.4202,
"percent_delta": -0.0775,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.279,
"after": 0.0,
"delta": -0.279,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2662,
"after": 1.0,
"delta": -0.2662,
"percent_delta": -0.2102,
"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.1556,
"after": 0.0,
"delta": -0.1556,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.932,
"after": 1.0,
"delta": 0.068,
"percent_delta": 0.073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8106,
"after": 2.0,
"delta": 0.1894,
"percent_delta": 0.1046,
"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.8106,
"after": 2.0,
"delta": 0.1894,
"percent_delta": 0.1046,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.4202,
"after": 5.0,
"delta": -0.4202,
"percent_delta": -0.0775,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.4948,
"after": 0.0,
"delta": -0.4948,
"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.4948,
"after": 0.0,
"delta": -0.4948,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2336,
"after": 0.2,
"delta": -0.0336,
"percent_delta": -0.1438,
"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.2711,
"after": 0.2,
"delta": -0.0711,
"percent_delta": -0.2623,
"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.3709,
"after": 0.2,
"delta": -0.1709,
"percent_delta": -0.4608,
"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.3709,
"after": 0.2,
"delta": -0.1709,
"percent_delta": -0.4608,
"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": 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": 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": 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.2336,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2711,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3709,
"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.2336,
"delta": 0.0336,
"percent_delta": 0.1681,
"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.2711,
"delta": 0.0711,
"percent_delta": 0.3557,
"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.3709,
"delta": 0.1709,
"percent_delta": 0.8547,
"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.3709,
"delta": 0.1709,
"percent_delta": 0.8547,
"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.093,
"after": 0.0,
"delta": -0.093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.289,
"after": 3.0,
"delta": -0.289,
"percent_delta": -0.0879,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2336,
"delta": -0.0194,
"percent_delta": -0.0767,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.196,
"after": 0.0,
"delta": -0.196,
"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.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2711,
"delta": -0.0259,
"percent_delta": -0.0872,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3709,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.196,
"after": 1.0,
"delta": -0.196,
"percent_delta": -0.1639,
"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.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.093 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.289 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.196 | - |
| predicted_H | 0.650 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.297 | - |
| predicted_R | 0.320 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.371 | - |
| 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.275 | 0.182 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.420 | 2.131 |
| predicted_AVG | 0.254 | 0.001 |
| predicted_BB | 0.280 | 0.084 |
| predicted_H | 1.271 | 0.621 |
| predicted_HBP | 0.078 | - |
| predicted_HR | 0.155 | 0.075 |
| predicted_OBP | 0.295 | -0.002 |
| predicted_R | 0.500 | 0.180 |
| predicted_RBI | 0.941 | 0.491 |
| predicted_SLG | 0.388 | 0.017 |
| predicted_SO | 1.807 | 0.611 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.275 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.420 | 0.000 |
| predicted_AVG | 0.234 | -0.020 |
| predicted_BB | 0.279 | -0.001 |
| predicted_H | 1.266 | -0.005 |
| predicted_HBP | 0.078 | 0.000 |
| predicted_HR | 0.156 | 0.001 |
| predicted_OBP | 0.271 | -0.024 |
| predicted_R | 0.495 | -0.005 |
| predicted_RBI | 0.932 | -0.009 |
| predicted_SLG | 0.371 | -0.017 |
| predicted_SO | 1.811 | 0.004 |
AB rounded to 5 (raw=5.42), rates preserved: AVG=0.234 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.275 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | -0.420 |
| predicted_AVG | 0.200 | -0.034 |
| predicted_BB | 0.000 | -0.279 |
| predicted_H | 1.000 | -0.266 |
| predicted_HR | 0.000 | -0.156 |
| predicted_OBP | 0.200 | -0.071 |
| predicted_R | 0.000 | -0.495 |
| predicted_RBI | 1.000 | 0.068 |
| predicted_SLG | 0.200 | -0.171 |
| predicted_SO | 2.000 | 0.189 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 17.000 | 6.000 | 3.000 | 0.000 | 0.000 | 4.000 | 1.000 | 0.000 | 4.000 | 0.3529 | 0.3529 | 0.5294 | 0.3529 | 0.0000 | 0.2353 | 0.0000 | 0.2353 |
| last_10 | 0.20 | 5 | - | 34.000 | 10.000 | 5.000 | 0.000 | 0.000 | 4.000 | 1.000 | 0.000 | 4.000 | 0.2941 | 0.2941 | 0.4412 | 0.2941 | 0.0000 | 0.1177 | 0.0000 | 0.1177 |
| season | 0.60 | 32 | - | 319.000 | 72.000 | 9.000 | 0.000 | 13.000 | 62.000 | 31.000 | 19.000 | 116.000 | 0.2257 | 0.2746 | 0.3762 | 0.2257 | 0.0408 | 0.1944 | 0.0596 | 0.3636 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5190 |
| predicted_3B | 0.0030 |
| predicted_AB | 8.2840 |
| predicted_AVG | 0.2542 |
| predicted_BB | 0.3920 |
| predicted_H | 2.1060 |
| predicted_HBP | 0.0780 |
| predicted_HR | 0.2550 |
| predicted_OBP | 0.2930 |
| predicted_R | 0.7410 |
| predicted_RBI | 1.6010 |
| predicted_SLG | 0.4099 |
| predicted_SO | 2.6280 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0930 | 0.5190 | 0.2748 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.2890 | 8.2840 | 5.4202 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2542 | 0.2535 | model_form_blend |
| predicted_BB | 0.1960 | 0.3920 | 0.2796 | model_form_blend |
| predicted_H | 0.6500 | 2.1060 | 1.2712 | model_form_blend |
| predicted_HBP | - | 0.0780 | 0.0780 | form_only |
| predicted_HR | 0.0800 | 0.2550 | 0.1547 | model_form_blend |
| predicted_OBP | 0.2970 | 0.2930 | 0.2953 | model_form_blend |
| predicted_R | 0.3200 | 0.7410 | 0.4996 | model_form_blend |
| predicted_RBI | 0.4500 | 1.6010 | 0.9411 | model_form_blend |
| predicted_SLG | 0.3710 | 0.4099 | 0.3876 | model_form_blend |
| predicted_SO | 1.1960 | 2.6280 | 1.8070 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 98 |
| Season rows before report date | 98 |
| Report year | 2026 |
| Profile rows used | 97 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.226 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260531_MIN@PIT |
| game_type | full |
| mlbID | 656484 |
| playerID | 656484 |
| playerName | Tristan Gray |
| pos | 3B |
| started | True |
| startingPosition | SS |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-31 |
| sl_k_percent | 32.7 |
| sl_bb_percent | 6.9 |
| sl_woba | 0.301 |
| sl_xwoba | 0.308 |
| sl_xba | 0.246 |
| sl_xslg | 0.386 |
| sl_sweet_spot_percent | 43.3 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 43.3 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 13.0 |
| sl_whiff_percent | 37.3 |
| sl_swing_percent | 56.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 4.000 | 4.000 | 4.000 | Pitching_BB | 1.167 | 0.000 | 2.833 | 4.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 1.750 | 2.000 | 0.250 | 0.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 3.833 | 5.000 | -0.833 | -2.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 5.283 | 7.200 | 0.717 | -1.200 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 5.833 | 9.000 | 0.167 | -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: 4.0000 -> 6.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 | pitcher_quality_guardrail | 1 | 1 | 0 | 1 | 0 | predicted_SO: 4.0000 -> 6.0000 (boost 2.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": "657746",
"player_name": "Joe Ryan",
"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": 4.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 4.0,
"after": 6.0,
"delta": 2.0,
"percent_delta": 0.5,
"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": 4.0,
"after": 6.0,
"delta": 2.0,
"percent_delta": 0.5,
"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": 4.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_R": 2.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 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": 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": 4.0,
"after": 6.0,
"delta": 2.0,
"percent_delta": 0.5,
"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": 4.0,
"after": 6.0,
"delta": 2.0,
"percent_delta": 0.5,
"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 | 4.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 6.000 | - |
| predicted_SO | 4.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 4.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 6.000 | 0.000 |
| predicted_SO | 6.000 | 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 | 26.000 | 5.000 | 15.000 | 5.000 | 31.000 | 1.000 | 1.7308 | 0.7692 | 0.1923 | 0.5769 | 0.1923 | 1.1923 | 0.0385 |
| last_10 | 0.35 | 10 | 55.000 | 16.000 | 36.000 | 12.000 | 60.000 | 4.000 | 2.6182 | 0.8727 | 0.2909 | 0.6545 | 0.2182 | 1.0909 | 0.0727 |
| season | 0.20 | 12 | 64.100 | 21.000 | 46.000 | 14.000 | 70.000 | 4.000 | 2.9378 | 0.9326 | 0.3264 | 0.7150 | 0.2176 | 1.0881 | 0.0622 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4050 |
| predicted_ER | 1.7650 |
| predicted_ERA | 2.8724 |
| predicted_H | 4.0110 |
| predicted_HR | 0.4330 |
| predicted_IP | 5.2000 |
| predicted_SO | 5.9640 |
| predicted_WHIP | 0.9794 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 4.0000 | 1.4050 | 2.6357 | model_form_blend |
| predicted_ER | 2.0000 | 1.7650 | 1.8765 | model_form_blend |
| predicted_ERA | - | 2.8724 | 2.8724 | form_only |
| predicted_H | 3.0000 | 4.0110 | 3.5315 | model_form_blend |
| predicted_HR | 1.0000 | 0.4330 | 0.7019 | model_form_blend |
| predicted_IP | 6.0000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 4.0000 | 5.9640 | 5.0326 | model_form_blend |
| predicted_WHIP | - | 0.9794 | 0.9794 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 12 |
| Season rows before report date | 12 |
| Report year | 2026 |
| Profile rows used | 12 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.0 |
| H | 3 |
| R | 2 |
| ER | 2 |
| BB | 4 |
| SO | 6 |
| HR | 1 |
| BF | 25 |
| Pitches | 107 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 30 |
| Pitching_ER | 2 |
| Pitching_ERA | 2.94 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 7 |
| Pitching_H | 5 |
| Pitching_HBP | 2 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 7.2 |
| Pitching_Pitches | 98 |
| Pitching_R | 2 |
| Pitching_SO | 9 |
| Pitching_Strikes | 77 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260526_MIN@CHW |
| game_type | full |
| mlbID | 657746 |
| playerID | 657746 |
| playerName | Joe Ryan |
| pos | P |
| started | True |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-26 |
| game_pk | 824597.0 |
| sl_k_percent | 27.5 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.253 |
| sl_xwoba | 0.269 |
| sl_sweet_spot_percent | 30.1 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 41.0 |
| sl_whiff_percent | 25.9 |
| sl_swing_percent | 50.6 |
| sv_pitch_count | 98.0 |
| sv_outs_recorded_est | 23.0 |
| sv_release_speed | 87.50510204081633 |
| sv_release_spin_rate | 2505.765306122449 |
| sv_effective_speed | 88.48367346938775 |
| sv_launch_speed | 82.81794871794872 |
| sv_launch_angle | 15.717948717948715 |
| sv_woba_value | 7.0 |
| sv_woba_denom | 30.0 |
| sv_delta_run_exp | -2.359 |
| sv_delta_home_win_exp | -0.0829999999999999 |
| sl_avg_best_speed | 79.167454578 |
| sl_avg_hyper_speed | 94.383850121 |
| 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.565 | 0.000 | -0.565 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.522 | 0.000 | -0.522 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.087 | 1.000 | -1.087 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.996 | 1.200 | 0.104 | -0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.087 | 3.000 | -0.087 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "679358",
"player_name": "Eric Orze",
"position": "Middle Reliever",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 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 | 6.100 | 3.000 | 6.000 | 1.000 | 8.000 | 0.000 | 4.2632 | 1.1053 | 0.4737 | 0.9474 | 0.1579 | 1.2632 | 0.0000 |
| last_10 | 0.35 | 10 | 13.000 | 4.000 | 12.000 | 6.000 | 12.000 | 0.000 | 2.7692 | 1.3846 | 0.3077 | 0.9231 | 0.4615 | 0.9231 | 0.0000 |
| season | 0.20 | 23 | 27.100 | 12.000 | 25.000 | 13.000 | 25.000 | 0.000 | 3.9512 | 1.3902 | 0.4390 | 0.9146 | 0.4756 | 0.9146 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4630 |
| predicted_ER | 0.5880 |
| predicted_ERA | 3.9712 |
| predicted_H | 1.2550 |
| predicted_HR | 0.0860 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.3470 |
| predicted_WHIP | 1.2882 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4630 | 0.2069 | model_form_blend |
| predicted_ER | 0.0000 | 0.5880 | 0.2627 | model_form_blend |
| predicted_ERA | - | 3.9712 | 3.9712 | form_only |
| predicted_H | 0.0000 | 1.2550 | 0.5607 | model_form_blend |
| predicted_HR | 0.0000 | 0.0860 | 0.0384 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.3470 | 1.1550 | model_form_blend |
| predicted_WHIP | - | 1.2882 | 1.2882 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 23 |
| Season rows before report date | 23 |
| Report year | 2026 |
| Profile rows used | 23 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 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 | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.95 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 23 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 17 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260529_MIN@PIT |
| game_type | full |
| mlbID | 679358 |
| playerID | 679358 |
| playerName | Eric Orze |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-29 |
| sl_k_percent | 21.2 |
| sl_bb_percent | 11.0 |
| sl_woba | 0.279 |
| sl_xwoba | 0.298 |
| sl_sweet_spot_percent | 38.8 |
| sl_barrel_batted_rate | 5.0 |
| sl_hard_hit_percent | 31.3 |
| sl_whiff_percent | 24.5 |
| sl_swing_percent | 44.0 |
| sl_avg_best_speed | 75.24161775 |
| sl_avg_hyper_speed | 93.214329125 |
| 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 | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.083 | 0.000 | 0.917 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.417 | 0.000 | 0.583 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.725 | 0.200 | 0.275 | 0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.083 | 1.000 | -0.083 | 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": "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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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 | 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 | 5.000 | 1.000 | 4.000 | 2.000 | 7.000 | 0.000 | 1.8000 | 1.2000 | 0.2000 | 0.8000 | 0.4000 | 1.4000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 1.000 | 5.000 | 4.000 | 13.000 | 0.000 | 0.9310 | 0.9310 | 0.1035 | 0.5172 | 0.4138 | 1.3448 | 0.0000 |
| season | 0.20 | 21 | 27.200 | 13.000 | 24.000 | 14.000 | 26.000 | 5.000 | 4.2289 | 1.3735 | 0.4699 | 0.8675 | 0.5060 | 0.9398 | 0.1807 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4120 |
| predicted_ER | 0.3550 |
| predicted_ERA | 3.0839 |
| predicted_H | 0.8560 |
| predicted_HR | 0.0860 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1610 |
| predicted_WHIP | 1.2257 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4120 | 0.1846 | model_form_blend |
| predicted_ER | 1.0000 | 0.3550 | 0.7110 | model_form_blend |
| predicted_ERA | - | 3.0839 | 3.0839 | form_only |
| predicted_H | 1.0000 | 0.8560 | 0.9355 | model_form_blend |
| predicted_HR | 1.0000 | 0.0860 | 0.5905 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1610 | 1.0721 | model_form_blend |
| predicted_WHIP | - | 1.2257 | 1.2257 | 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 | 21 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 1 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.23 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 14 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260529_MIN@PIT |
| 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-29 |
| sl_k_percent | 21.1 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.333 |
| sl_xwoba | 0.365 |
| sl_sweet_spot_percent | 36.3 |
| sl_barrel_batted_rate | 12.3 |
| sl_hard_hit_percent | 39.7 |
| sl_whiff_percent | 23.3 |
| sl_swing_percent | 47.2 |
| sl_avg_best_speed | 77.7845925 |
| sl_avg_hyper_speed | 94.317830704 |
| 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.240 | 0.000 | -0.240 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.400 | 2.000 | -0.400 | -2.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.120 | 2.000 | -0.120 | -1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.680 | 0.100 | -0.480 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.680 | 1.000 | 0.320 | 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: 3.0000 -> 1.0000 (deboost -2.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SO: 3.0000 -> 1.0000 (deboost -2.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "573124",
"player_name": "Taylor Rogers",
"position": "Middle Reliever",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"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": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"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.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"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": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"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.667 | - |
| predicted_SO | 3.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 3.000 | 2.000 | 5.000 | 0.000 | 3.000 | 1.000 | 6.0000 | 1.6667 | 0.6667 | 1.6667 | 0.0000 | 1.0000 | 0.3333 |
| last_10 | 0.35 | 10 | 8.000 | 2.000 | 10.000 | 0.000 | 7.000 | 1.000 | 2.2500 | 1.2500 | 0.2500 | 1.2500 | 0.0000 | 0.8750 | 0.1250 |
| season | 0.20 | 24 | 21.200 | 7.000 | 26.000 | 5.000 | 17.000 | 1.000 | 2.9077 | 1.4308 | 0.3231 | 1.2000 | 0.2308 | 0.7846 | 0.0461 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1530 |
| predicted_ER | 0.3240 |
| predicted_ERA | 4.1869 |
| predicted_H | 0.8160 |
| predicted_HR | 0.1160 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6470 |
| predicted_WHIP | 1.3901 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1530 | 0.0646 | model_form_blend |
| predicted_ER | 0.0000 | 0.3240 | 0.1368 | model_form_blend |
| predicted_ERA | - | 4.1869 | 4.1869 | form_only |
| predicted_H | 1.0000 | 0.8160 | 0.9223 | model_form_blend |
| predicted_HR | 0.0000 | 0.1160 | 0.0490 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 3.0000 | 0.6470 | 2.0064 | model_form_blend |
| predicted_WHIP | - | 1.3901 | 1.3901 | 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 | 0.2 |
| H | 1 |
| 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 | 2 |
| Pitching_ERA | 4.15 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 12 |
| Pitching_R | 2 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260529_MIN@PIT |
| game_type | full |
| mlbID | 573124 |
| playerID | 573124 |
| playerName | Taylor Rogers |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-29 |
| sl_k_percent | 17.7 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.353 |
| sl_xwoba | 0.352 |
| sl_sweet_spot_percent | 50.0 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 31.9 |
| sl_whiff_percent | 17.3 |
| sl_swing_percent | 44.9 |
| sl_avg_best_speed | 75.239539429 |
| sl_avg_hyper_speed | 93.245433768 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | COL 3 - 5 LAA | LAA | 0.575 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | COL 2 - 5 LAA | LAA | - | 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.5752 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 2.293 | 6.863 | - | Base ML historical model prediction |
| 2 | variance_applied | 2 | 7 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 3 | 4 | 0.5752 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 3 | 5 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 3 | 5 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 2 | 5 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.48004268292682933,
"base_low_score_probability": 0.42784552845528456,
"low_score_signal_threshold": 0.5078455284552845,
"low_score_signal_strength": 0.05219715447154477,
"confidence": 0.661,
"factors": {
"environmental": 1.02,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.122
},
"prediction": "normal_scoring",
"expected_total_runs": 8,
"pre_simulation_expected_total_runs": 9.6,
"low_score_model_expected_total_runs": 9.6,
"final_simulation_total_runs": 7,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 74,
"near_bucket_sample_size": 9,
"medium_bucket_sample_size": 28,
"wide_bucket_sample_size": 74,
"global_sample_size": 74,
"bucket_scope": "pooled_0.12",
"sparse_bucket": false,
"empirical_hit_rate": 0.5676,
"bayesian_hit_rate": 0.5543,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8043,
"confidence_cap": 0.78,
"raw_pick_probability": 0.6275,
"calibrated_pick_probability": 0.5752,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "LAA",
"games": 60,
"wins": 23,
"losses": 37,
"win_pct": 0.38333333333333336,
"runs_scored": 255,
"runs_allowed": 306,
"run_differential": -51,
"run_differential_per_game": -0.85,
"available": true
},
"away": {
"team": "COL",
"games": 60,
"wins": 22,
"losses": 38,
"win_pct": 0.36666666666666664,
"runs_scored": 251,
"runs_allowed": 334,
"run_differential": -83,
"run_differential_per_game": -1.3833333333333333,
"available": true
},
"run_differential_edge_per_game": 0.5333,
"win_pct_edge": 0.0167,
"quality_edge": 0.5583,
"margin_adjustment": 0.2345,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 0.624,
"home_runs": 5.942,
"home_win_probability": 0.92
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "LAA",
"guardrail_predicted_team": "LAA",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "LAA",
"output_opponent_team": "COL",
"final_score_winner": "LAA",
"pre_simulation_winner": "LAA",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "COL 3 - 5 LAA",
"winner": "LAA"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 5,
"score_text": "COL 2 - 5 LAA",
"winner": "LAA"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 0,
"total_run_delta": -1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "LAA",
"games": 60,
"wins": 23,
"losses": 37,
"win_pct": 0.38333333333333336,
"runs_scored": 255,
"runs_allowed": 306,
"run_differential": -51,
"run_differential_per_game": -0.85,
"available": true
},
"away": {
"team": "COL",
"games": 60,
"wins": 22,
"losses": 38,
"win_pct": 0.36666666666666664,
"runs_scored": 251,
"runs_allowed": 334,
"run_differential": -83,
"run_differential_per_game": -1.3833333333333333,
"available": true
}
}
}{
"applied": true,
"raw_margin": 5.3175,
"final_margin": 1.5,
"margin_cap": 1.5,
"season_quality_edge": 0.5583,
"reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
"adjusted_score": {
"away_runs": 2.533,
"home_runs": 4.033
}
}{
"applied": false,
"raw_confidence": 0.575248,
"final_confidence": 0.575248,
"confidence_cap": 0.66,
"score_gap": 1.5,
"calibration_sample_size": 74,
"calibration_empirical_hit_rate": 0.5676,
"calibration_bayesian_hit_rate": 0.5543,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.5583,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is moderate",
"local calibration sample has at least 30 games",
"local calibration sample has at least 60 games",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "COL 3 - 5 LAA",
"winner": "LAA"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 5,
"score_text": "COL 2 - 5 LAA",
"winner": "LAA"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 0,
"total_run_delta": -1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 3,
"home_runs": 5,
"confidence": 0.575248,
"home_win_probability": 0.575248,
"away_win_probability": 0.424752,
"predicted_score_text": "COL 3 - 5 LAA",
"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": "COL",
"original_runs": 3,
"run_delta": -0.4424,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 57.0,
"quality": -0.0959437615632937,
"contact": -0.1493015605879729,
"power": -0.24678433229052116,
"discipline": -0.300739183569937,
"xwoba": 0.3067017543859649,
"recent_xwoba": 0.3067017543859649,
"barrel": 5.822807017543859,
"ab_hard_contact": -0.19051705516716771,
"ab_bat_speed": 69.87316405870695,
"ab_strikeout_rate": 0.2435639728157788,
"available_players": 9,
"top_players": [
{
"player_id": "694514",
"player_name": "Sterlin Thompson",
"position": "DH",
"weight": 4.0,
"quality": -0.12335634798855587,
"contact": -1.203068598976458,
"power": -1.493660403091146,
"discipline": -0.24716546416546423,
"xwoba": 0.252,
"recent_xwoba": 0.252,
"barrel": 0.0,
"ab_hard_contact": -0.5760652046800763,
"ab_bat_speed": 73.19537037037037,
"ab_strikeout_rate": 0.14814814814814814,
"available": 1.0
},
{
"player_id": "664983",
"player_name": "Jake McCarthy",
"position": "CF",
"weight": 6.0,
"quality": -0.2621115520522449,
"contact": -0.3656781516880984,
"power": -0.5659381135637749,
"discipline": -0.1816958874458876,
"xwoba": 0.315,
"recent_xwoba": 0.315,
"barrel": 6.099999999999999,
"ab_hard_contact": -0.4852384617517075,
"ab_bat_speed": 67.49878521825397,
"ab_strikeout_rate": 0.18875,
"available": 1.0
},
{
"player_id": "671289",
"player_name": "Tyler Freeman",
"position": "RF",
"weight": 7.0,
"quality": -0.1069280295325532,
"contact": 0.29965133574187375,
"power": -0.887410691528743,
"discipline": 0.13419556913674552,
"xwoba": 0.322,
"recent_xwoba": 0.322,
"barrel": 0.0,
"ab_hard_contact": -0.09564240200345035,
"ab_bat_speed": 66.56162103174603,
"ab_strikeout_rate": 0.1142156862745098,
"available": 1.0
},
{
"player_id": "650489",
"player_name": "Willi Castro",
"position": "2B",
"weight": 7.0,
"quality": -0.3040331288967885,
"contact": -0.45530443236991636,
"power": -0.24838632705465988,
"discipline": -0.6396428571428572,
"xwoba": 0.275,
"recent_xwoba": 0.275,
"barrel": 5.4,
"ab_hard_contact": -0.039726541093225126,
"ab_bat_speed": 70.78322285353535,
"ab_strikeout_rate": 0.28219696969696967,
"available": 1.0
},
{
"player_id": "696100",
"player_name": "Hunter Goodman",
"position": "C",
"weight": 8.0,
"quality": -0.06252975600654682,
"contact": -0.35031761490238417,
"power": 0.7001155795543568,
"discipline": -1.0179458874458875,
"xwoba": 0.301,
"recent_xwoba": 0.301,
"barrel": 13.699999999999998,
"ab_hard_contact": -0.022640789865261662,
"ab_bat_speed": 74.20468333333334,
"ab_strikeout_rate": 0.34,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "667755",
"player_name": "José Soriano",
"quality": 0.23322117773191445,
"contact": 0.025402170215769345,
"command": 0.6041115415800629,
"movement": 0.9337815869643443,
"xwoba": 0.308,
"whiff": 33.3,
"faced_est_woba": 0.30699815922989554,
"faced_launch_speed": 84.22853190364859,
"faced_strikeout_rate": 0.27520009975032467,
"faced_run_exp": 0.025484358923468068
}
},
"home": {
"team": "LAA",
"original_runs": 4,
"run_delta": 0.5943,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 58.0,
"quality": 0.24978735920693323,
"contact": 0.14257331532873294,
"power": 0.4400587099113399,
"discipline": -0.1619023557339712,
"xwoba": 0.3387241379310345,
"recent_xwoba": 0.3387241379310345,
"barrel": 11.198275862068966,
"ab_hard_contact": 0.21299685832529905,
"ab_bat_speed": 71.66933933004708,
"ab_strikeout_rate": 0.26997447470695224,
"available_players": 8,
"top_players": [
{
"player_id": "545361",
"player_name": "Mike Trout",
"position": "CF",
"weight": 8.0,
"quality": 1.4758664042529108,
"contact": 1.1920835240153647,
"power": 1.9625710569946628,
"discipline": 1.2967878787878788,
"xwoba": 0.42400000000000004,
"recent_xwoba": 0.42400000000000004,
"barrel": 21.0,
"ab_hard_contact": 1.174278282750383,
"ab_bat_speed": 73.46554624819625,
"ab_strikeout_rate": 0.2509090909090909,
"available": 1.0
},
{
"player_id": "666176",
"player_name": "Jo Adell",
"position": "RF",
"weight": 8.0,
"quality": 0.4928536257463438,
"contact": 0.6077781298595211,
"power": 0.7151081959026188,
"discipline": -0.9048744588744589,
"xwoba": 0.335,
"recent_xwoba": 0.335,
"barrel": 8.8,
"ab_hard_contact": 0.7191162990047313,
"ab_bat_speed": 75.8700483276644,
"ab_strikeout_rate": 0.2571428571428572,
"available": 1.0
},
{
"player_id": "681351",
"player_name": "Logan O'Hoppe",
"position": "C",
"weight": 6.0,
"quality": -0.3437755175602788,
"contact": -1.0275202355805948,
"power": -0.5345417211391372,
"discipline": -0.025373737373737455,
"xwoba": 0.279,
"recent_xwoba": 0.279,
"barrel": 9.5,
"ab_hard_contact": -0.8797868037351432,
"ab_bat_speed": 69.93682239057239,
"ab_strikeout_rate": 0.25707070707070706,
"available": 1.0
},
{
"player_id": "687093",
"player_name": "Vaughn Grissom",
"position": "1B",
"weight": 7.0,
"quality": 0.338432584027595,
"contact": 0.8175094736095206,
"power": 0.34096289938154567,
"discipline": 0.5872862554112553,
"xwoba": 0.339,
"recent_xwoba": 0.339,
"barrel": 6.5,
"ab_hard_contact": 1.0645913209642315,
"ab_bat_speed": 69.57450148809524,
"ab_strikeout_rate": 0.153125,
"available": 1.0
},
{
"player_id": "663611",
"player_name": "Nick Madrigal",
"position": "3B",
"weight": 3.0,
"quality": -0.0,
"contact": 0.7598285714285727,
"power": -1.1052571428571416,
"discipline": -0.40678571428571436,
"xwoba": 0.417,
"recent_xwoba": 0.417,
"barrel": 0.0,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.27612500000001,
"ab_strikeout_rate": 0.22291666666666665,
"available": 0.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "607536",
"player_name": "Kyle Freeland",
"quality": -0.6707072130060089,
"contact": -1.8399505122420587,
"command": -0.17155932566458876,
"movement": -0.9093473529836688,
"xwoba": 0.395,
"whiff": 23.1,
"faced_est_woba": 0.36093632723855096,
"faced_launch_speed": 83.86249520581758,
"faced_strikeout_rate": 0.19402502259645119,
"faced_run_exp": -0.03929006762653447
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 3,
"home_runs": 5,
"predicted_score_text": "COL 3 - 5 LAA",
"confidence": 0.575248,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "COL 3 - 5 LAA",
"winner": "LAA"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 5,
"score_text": "COL 2 - 5 LAA",
"winner": "LAA"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 0,
"total_run_delta": -1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}Source: data/all_players_stats.csv embedded Savant hitter features. It adjusts team offense through expected production and contact quality, then records coverage so missing hitters are visible.
| Team | Applied | Offense Factor | Raw Avg Factor | Coverage Weight | Covered | Missing |
|---|---|---|---|---|---|---|
| Away COL | True | 1.0015 | 1.0015 | 1 | 9 | 0 |
| Home LAA | True | 1.0284 | 1.0284 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LF | Troy Johnston | 307 | 1.0076 | 0.1018 | neutral | 0.3240 | 0.2800 | 0.3860 | 2.20 | 37.70 | 88.60 | 12.80 | 24.20 | 21.30 | 7.60 | -0.8000 |
| RF | Tyler Freeman | 330 | 0.9994 | -0.0074 | neutral | 0.3220 | 0.2780 | 0.3600 | 0 | 31.30 | 87 | 11 | 11.40 | 11.90 | 3.50 | 0.2286 |
| 2B | Willi Castro | 186 | 0.9729 | -0.3617 | negative_batter_regression | 0.2750 | 0.2180 | 0.3390 | 5.40 | 46.80 | 89.90 | 16.50 | 29.80 | 29.40 | 7.30 | -0.8857 |
| C | Hunter Goodman | 93 | 1.0038 | 0.0511 | negative_batter_regression | 0.3010 | 0.2160 | 0.4080 | 13.70 | 45.60 | 90.70 | 18 | 33.50 | 34.50 | 6.80 | -1.2571 |
| CF | Jake McCarthy | 233 | 0.9930 | -0.0938 | neutral | 0.3150 | 0.2640 | 0.4020 | 6.10 | 21.60 | 84 | 14.60 | 22.10 | 18.20 | 5.80 | -0.7714 |
| SS | Ezequiel Tovar | 282 | 1.0197 | 0.2623 | positive_batter_regression | 0.3100 | 0.2440 | 0.4120 | 8.30 | 37.50 | 88 | 13.90 | 29.60 | 25.40 | 6.10 | 1.0571 |
| 1B | Edouard Julien | 509 | 1.0314 | 0.4187 | positive_batter_regression | 0.3240 | 0.2410 | 0.3970 | 7.40 | 48.40 | 90.50 | 8.80 | 25.90 | 27.80 | 11.40 | 1.3714 |
| DH | Sterlin Thompson | 466 | 0.9613 | -0.5162 | neutral | 0.2520 | 0.1770 | 0.2370 | 0 | 38.10 | 86.10 | 6.80 | 29.60 | 16.70 | 6.70 | 0.6857 |
| 3B | Kyle Karros | 278 | 1.0247 | 0.3294 | positive_batter_regression | 0.3230 | 0.2480 | 0.3630 | 6 | 40.20 | 89.30 | 10.90 | 23.80 | 23.80 | 13 | 1.0857 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Jorge Soler | 417 | 1.0140 | 0.1869 | neutral | 0.3100 | 0.2210 | 0.3980 | 11.50 | 43.10 | 88.50 | 14.30 | 35.60 | 31.70 | 9.30 | 0.1143 |
| SS | Zach Neto | 55 | 1.0230 | 0.3070 | neutral | 0.3280 | 0.2160 | 0.4100 | 11.40 | 38.30 | 89.70 | 22.50 | 30 | 30.40 | 12.60 | -0.5143 |
| 1B | Vaughn Grissom | 384 | 1.0287 | 0.3823 | neutral | 0.3390 | 0.2590 | 0.4170 | 6.50 | 47.70 | 90.80 | 13.20 | 20.20 | 10.20 | 9.50 | 0.8000 |
| CF | Mike Trout | 19 | 1.1336 | 1.7816 | neutral | 0.4240 | 0.2580 | 0.5810 | 21 | 48.60 | 91.10 | 20.80 | 21.70 | 22.50 | 21.40 | 0.7714 |
| 2B | Oswald Peraza | 46 | 1.0079 | 0.1054 | neutral | 0.3260 | 0.2620 | 0.4110 | 9 | 33 | 86.40 | 12.10 | 30.50 | 25.70 | 5.30 | -0.8571 |
| RF | Jo Adell | 462 | 1.0607 | 0.8094 | positive_batter_regression | 0.3350 | 0.2680 | 0.4580 | 8.80 | 47.10 | 91.20 | 19.30 | 26.50 | 23.70 | 2.90 | 1.0571 |
| LF | Jose Siri | 208 | 0.9987 | -0.0179 | negative_batter_regression | 0.2960 | 0.2200 | 0.4240 | 20 | 40 | 85.70 | 20.50 | 45.70 | 35.30 | 5.90 | -2 |
| C | Logan O'Hoppe | 448 | 0.9808 | -0.2563 | neutral | 0.2790 | 0.1890 | 0.3130 | 9.50 | 35.70 | 85.80 | 16.60 | 28 | 22.50 | 10.10 | 0.5714 |
| 3B | Nick Madrigal | 322 | 1.0084 | 0.1120 | negative_batter_regression | 0.4170 | 0.3590 | 0.3970 | 0 | 0 | 83.40 | 4.80 | 11.10 | 20 | 0 | -2 |
{
"home": {
"applied": true,
"offense_factor": 1.0284,
"raw_average_factor": 1.0284,
"team_espn_average_rank": 262.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "624585",
"player_name": "Jorge Soler",
"offense_factor": 1.014,
"quality_score": 0.1869,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "624585",
"espn_id": 32558,
"player_name": "Jorge Soler",
"team": "LAA",
"role": "batter",
"espn_rank": 417,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 417,
"gp_value": 55.0,
"gp_rank": 100,
"ab_value": 203.0,
"ab_rank": 86,
"r_value": 26.0,
"r_rank": 93,
"h_value": 43.0,
"h_rank": 131,
"avg_value": 0.2118226,
"avg_rank": 149.0,
"2b_value": 9.0,
"2b_rank": 97,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 9.0,
"hr_rank": 47,
"rbi_value": 31.0,
"rbi_rank": 47,
"tb_value": 79.0,
"tb_rank": 685,
"bb_value": 21.0,
"bb_rank": 86,
"so_value": 73.0,
"so_rank": 11,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.2943722,
"obp_rank": "136",
"slg_value": 0.3891625,
"slg_rank": "104",
"ops_value": 0.6835347,
"ops_rank": 120.0,
"war_value": -0.17,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 214.0,
"k_percent": 31.7,
"bb_percent": 9.3,
"woba": 0.306,
"xwoba": 0.31,
"xba": 0.221,
"xslg": 0.398,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 11.5,
"hard_hit_percent": 43.1,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 14.3,
"whiff_percent": 35.6,
"swing_percent": 47.4
},
"components": {
"expected_quality": 0.2048,
"regression_edge": 0.1143,
"xwoba_edge": 0.1429,
"xba_edge": -0.5143,
"xslg_edge": 0.3429,
"barrel_edge": 1.0222,
"hard_hit_edge": 0.5857,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": 0.35,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "687263",
"player_name": "Zach Neto",
"offense_factor": 1.023,
"quality_score": 0.307,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687263",
"espn_id": 4666100,
"player_name": "Zach Neto",
"team": "LAA",
"role": "batter",
"espn_rank": 55,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 55,
"gp_value": 60.0,
"gp_rank": 2,
"ab_value": 234.0,
"ab_rank": 10,
"r_value": 42.0,
"r_rank": 7,
"h_value": 54.0,
"h_rank": 64,
"avg_value": 0.2307692,
"avg_rank": 122.0,
"2b_value": 14.0,
"2b_rank": 18,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 10.0,
"hr_rank": 41,
"rbi_value": 27.0,
"rbi_rank": 80,
"tb_value": 100.0,
"tb_rank": 303,
"bb_value": 34.0,
"bb_rank": 18,
"so_value": 82.0,
"so_rank": 3,
"sb_value": 8.0,
"sb_rank": 37,
"obp_value": 0.339416,
"obp_rank": "75",
"slg_value": 0.4273504,
"slg_rank": "79",
"ops_value": 0.7667664,
"ops_rank": 76.0,
"war_value": 1.64,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 253.0,
"k_percent": 30.4,
"bb_percent": 12.6,
"woba": 0.346,
"xwoba": 0.328,
"xba": 0.216,
"xslg": 0.41,
"sweet_spot_percent": 38.3,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 38.3,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 22.5,
"whiff_percent": 30.0,
"swing_percent": 49.0
},
"components": {
"expected_quality": 0.4407,
"regression_edge": -0.5143,
"xwoba_edge": 0.6571,
"xba_edge": -0.6571,
"xslg_edge": 0.5143,
"barrel_edge": 1.0,
"hard_hit_edge": -0.1,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": 0.8333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "687093",
"player_name": "Vaughn Grissom",
"offense_factor": 1.0287,
"quality_score": 0.3823,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687093",
"espn_id": 42503,
"player_name": "Vaughn Grissom",
"team": "LAA",
"role": "batter",
"espn_rank": 384,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 384,
"gp_value": 37.0,
"gp_rank": 272,
"ab_value": 122.0,
"ab_rank": 230,
"r_value": 11.0,
"r_rank": 285,
"h_value": 29.0,
"h_rank": 223,
"avg_value": 0.2377049,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 139,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 3.0,
"hr_rank": 201,
"rbi_value": 24.0,
"rbi_rank": 115,
"tb_value": 46.0,
"tb_rank": 1281,
"bb_value": 13.0,
"bb_rank": 193,
"so_value": 14.0,
"so_rank": 372,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3142857,
"obp_rank": "-",
"slg_value": 0.3770491,
"slg_rank": "-",
"ops_value": 0.6913348,
"ops_rank": null,
"war_value": -0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 121.0,
"k_percent": 10.2,
"bb_percent": 9.5,
"woba": 0.311,
"xwoba": 0.339,
"xba": 0.259,
"xslg": 0.417,
"sweet_spot_percent": 30.8,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 47.7,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 13.2,
"whiff_percent": 20.2,
"swing_percent": 45.6
},
"components": {
"expected_quality": 0.678,
"regression_edge": 0.8,
"xwoba_edge": 0.9714,
"xba_edge": 0.5714,
"xslg_edge": 0.6143,
"barrel_edge": -0.0889,
"hard_hit_edge": 1.2429,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": -0.4167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "545361",
"player_name": "Mike Trout",
"offense_factor": 1.1336,
"quality_score": 1.7816,
"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": 533,
"metrics": {
"espn_rank": 19,
"gp_value": 59.0,
"gp_rank": 19,
"ab_value": 207.0,
"ab_rank": 72,
"r_value": 45.0,
"r_rank": 2,
"h_value": 50.0,
"h_rank": 88,
"avg_value": 0.2415458,
"avg_rank": 103.0,
"2b_value": 10.0,
"2b_rank": 72,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 14.0,
"hr_rank": 12,
"rbi_value": 31.0,
"rbi_rank": 47,
"tb_value": 102.0,
"tb_rank": 512,
"bb_value": 56.0,
"bb_rank": 1,
"so_value": 61.0,
"so_rank": 30,
"sb_value": 5.0,
"sb_rank": 73,
"obp_value": 0.4097744,
"obp_rank": "4",
"slg_value": 0.4927536,
"slg_rank": "30",
"ops_value": 0.902528,
"ops_rank": 15.0,
"war_value": 2.42,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 238.0,
"k_percent": 22.5,
"bb_percent": 21.4,
"woba": 0.397,
"xwoba": 0.424,
"xba": 0.258,
"xslg": 0.581,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 21.0,
"hard_hit_percent": 48.6,
"exit_velocity_avg": 91.1,
"launch_angle_avg": 20.8,
"whiff_percent": 21.7,
"swing_percent": 37.2
},
"components": {
"expected_quality": 1.946,
"regression_edge": 0.7714,
"xwoba_edge": 2.5,
"xba_edge": 0.5429,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": 1.3714,
"exit_velocity_edge": 0.92,
"sweet_spot_edge": 0.1167,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "2B",
"player_id": "672724",
"player_name": "Oswald Peraza",
"offense_factor": 1.0079,
"quality_score": 0.1054,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672724",
"espn_id": 42479,
"player_name": "Oswald Peraza",
"team": "LAA",
"role": "batter",
"espn_rank": 46,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 46,
"gp_value": 54.0,
"gp_rank": 119,
"ab_value": 159.0,
"ab_rank": 174,
"r_value": 17.0,
"r_rank": 199,
"h_value": 44.0,
"h_rank": 125,
"avg_value": 0.2767295,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 170,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 7.0,
"hr_rank": 73,
"rbi_value": 15.0,
"rbi_rank": 220,
"tb_value": 74.0,
"tb_rank": 612,
"bb_value": 9.0,
"bb_rank": 264,
"so_value": 45.0,
"so_rank": 104,
"sb_value": 6.0,
"sb_rank": 58,
"obp_value": 0.3390804,
"obp_rank": "-",
"slg_value": 0.4654088,
"slg_rank": "-",
"ops_value": 0.8044892,
"ops_rank": null,
"war_value": 1.72,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 152.0,
"k_percent": 25.7,
"bb_percent": 5.3,
"woba": 0.356,
"xwoba": 0.326,
"xba": 0.262,
"xslg": 0.411,
"sweet_spot_percent": 40.2,
"barrel_batted_rate": 9.0,
"hard_hit_percent": 33.0,
"exit_velocity_avg": 86.4,
"launch_angle_avg": 12.1,
"whiff_percent": 30.5,
"swing_percent": 54.2
},
"components": {
"expected_quality": 0.317,
"regression_edge": -0.8571,
"xwoba_edge": 0.6,
"xba_edge": 0.6571,
"xslg_edge": 0.5286,
"barrel_edge": 0.4667,
"hard_hit_edge": -0.8571,
"exit_velocity_edge": -0.96,
"sweet_spot_edge": 1.15,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "666176",
"player_name": "Jo Adell",
"offense_factor": 1.0607,
"quality_score": 0.8094,
"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": 462,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 462,
"gp_value": 60.0,
"gp_rank": 2,
"ab_value": 232.0,
"ab_rank": 14,
"r_value": 21.0,
"r_rank": 154,
"h_value": 55.0,
"h_rank": 59,
"avg_value": 0.2370689,
"avg_rank": 108.0,
"2b_value": 8.0,
"2b_rank": 139,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 9.0,
"hr_rank": 47,
"rbi_value": 33.0,
"rbi_rank": 35,
"tb_value": 90.0,
"tb_rank": 655,
"bb_value": 7.0,
"bb_rank": 299,
"so_value": 58.0,
"so_rank": 36,
"sb_value": 3.0,
"sb_rank": 126,
"obp_value": 0.2811244,
"obp_rank": "151",
"slg_value": 0.387931,
"slg_rank": "105",
"ops_value": 0.6690554,
"ops_rank": 126.0,
"war_value": -0.35,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 228.0,
"k_percent": 23.7,
"bb_percent": 2.9,
"woba": 0.298,
"xwoba": 0.335,
"xba": 0.268,
"xslg": 0.458,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 47.1,
"exit_velocity_avg": 91.2,
"launch_angle_avg": 19.3,
"whiff_percent": 26.5,
"swing_percent": 55.4
},
"components": {
"expected_quality": 0.7691,
"regression_edge": 1.0571,
"xwoba_edge": 0.8571,
"xba_edge": 0.8286,
"xslg_edge": 1.2,
"barrel_edge": 0.4222,
"hard_hit_edge": 1.1571,
"exit_velocity_edge": 0.96,
"sweet_spot_edge": -0.2167,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "LF",
"player_id": "642350",
"player_name": "Jose Siri",
"offense_factor": 0.9987,
"quality_score": -0.0179,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "642350",
"espn_id": 33954,
"player_name": "Jose Siri",
"team": "LAA",
"role": "batter",
"espn_rank": 208,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 208,
"gp_value": 14.0,
"gp_rank": 411,
"ab_value": 18.0,
"ab_rank": 468,
"r_value": 6.0,
"r_rank": 367,
"h_value": 6.0,
"h_rank": 421,
"avg_value": 0.3333333,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 353,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 1.0,
"hr_rank": 317,
"rbi_value": 2.0,
"rbi_rank": 432,
"tb_value": 11.0,
"tb_rank": 2041,
"bb_value": 1.0,
"bb_rank": 443,
"so_value": 7.0,
"so_rank": 439,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.368421,
"obp_rank": "-",
"slg_value": 0.6111111,
"slg_rank": "-",
"ops_value": 0.9795321,
"ops_rank": null,
"war_value": 0.36,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 11.0,
"k_percent": 35.3,
"bb_percent": 5.9,
"woba": 0.419,
"xwoba": 0.296,
"xba": 0.22,
"xslg": 0.424,
"sweet_spot_percent": 50.0,
"barrel_batted_rate": 20.0,
"hard_hit_percent": 40.0,
"exit_velocity_avg": 85.7,
"launch_angle_avg": 20.5,
"whiff_percent": 45.7,
"swing_percent": 53.0
},
"components": {
"expected_quality": 0.2794,
"regression_edge": -2.0,
"xwoba_edge": -0.2571,
"xba_edge": -0.5429,
"xslg_edge": 0.7143,
"barrel_edge": 2.5,
"hard_hit_edge": 0.1429,
"exit_velocity_edge": -1.24,
"sweet_spot_edge": 2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "681351",
"player_name": "Logan O'Hoppe",
"offense_factor": 0.9808,
"quality_score": -0.2563,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681351",
"espn_id": 42047,
"player_name": "Logan O'Hoppe",
"team": "LAA",
"role": "batter",
"espn_rank": 448,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 448,
"gp_value": 38.0,
"gp_rank": 265,
"ab_value": 116.0,
"ab_rank": 241,
"r_value": 14.0,
"r_rank": 243,
"h_value": 24.0,
"h_rank": 262,
"avg_value": 0.2068965,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 260,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 2.0,
"hr_rank": 255,
"rbi_value": 12.0,
"rbi_rank": 255,
"tb_value": 34.0,
"tb_rank": 1603,
"bb_value": 13.0,
"bb_rank": 193,
"so_value": 30.0,
"so_rank": 214,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3007518,
"obp_rank": "-",
"slg_value": 0.2931034,
"slg_rank": "-",
"ops_value": 0.5938552,
"ops_rank": null,
"war_value": -0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 119.0,
"k_percent": 22.5,
"bb_percent": 10.1,
"woba": 0.259,
"xwoba": 0.279,
"xba": 0.189,
"xslg": 0.313,
"sweet_spot_percent": 26.2,
"barrel_batted_rate": 9.5,
"hard_hit_percent": 35.7,
"exit_velocity_avg": 85.8,
"launch_angle_avg": 16.6,
"whiff_percent": 28.0,
"swing_percent": 48.1
},
"components": {
"expected_quality": -0.6441,
"regression_edge": 0.5714,
"xwoba_edge": -0.7429,
"xba_edge": -1.4286,
"xslg_edge": -0.8714,
"barrel_edge": 0.5778,
"hard_hit_edge": -0.4714,
"exit_velocity_edge": -1.2,
"sweet_spot_edge": -1.1833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "663611",
"player_name": "Nick Madrigal",
"offense_factor": 1.0084,
"quality_score": 0.112,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "663611",
"espn_id": 41170,
"player_name": "Nick Madrigal",
"team": "LAA",
"role": "batter",
"espn_rank": 322,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 322,
"gp_value": 3.0,
"gp_rank": 507,
"ab_value": 6.0,
"ab_rank": 507,
"r_value": 0.0,
"r_rank": 503,
"h_value": 2.0,
"h_rank": 473,
"avg_value": 0.3333333,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 455,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 0.0,
"hr_rank": 401,
"rbi_value": 0.0,
"rbi_rank": 487,
"tb_value": 2.0,
"tb_rank": 2447,
"bb_value": 0.0,
"bb_rank": 487,
"so_value": 1.0,
"so_rank": 511,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.4285714,
"obp_rank": "-",
"slg_value": 0.3333333,
"slg_rank": "-",
"ops_value": 0.7619047,
"ops_rank": null,
"war_value": 0.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 20.0,
"bb_percent": 0.0,
"woba": 0.505,
"xwoba": 0.417,
"xba": 0.359,
"xslg": 0.397,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 0.0,
"exit_velocity_avg": 83.4,
"launch_angle_avg": 4.8,
"whiff_percent": 11.1,
"swing_percent": 75.0
},
"components": {
"expected_quality": 0.615,
"regression_edge": -2.0,
"xwoba_edge": 2.5,
"xba_edge": 2.5,
"xslg_edge": 0.3286,
"barrel_edge": -1.5333,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -2.16,
"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.0015,
"raw_average_factor": 1.0015,
"team_espn_average_rank": 298.22,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "LF",
"player_id": "687859",
"player_name": "Troy Johnston",
"offense_factor": 1.0076,
"quality_score": 0.1018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687859",
"espn_id": 4346111,
"player_name": "Troy Johnston",
"team": "COL",
"role": "batter",
"espn_rank": 307,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 307,
"gp_value": 55.0,
"gp_rank": 100,
"ab_value": 184.0,
"ab_rank": 128,
"r_value": 23.0,
"r_rank": 124,
"h_value": 57.0,
"h_rank": 46,
"avg_value": 0.3097826,
"avg_rank": 6.0,
"2b_value": 15.0,
"2b_rank": 8,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 2.0,
"hr_rank": 255,
"rbi_value": 24.0,
"rbi_rank": 115,
"tb_value": 78.0,
"tb_rank": 1135,
"bb_value": 15.0,
"bb_rank": 162,
"so_value": 42.0,
"so_rank": 127,
"sb_value": 3.0,
"sb_rank": 126,
"obp_value": 0.3681592,
"obp_rank": "33",
"slg_value": 0.423913,
"slg_rank": "83",
"ops_value": 0.7920722,
"ops_rank": 57.0,
"war_value": 0.05,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 179.0,
"k_percent": 21.3,
"bb_percent": 7.6,
"woba": 0.352,
"xwoba": 0.324,
"xba": 0.28,
"xslg": 0.386,
"sweet_spot_percent": 44.2,
"barrel_batted_rate": 2.2,
"hard_hit_percent": 37.7,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 12.8,
"whiff_percent": 24.2,
"swing_percent": 49.4
},
"components": {
"expected_quality": 0.2756,
"regression_edge": -0.8,
"xwoba_edge": 0.5429,
"xba_edge": 1.1714,
"xslg_edge": 0.1714,
"barrel_edge": -1.0444,
"hard_hit_edge": -0.1857,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": 1.8167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "671289",
"player_name": "Tyler Freeman",
"offense_factor": 0.9994,
"quality_score": -0.0074,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671289",
"espn_id": 40958,
"player_name": "Tyler Freeman",
"team": "COL",
"role": "batter",
"espn_rank": 330,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 330,
"gp_value": 39.0,
"gp_rank": 258,
"ab_value": 129.0,
"ab_rank": 221,
"r_value": 13.0,
"r_rank": 258,
"h_value": 36.0,
"h_rank": 179,
"avg_value": 0.2790697,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 228,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 2.0,
"hr_rank": 255,
"rbi_value": 14.0,
"rbi_rank": 232,
"tb_value": 47.0,
"tb_rank": 1488,
"bb_value": 6.0,
"bb_rank": 315,
"so_value": 17.0,
"so_rank": 347,
"sb_value": 5.0,
"sb_rank": 73,
"obp_value": 0.3541666,
"obp_rank": "-",
"slg_value": 0.364341,
"slg_rank": "-",
"ops_value": 0.7185076,
"ops_rank": null,
"war_value": 0.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 126.0,
"k_percent": 11.9,
"bb_percent": 3.5,
"woba": 0.314,
"xwoba": 0.322,
"xba": 0.278,
"xslg": 0.36,
"sweet_spot_percent": 34.8,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 31.3,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 11.0,
"whiff_percent": 11.4,
"swing_percent": 48.4
},
"components": {
"expected_quality": -0.0522,
"regression_edge": 0.2286,
"xwoba_edge": 0.4857,
"xba_edge": 1.1143,
"xslg_edge": -0.2,
"barrel_edge": -1.5333,
"hard_hit_edge": -1.1,
"exit_velocity_edge": -0.72,
"sweet_spot_edge": 0.25,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "650489",
"player_name": "Willi Castro",
"offense_factor": 0.9729,
"quality_score": -0.3617,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "650489",
"espn_id": 34230,
"player_name": "Willi Castro",
"team": "COL",
"role": "batter",
"espn_rank": 186,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 186,
"gp_value": 49.0,
"gp_rank": 175,
"ab_value": 167.0,
"ab_rank": 153,
"r_value": 23.0,
"r_rank": 124,
"h_value": 44.0,
"h_rank": 125,
"avg_value": 0.263473,
"avg_rank": 62.0,
"2b_value": 9.0,
"2b_rank": 97,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 2.0,
"hr_rank": 255,
"rbi_value": 19.0,
"rbi_rank": 167,
"tb_value": 59.0,
"tb_rank": 1303,
"bb_value": 13.0,
"bb_rank": 193,
"so_value": 53.0,
"so_rank": 62,
"sb_value": 4.0,
"sb_rank": 95,
"obp_value": 0.3186813,
"obp_rank": "103",
"slg_value": 0.3532934,
"slg_rank": "132",
"ops_value": 0.6719747,
"ops_rank": 125.0,
"war_value": 0.47,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 164.0,
"k_percent": 29.4,
"bb_percent": 7.3,
"woba": 0.306,
"xwoba": 0.275,
"xba": 0.218,
"xslg": 0.339,
"sweet_spot_percent": 29.7,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 46.8,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 16.5,
"whiff_percent": 29.8,
"swing_percent": 55.0
},
"components": {
"expected_quality": -0.4199,
"regression_edge": -0.8857,
"xwoba_edge": -0.8571,
"xba_edge": -0.6,
"xslg_edge": -0.5,
"barrel_edge": -0.3333,
"hard_hit_edge": 1.1143,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": -0.6,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "696100",
"player_name": "Hunter Goodman",
"offense_factor": 1.0038,
"quality_score": 0.0511,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "696100",
"espn_id": 4416591,
"player_name": "Hunter Goodman",
"team": "COL",
"role": "batter",
"espn_rank": 93,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 93,
"gp_value": 54.0,
"gp_rank": 119,
"ab_value": 205.0,
"ab_rank": 81,
"r_value": 34.0,
"r_rank": 40,
"h_value": 49.0,
"h_rank": 96,
"avg_value": 0.2390243,
"avg_rank": 106.0,
"2b_value": 9.0,
"2b_rank": 97,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 13.0,
"hr_rank": 16,
"rbi_value": 23.0,
"rbi_rank": 126,
"tb_value": 97.0,
"tb_rank": 557,
"bb_value": 15.0,
"bb_rank": 162,
"so_value": 78.0,
"so_rank": 7,
"sb_value": 3.0,
"sb_rank": 126,
"obp_value": 0.3035714,
"obp_rank": "126",
"slg_value": 0.4731707,
"slg_rank": "38",
"ops_value": 0.7767421,
"ops_rank": 67.0,
"war_value": 1.18,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 206.0,
"k_percent": 34.5,
"bb_percent": 6.8,
"woba": 0.345,
"xwoba": 0.301,
"xba": 0.216,
"xslg": 0.408,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 13.7,
"hard_hit_percent": 45.6,
"exit_velocity_avg": 90.7,
"launch_angle_avg": 18.0,
"whiff_percent": 33.5,
"swing_percent": 55.2
},
"components": {
"expected_quality": 0.2681,
"regression_edge": -1.2571,
"xwoba_edge": -0.1143,
"xba_edge": -0.6571,
"xslg_edge": 0.4857,
"barrel_edge": 1.5111,
"hard_hit_edge": 0.9429,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": 0.05,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "CF",
"player_id": "664983",
"player_name": "Jake McCarthy",
"offense_factor": 0.993,
"quality_score": -0.0938,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664983",
"espn_id": 41197,
"player_name": "Jake McCarthy",
"team": "COL",
"role": "batter",
"espn_rank": 233,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 233,
"gp_value": 49.0,
"gp_rank": 175,
"ab_value": 142.0,
"ab_rank": 201,
"r_value": 18.0,
"r_rank": 182,
"h_value": 40.0,
"h_rank": 154,
"avg_value": 0.2816901,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 139,
"3b_value": 3.0,
"3b_rank": 4,
"hr_value": 3.0,
"hr_rank": 201,
"rbi_value": 24.0,
"rbi_rank": 115,
"tb_value": 63.0,
"tb_rank": 904,
"bb_value": 9.0,
"bb_rank": 264,
"so_value": 30.0,
"so_rank": 214,
"sb_value": 10.0,
"sb_rank": 18,
"obp_value": 0.3225806,
"obp_rank": "-",
"slg_value": 0.4436619,
"slg_rank": "-",
"ops_value": 0.7662425,
"ops_rank": null,
"war_value": 0.25,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 130.0,
"k_percent": 18.2,
"bb_percent": 5.8,
"woba": 0.342,
"xwoba": 0.315,
"xba": 0.264,
"xslg": 0.402,
"sweet_spot_percent": 37.9,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 21.6,
"exit_velocity_avg": 84.0,
"launch_angle_avg": 14.6,
"whiff_percent": 22.1,
"swing_percent": 54.0
},
"components": {
"expected_quality": -0.0591,
"regression_edge": -0.7714,
"xwoba_edge": 0.2857,
"xba_edge": 0.7143,
"xslg_edge": 0.4,
"barrel_edge": -0.1778,
"hard_hit_edge": -2.4857,
"exit_velocity_edge": -1.92,
"sweet_spot_edge": 0.7667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "678662",
"player_name": "Ezequiel Tovar",
"offense_factor": 1.0197,
"quality_score": 0.2623,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "678662",
"espn_id": 4905919,
"player_name": "Ezequiel Tovar",
"team": "COL",
"role": "batter",
"espn_rank": 282,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 282,
"gp_value": 58.0,
"gp_rank": 37,
"ab_value": 199.0,
"ab_rank": 97,
"r_value": 17.0,
"r_rank": 199,
"h_value": 44.0,
"h_rank": 125,
"avg_value": 0.2211055,
"avg_rank": 135.0,
"2b_value": 11.0,
"2b_rank": 51,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 4.0,
"hr_rank": 163,
"rbi_value": 20.0,
"rbi_rank": 155,
"tb_value": 67.0,
"tb_rank": 981,
"bb_value": 13.0,
"bb_rank": 193,
"so_value": 55.0,
"so_rank": 55,
"sb_value": 4.0,
"sb_rank": 95,
"obp_value": 0.2731481,
"obp_rank": "159",
"slg_value": 0.3366834,
"slg_rank": "144",
"ops_value": 0.6098315,
"ops_rank": 160.0,
"war_value": 0.11,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 197.0,
"k_percent": 25.4,
"bb_percent": 6.1,
"woba": 0.273,
"xwoba": 0.31,
"xba": 0.244,
"xslg": 0.412,
"sweet_spot_percent": 38.2,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 37.5,
"exit_velocity_avg": 88.0,
"launch_angle_avg": 13.9,
"whiff_percent": 29.6,
"swing_percent": 61.1
},
"components": {
"expected_quality": 0.1685,
"regression_edge": 1.0571,
"xwoba_edge": 0.1429,
"xba_edge": 0.1429,
"xslg_edge": 0.5429,
"barrel_edge": 0.3111,
"hard_hit_edge": -0.2143,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": 0.8167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "666397",
"player_name": "Edouard Julien",
"offense_factor": 1.0314,
"quality_score": 0.4187,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "666397",
"espn_id": 3985190,
"player_name": "Edouard Julien",
"team": "COL",
"role": "batter",
"espn_rank": 509,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 509,
"gp_value": 49.0,
"gp_rank": 175,
"ab_value": 140.0,
"ab_rank": 207,
"r_value": 17.0,
"r_rank": 199,
"h_value": 29.0,
"h_rank": 223,
"avg_value": 0.2071428,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 298,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 2.0,
"hr_rank": 255,
"rbi_value": 12.0,
"rbi_rank": 255,
"tb_value": 40.0,
"tb_rank": 1384,
"bb_value": 19.0,
"bb_rank": 115,
"so_value": 44.0,
"so_rank": 113,
"sb_value": 4.0,
"sb_rank": 95,
"obp_value": 0.30625,
"obp_rank": "-",
"slg_value": 0.2857142,
"slg_rank": "-",
"ops_value": 0.5919642,
"ops_rank": null,
"war_value": -0.6,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 147.0,
"k_percent": 27.8,
"bb_percent": 11.4,
"woba": 0.276,
"xwoba": 0.324,
"xba": 0.241,
"xslg": 0.397,
"sweet_spot_percent": 44.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 48.4,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 8.8,
"whiff_percent": 25.9,
"swing_percent": 42.4
},
"components": {
"expected_quality": 0.5054,
"regression_edge": 1.3714,
"xwoba_edge": 0.5429,
"xba_edge": 0.0571,
"xslg_edge": 0.3286,
"barrel_edge": 0.1111,
"hard_hit_edge": 1.3429,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": 1.8167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "694514",
"player_name": "Sterlin Thompson",
"offense_factor": 0.9613,
"quality_score": -0.5162,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694514",
"espn_id": 4683366,
"player_name": "Sterlin Thompson",
"team": "COL",
"role": "batter",
"espn_rank": 466,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 466,
"gp_value": 12.0,
"gp_rank": 428,
"ab_value": 27.0,
"ab_rank": 436,
"r_value": 1.0,
"r_rank": 464,
"h_value": 4.0,
"h_rank": 446,
"avg_value": 0.1481481,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 402,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 0.0,
"hr_rank": 401,
"rbi_value": 3.0,
"rbi_rank": 410,
"tb_value": 5.0,
"tb_rank": 2367,
"bb_value": 2.0,
"bb_rank": 415,
"so_value": 5.0,
"so_rank": 461,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.2580645,
"obp_rank": "-",
"slg_value": 0.1851851,
"slg_rank": "-",
"ops_value": 0.4432496,
"ops_rank": null,
"war_value": -0.35,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 25.0,
"k_percent": 16.7,
"bb_percent": 6.7,
"woba": 0.228,
"xwoba": 0.252,
"xba": 0.177,
"xslg": 0.237,
"sweet_spot_percent": 14.3,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 38.1,
"exit_velocity_avg": 86.1,
"launch_angle_avg": 6.8,
"whiff_percent": 29.6,
"swing_percent": 49.1
},
"components": {
"expected_quality": -1.4455,
"regression_edge": 0.6857,
"xwoba_edge": -1.5143,
"xba_edge": -1.7714,
"xslg_edge": -1.9571,
"barrel_edge": -1.5333,
"hard_hit_edge": -0.1286,
"exit_velocity_edge": -1.08,
"sweet_spot_edge": -2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "691720",
"player_name": "Kyle Karros",
"offense_factor": 1.0247,
"quality_score": 0.3294,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "691720",
"espn_id": 5203102,
"player_name": "Kyle Karros",
"team": "COL",
"role": "batter",
"espn_rank": 278,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 278,
"gp_value": 56.0,
"gp_rank": 72,
"ab_value": 163.0,
"ab_rank": 161,
"r_value": 22.0,
"r_rank": 134,
"h_value": 35.0,
"h_rank": 185,
"avg_value": 0.2147239,
"avg_rank": 145.0,
"2b_value": 8.0,
"2b_rank": 139,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 3.0,
"hr_rank": 201,
"rbi_value": 15.0,
"rbi_rank": 220,
"tb_value": 52.0,
"tb_rank": 1243,
"bb_value": 25.0,
"bb_rank": 55,
"so_value": 46.0,
"so_rank": 94,
"sb_value": 2.0,
"sb_rank": 160,
"obp_value": 0.3157894,
"obp_rank": "111",
"slg_value": 0.3190184,
"slg_rank": "157",
"ops_value": 0.6348078,
"ops_rank": 145.0,
"war_value": 0.12,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 176.0,
"k_percent": 23.8,
"bb_percent": 13.0,
"woba": 0.285,
"xwoba": 0.323,
"xba": 0.248,
"xslg": 0.363,
"sweet_spot_percent": 42.7,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 40.2,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 10.9,
"whiff_percent": 23.8,
"swing_percent": 41.1
},
"components": {
"expected_quality": 0.3021,
"regression_edge": 1.0857,
"xwoba_edge": 0.5143,
"xba_edge": 0.2571,
"xslg_edge": -0.1571,
"barrel_edge": -0.2,
"hard_hit_edge": 0.1714,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": 1.5667,
"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 COL | True | 654 | -0.5685 | 0.6280 | 1.0483 | 0.9785 | 0.9699 | 1.0820 | neutral | 0.3950 | 0.4240 | 19.30 | 6.90 | 23.10 | 9.10 | 43.10 | |
| Home LAA | True | 8 | 0.1670 | 1 | 0.9858 | 1.0680 | 1.0280 | 1.0154 | negative_pitcher_regression | 0.3080 | 0.2650 | 27 | 10.70 | 33.30 | 9 | 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 COL | True | None | 86 | 86.54 | 2250 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1766 | |
| Home LAA | True | None | 96 | 93.26 | 2084 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1997 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9858 |
| home_runs_vs_away_pitcher | 1.0303 |
| home_pitcher_quality_edge | 0.7355 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "667755",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 262.0,
"k_percent": 27.0,
"bb_percent": 10.7,
"woba": 0.265,
"xwoba": 0.308,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 9.0,
"hard_hit_percent": 36.3,
"avg_best_speed": 77.9664,
"avg_hyper_speed": 93.5635,
"whiff_percent": 33.3,
"swing_percent": 46.3
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.2161,
"command_and_miss": 0.5879,
"regression_edge": -1.2286,
"xwoba_edge": 0.1143,
"barrel_edge": -0.4,
"hard_hit_edge": 0.3286,
"whiff_edge": 1.0714,
"bb_edge": -0.35,
"pitch_design_score": 0.1997
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "667755",
"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": 93.26205893580432,
"release_spin_rate": 2084.2110401352734,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 93.26205893580432,
"release_spin_rate": 2084.2110401352734,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2621,
"release_spin_rate": 2084.211,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1997,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.4268,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.167,
"sample_weight": 1.0,
"run_prevention_factor": 0.9858,
"strikeout_factor": 1.068,
"walk_factor": 1.028,
"homer_factor": 1.0154,
"woba_minus_xwoba": -0.043,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "667755",
"espn_id": 40973,
"player_name": "Jose Soriano",
"team": "LAA",
"role": "pitcher",
"espn_rank": 8,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 8,
"gp_value": 12.0,
"gp_rank": 227,
"gs_value": 12.0,
"gs_rank": 2,
"qs_value": 6.0,
"qs_rank": 22,
"era_value": 2.6495,
"era_rank": 11.0,
"w_value": 6.0,
"w_rank": 11,
"l_value": 4.0,
"l_rank": 34,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 71.1,
"ip_rank": 9,
"h_value": 51.0,
"h_rank": 80,
"er_value": 21.0,
"er_rank": 108,
"hr_value": 6.0,
"hr_rank": 86,
"bb_value": 31.0,
"bb_rank": 5,
"k_value": 78.0,
"k_rank": 9,
"k_per_9_value": 9.841122,
"k_per_9_rank": 27,
"whip_value": 1.1495,
"whip_rank": 35.0,
"war_value": 2.58,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "607536",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 157.0,
"k_percent": 19.3,
"bb_percent": 6.9,
"woba": 0.424,
"xwoba": 0.395,
"sweet_spot_percent": 36.8,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 43.1,
"avg_best_speed": 79.2159,
"avg_hyper_speed": 95.3537,
"whiff_percent": 23.1,
"swing_percent": 50.8
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -1.6338,
"command_and_miss": -0.2271,
"regression_edge": 0.8286,
"xwoba_edge": -2.3714,
"barrel_edge": -0.4222,
"hard_hit_edge": -0.6429,
"whiff_edge": -0.3857,
"bb_edge": 0.6,
"pitch_design_score": -0.1766
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "607536",
"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": 86.54195547146227,
"release_spin_rate": 2250.2018577258,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 86.54195547146227,
"release_spin_rate": 2250.2018577258,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.542,
"release_spin_rate": 2250.2019,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.2613,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.5685,
"sample_weight": 0.628,
"run_prevention_factor": 1.0483,
"strikeout_factor": 0.9785,
"walk_factor": 0.9699,
"homer_factor": 1.082,
"woba_minus_xwoba": 0.029,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607536",
"espn_id": 33839,
"player_name": "Kyle Freeland",
"team": "COL",
"role": "pitcher",
"espn_rank": 654,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 654,
"gp_value": 9.0,
"gp_rank": 370,
"gs_value": 9.0,
"gs_rank": 103,
"qs_value": 1.0,
"qs_rank": 126,
"era_value": 8.0787,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 6.0,
"l_rank": 7,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 42.1,
"ip_rank": 131,
"h_value": 60.0,
"h_rank": 36,
"er_value": 38.0,
"er_rank": 4,
"hr_value": 12.0,
"hr_rank": 13,
"bb_value": 14.0,
"bb_rank": 156,
"k_value": 39.0,
"k_rank": 128,
"k_per_9_value": 8.291338,
"k_per_9_rank": 26,
"whip_value": 1.748,
"whip_rank": null,
"war_value": -0.91,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9858,
"home_runs_vs_away_pitcher": 1.0303,
"home_pitcher_quality_edge": 0.7355
},
"score_before": {
"away_runs": 0.7402,
"home_runs": 5.6416
},
"score_after": {
"away_runs": 0.7297,
"home_runs": 5.8128,
"home_win_probability": 0.92
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away COL | 8-48 | 0.143 | 1 | 4.80 | -213 | cold | average | |
| Home LAA | 10-46 | 0.179 | 1.20 | 4 | -155 | cold | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away COL | 22-38 | 0.367 | -83 | -1.383 | True |
| Home LAA | 23-37 | 0.383 | -51 | -0.850 | True |
| Signal | - | - | 0.533 | 0.558 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target COL | - | - | 3 | - | - | - | - |
| Game target LAA | - | - | 5 | - | - | - | - |
| Player finalized COL | 57 | 14 | 8 | 0 | 6 | 5 | 15 |
| Player finalized LAA | 58 | 15 | 10 | 1 | 9 | 7 | 15 |
| Player model fractional COL | 56.28 | 12.89 | 6.87 | 1.57 | 6.33 | 4.86 | 14.72 |
| Player model fractional LAA | 56.95 | 14.07 | 8.43 | 2.13 | 8.63 | 6.38 | 14.87 |
| Simulation box COL | 34 | 7 | 2 | 0 | 2 | 1 | 3 |
| Simulation box LAA | 33 | 9 | 5 | 1 | 5 | 1 | 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 COL | Starter | Kyle Freeland | 4 | 5 | 5 | 7 | 1 | 8.46 | 1.83 | True |
| Away COL | Middle Reliever | Antonio Senzatela | 1.10 | 0 | 0 | 1 | 0 | 2.93 | 1.09 | True |
| Away COL | Middle Reliever | Brennan Bernardino | 1.10 | 0 | 2 | 1 | 0 | 4.00 | 1.17 | True |
| Away COL | Middle Reliever | Jaden Hill | 1 | 0 | 1 | 0 | 0 | 2.90 | 1.13 | True |
| Away COL | Middle Reliever | Juan Mejia | 0.10 | 0 | 1 | 0 | 0 | 8.22 | 1.85 | True |
| Home LAA | Starter | José Soriano | 6 | 1 | 3 | 5 | 1 | 4.12 | 1.32 | True |
| Home LAA | Middle Reliever | Sam Bachman | 1.10 | 0 | 0 | 0 | 0 | 2.39 | 1.25 | True |
| Home LAA | Middle Reliever | Kirby Yates | 1 | 1 | 0 | 2 | 0 | 3.88 | 1.23 | True |
| Home LAA | Middle Reliever | Ryan Zeferjahn | 0.20 | 0 | 0 | 0 | 0 | 7.25 | 1.67 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | COL | batter | DH | Sterlin Thompson | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_H | 1.8100 | boost | better |
| home | LAA | batter | 3B | Nick Madrigal | worse | 8 | 4 | 4 | 3 | 5 | predicted_RBI | 1.7300 | boost | better |
| home | LAA | batter | LF | Jose Siri | better | 10 | 5 | 5 | 6 | 4 | predicted_RBI | 1.7000 | boost | better |
| away | COL | batter | C | Hunter Goodman | worse | 10 | 1 | 9 | 2 | 8 | predicted_SO | -1.5210 | deboost | better |
| home | LAA | batter | SS | Zach Neto | worse | 11 | 3 | 8 | 4 | 7 | predicted_AB | -1.4000 | deboost | worse |
| home | LAA | batter | C | Logan O'Hoppe | worse | 11 | 6 | 5 | 5 | 6 | predicted_H | 1.3200 | boost | better |
| away | COL | batter | CF | Jake McCarthy | better | 10 | 5 | 5 | 6 | 4 | predicted_H | 1.1400 | boost | better |
| away | COL | batter | 2B | Willi Castro | worse | 10 | 2 | 8 | 3 | 7 | predicted_H | 1.1100 | boost | better |
| home | LAA | batter | RF | Jo Adell | better | 11 | 5 | 6 | 6 | 5 | predicted_H | 1.1100 | boost | better |
| away | COL | batter | 1B | Edouard Julien | worse | 10 | 2 | 8 | 3 | 7 | predicted_SO | -1.0790 | deboost | better |
| home | LAA | batter | 2B | Oswald Peraza | worse | 10 | 4 | 6 | 3 | 7 | predicted_SO | 1.0250 | boost | worse |
| away | COL | batter | SS | Ezequiel Tovar | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 1.0050 | boost | worse |
| home | LAA | pitcher | Starter | José Soriano | better | 1 | 1 | 0 | 1 | 0 | predicted_SO | 1.0000 | boost | better |
| home | LAA | pitcher | Middle Reliever | Sam Bachman | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -1.0000 | deboost | worse |
| home | LAA | batter | CF | Mike Trout | better | 11 | 7 | 4 | 6 | 5 | predicted_BB | -0.9840 | deboost | worse |
| away | COL | batter | LF | Troy Johnston | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | -0.9100 | deboost | worse |
| home | LAA | batter | DH | Jorge Soler | worse | 10 | 3 | 7 | 4 | 6 | predicted_H | -0.8600 | deboost | worse |
| home | LAA | batter | 1B | Vaughn Grissom | worse | 11 | 5 | 6 | 4 | 7 | predicted_H | -0.8600 | deboost | worse |
| away | COL | batter | 3B | Kyle Karros | worse | 11 | 2 | 9 | 3 | 8 | predicted_SO | -0.8460 | deboost | better |
| away | COL | batter | RF | Tyler Freeman | worse | 10 | 1 | 9 | 2 | 8 | predicted_SO | -0.5220 | deboost | better |
| home | LAA | pitcher | Middle Reliever | Ryan Zeferjahn | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | COL | pitcher | Starter | Kyle Freeland | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.3333 | deboost | worse |
| away | COL | pitcher | Middle Reliever | Antonio Senzatela | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | COL | pitcher | Middle Reliever | Brennan Bernardino | 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 | Kyle Freeland |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.5685 |
| ESPN Rank | 654 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1766 |
| Avg Velo | 86.5420 |
| Avg Spin | 2250.2019 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4 |
| Pre ER | 5 |
| Pre H | 7 |
| Pre BB | 1 |
| Pre SO | 5 |
| Season ERA | 8.0787 |
| Season WHIP | 1.7480 |
| Role Avg IP | 4.7040 |
| Recent Avg IP | 4.3330 |
| Last Start IP | 4 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 69,
"wins": 26,
"losses": 43,
"win_pct": 0.3768,
"runs_scored": 304.0,
"runs_allowed": 384.0,
"run_differential": -80.0,
"run_differential_per_game": -1.1594,
"avg_runs_scored": 4.4058,
"avg_runs_allowed": 5.5652,
"offense_index": 0.9925,
"defense_index": 0.7976,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 7.0,
"run_differential": -29.0
},
"available": true,
"quality_score": -0.3184
},
"opponent": {
"team": "LAA",
"games": 67,
"wins": 28,
"losses": 39,
"win_pct": 0.4179,
"runs_scored": 289.0,
"runs_allowed": 339.0,
"run_differential": -50.0,
"run_differential_per_game": -0.7463,
"avg_runs_scored": 4.3134,
"avg_runs_allowed": 5.0597,
"offense_index": 0.9717,
"defense_index": 0.8773,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 3.9,
"run_differential": 17.0
},
"available": true,
"quality_score": -0.1273
},
"edges": {
"quality_edge": -0.1911,
"offense_edge": -0.0075,
"opponent_offense_edge": -0.0283,
"defense_strength": -0.2024,
"opponent_defense_weakness": 0.1227,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9874,
"run_prevention": 1.0253,
"strikeout": 0.9965
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "607536",
"profile": {
"available": true,
"pitcher_id": "607536",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 157.0,
"k_percent": 19.3,
"bb_percent": 6.9,
"woba": 0.424,
"xwoba": 0.395,
"sweet_spot_percent": 36.8,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 43.1,
"avg_best_speed": 79.2159,
"avg_hyper_speed": 95.3537,
"whiff_percent": 23.1,
"swing_percent": 50.8
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -1.6338,
"command_and_miss": -0.2271,
"regression_edge": 0.8286,
"xwoba_edge": -2.3714,
"barrel_edge": -0.4222,
"hard_hit_edge": -0.6429,
"whiff_edge": -0.3857,
"bb_edge": 0.6,
"pitch_design_score": -0.1766
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "607536",
"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": 86.54195547146227,
"release_spin_rate": 2250.2018577258,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 86.54195547146227,
"release_spin_rate": 2250.2018577258,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.542,
"release_spin_rate": 2250.2019,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.2613,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.5685,
"sample_weight": 0.628,
"run_prevention_factor": 1.0483,
"strikeout_factor": 0.9785,
"walk_factor": 0.9699,
"homer_factor": 1.082,
"woba_minus_xwoba": 0.029,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607536",
"espn_id": 33839,
"player_name": "Kyle Freeland",
"team": "COL",
"role": "pitcher",
"espn_rank": 654,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 654,
"gp_value": 9.0,
"gp_rank": 370,
"gs_value": 9.0,
"gs_rank": 103,
"qs_value": 1.0,
"qs_rank": 126,
"era_value": 8.0787,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 6.0,
"l_rank": 7,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 42.1,
"ip_rank": 131,
"h_value": 60.0,
"h_rank": 36,
"er_value": 38.0,
"er_rank": 4,
"hr_value": 12.0,
"hr_rank": 13,
"bb_value": 14.0,
"bb_rank": 156,
"k_value": 39.0,
"k_rank": 128,
"k_per_9_value": 8.291338,
"k_per_9_rank": 26,
"whip_value": 1.748,
"whip_rank": null,
"war_value": -0.91,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 5.0,
"factor": 1.0303,
"adjusted": 5
},
"predicted_H": {
"original": 7.0,
"factor": 1.0303,
"adjusted": 7
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9811,
"adjusted": 2
},
"predicted_HR": {
"original": 2.0,
"factor": 1.0515,
"adjusted": 2
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9865,
"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": 42.1,
"ER": 38,
"H": 60,
"BB": 14,
"SO": 39,
"HR": 12,
"ERA": 8.078740157480315,
"WHIP": 1.7480314960629921,
"K9": 8.291338582677165,
"HR9": 2.5511811023622046,
"games_pitched": 9,
"quality_starts": 1,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-26T00:00:00"
}{
"available": true,
"pitcher_id": "607536",
"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": 86.54195547146227,
"release_spin_rate": 2250.2018577258,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 86.54195547146227,
"release_spin_rate": 2250.2018577258,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.542,
"release_spin_rate": 2250.2019,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.2613,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": "607536",
"report_date": "20260601_C",
"season_year": 2026,
"rows_used": 9,
"reference_playing_time": 4.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 21.2,
"ER": 30.0,
"R": 31.0,
"H": 42.0,
"BB": 9.0,
"SO": 22.0,
"HR": 10.0,
"BF": 115.0,
"Pitches": 436.0
},
"per_game": {
"IP": 4.1,
"ER": 6.0,
"R": 6.2,
"H": 8.4,
"BB": 1.8,
"SO": 4.4,
"HR": 2.0,
"BF": 23.0,
"Pitches": 87.2
},
"rates": {
"ERA": 12.4615,
"WHIP": 2.3538,
"ER_per_IP": 1.38462,
"H_per_IP": 1.93846,
"BB_per_IP": 0.41538,
"SO_per_IP": 1.01538,
"HR_per_IP": 0.46154
}
},
"last_10": {
"games": 9,
"totals": {
"IP": 42.1,
"ER": 38.0,
"R": 39.0,
"H": 60.0,
"BB": 14.0,
"SO": 39.0,
"HR": 12.0,
"BF": 202.0,
"Pitches": 765.0
},
"per_game": {
"IP": 4.2,
"ER": 4.2222,
"R": 4.3333,
"H": 6.6667,
"BB": 1.5556,
"SO": 4.3333,
"HR": 1.3333,
"BF": 22.4444,
"Pitches": 85.0
},
"rates": {
"ERA": 8.0787,
"WHIP": 1.748,
"ER_per_IP": 0.89764,
"H_per_IP": 1.41732,
"BB_per_IP": 0.33071,
"SO_per_IP": 0.92126,
"HR_per_IP": 0.28346
}
},
"season": {
"games": 9,
"totals": {
"IP": 42.1,
"ER": 38.0,
"R": 39.0,
"H": 60.0,
"BB": 14.0,
"SO": 39.0,
"HR": 12.0,
"BF": 202.0,
"Pitches": 765.0
},
"per_game": {
"IP": 4.2,
"ER": 4.2222,
"R": 4.3333,
"H": 6.6667,
"BB": 1.5556,
"SO": 4.3333,
"HR": 1.3333,
"BF": 22.4444,
"Pitches": 85.0
},
"rates": {
"ERA": 8.0787,
"WHIP": 1.748,
"ER_per_IP": 0.89764,
"H_per_IP": 1.41732,
"BB_per_IP": 0.33071,
"SO_per_IP": 0.92126,
"HR_per_IP": 0.28346
}
}
},
"weighted_prediction": {
"predicted_IP": 4.1,
"predicted_ER": 4.152,
"predicted_H": 6.434,
"predicted_BB": 1.668,
"predicted_SO": 4.263,
"predicted_HR": 1.327,
"predicted_ERA": 8.4619,
"predicted_WHIP": 1.8348
}
}{
"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": 4.1,
"form": 4.1,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 5.0,
"form": 4.152,
"final": 4.5767,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 6.434,
"final": 6.7175,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.668,
"final": 1.3334,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 4.263,
"final": 4.6321,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 1.327,
"final": 1.1632,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 8.4619,
"final": 8.4619,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.8348,
"final": 1.8348,
"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 | Antonio Senzatela |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1528 |
| ESPN Rank | 21 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1690 |
| Avg Velo | 92.7135 |
| Avg Spin | 2305.0194 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 1.3636 |
| Season WHIP | 0.8485 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 69,
"wins": 26,
"losses": 43,
"win_pct": 0.3768,
"runs_scored": 304.0,
"runs_allowed": 384.0,
"run_differential": -80.0,
"run_differential_per_game": -1.1594,
"avg_runs_scored": 4.4058,
"avg_runs_allowed": 5.5652,
"offense_index": 0.9925,
"defense_index": 0.7976,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 7.0,
"run_differential": -29.0
},
"available": true,
"quality_score": -0.3184
},
"opponent": {
"team": "LAA",
"games": 67,
"wins": 28,
"losses": 39,
"win_pct": 0.4179,
"runs_scored": 289.0,
"runs_allowed": 339.0,
"run_differential": -50.0,
"run_differential_per_game": -0.7463,
"avg_runs_scored": 4.3134,
"avg_runs_allowed": 5.0597,
"offense_index": 0.9717,
"defense_index": 0.8773,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 3.9,
"run_differential": 17.0
},
"available": true,
"quality_score": -0.1273
},
"edges": {
"quality_edge": -0.1911,
"offense_edge": -0.0075,
"opponent_offense_edge": -0.0283,
"defense_strength": -0.2024,
"opponent_defense_weakness": 0.1227,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9874,
"run_prevention": 1.0253,
"strikeout": 0.9965
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "622608",
"profile": {
"available": true,
"pitcher_id": "622608",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 105.0,
"k_percent": 21.0,
"bb_percent": 7.3,
"woba": 0.216,
"xwoba": 0.281,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 37.5,
"avg_best_speed": 74.9322,
"avg_hyper_speed": 93.6375,
"whiff_percent": 25.6,
"swing_percent": 49.7
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.9197,
"command_and_miss": -0.0129,
"regression_edge": -1.8571,
"xwoba_edge": 0.8857,
"barrel_edge": 0.3333,
"hard_hit_edge": 0.1571,
"whiff_edge": -0.0286,
"bb_edge": 0.5,
"pitch_design_score": 0.169
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "622608",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 23,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 23,
"pitch_usage": 0.0,
"release_speed": 92.71349997372275,
"release_spin_rate": 2305.0194314642968,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 23,
"pitch_usage": 0.0,
"release_speed": 92.71349997372275,
"release_spin_rate": 2305.0194314642968,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.7135,
"release_spin_rate": 2305.0194,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.169,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2073,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1528,
"sample_weight": 0.45,
"run_prevention_factor": 0.987,
"strikeout_factor": 0.9954,
"walk_factor": 0.982,
"homer_factor": 0.9732,
"woba_minus_xwoba": -0.065,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "622608",
"espn_id": 33750,
"player_name": "Antonio Senzatela",
"team": "COL",
"role": "pitcher",
"espn_rank": 21,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 21,
"gp_value": 16.0,
"gp_rank": 185,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 1.3636,
"era_rank": null,
"w_value": 4.0,
"w_rank": 43,
"l_value": 0.0,
"l_rank": 390,
"sv_value": 3.0,
"sv_rank": 37,
"hld_value": 2.0,
"hld_rank": 154,
"ip_value": 33.0,
"ip_rank": 159,
"h_value": 19.0,
"h_rank": 276,
"er_value": 5.0,
"er_rank": 432,
"hr_value": 2.0,
"hr_rank": 258,
"bb_value": 9.0,
"bb_rank": 272,
"k_value": 26.0,
"k_rank": 223,
"k_per_9_value": 7.090909,
"k_per_9_rank": 37,
"whip_value": 0.8484,
"whip_rank": null,
"war_value": 1.83,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9941,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9941,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9919,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9879,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9979,
"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": 18.2,
"ER": 4,
"H": 12,
"BB": 6,
"SO": 9,
"HR": 2,
"ERA": 1.9285714285714284,
"WHIP": 0.9642857142857142,
"K9": 4.339285714285714,
"HR9": 0.9642857142857142,
"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": "622608",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 23,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 23,
"pitch_usage": 0.0,
"release_speed": 92.71349997372275,
"release_spin_rate": 2305.0194314642968,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 23,
"pitch_usage": 0.0,
"release_speed": 92.71349997372275,
"release_spin_rate": 2305.0194314642968,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.7135,
"release_spin_rate": 2305.0194,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.169,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2073,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.513,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5657,
"prior_weight": 0.4343
},
"role": "pitcher",
"player_id": "622608",
"report_date": "20260601_C",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 8.2,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 2.0,
"SO": 4.0,
"HR": 2.0,
"BF": 34.0,
"Pitches": 118.0
},
"per_game": {
"IP": 1.2,
"ER": 0.4,
"R": 0.4,
"H": 1.2,
"BB": 0.4,
"SO": 0.8,
"HR": 0.4,
"BF": 6.8,
"Pitches": 23.6
},
"rates": {
"ERA": 2.0769,
"WHIP": 0.9231,
"ER_per_IP": 0.23077,
"H_per_IP": 0.69231,
"BB_per_IP": 0.23077,
"SO_per_IP": 0.46154,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 18.2,
"ER": 4.0,
"R": 5.0,
"H": 12.0,
"BB": 6.0,
"SO": 9.0,
"HR": 2.0,
"BF": 72.0,
"Pitches": 241.0
},
"per_game": {
"IP": 2.0,
"ER": 0.4,
"R": 0.5,
"H": 1.2,
"BB": 0.6,
"SO": 0.9,
"HR": 0.2,
"BF": 7.2,
"Pitches": 24.1
},
"rates": {
"ERA": 1.9286,
"WHIP": 0.9643,
"ER_per_IP": 0.21429,
"H_per_IP": 0.64286,
"BB_per_IP": 0.32143,
"SO_per_IP": 0.48214,
"HR_per_IP": 0.10714
}
},
"season": {
"games": 16,
"totals": {
"IP": 33.0,
"ER": 5.0,
"R": 6.0,
"H": 19.0,
"BB": 9.0,
"SO": 26.0,
"HR": 2.0,
"BF": 124.0,
"Pitches": 441.0
},
"per_game": {
"IP": 2.0,
"ER": 0.3125,
"R": 0.375,
"H": 1.1875,
"BB": 0.5625,
"SO": 1.625,
"HR": 0.125,
"BF": 7.75,
"Pitches": 27.5625
},
"rates": {
"ERA": 1.3636,
"WHIP": 0.8485,
"ER_per_IP": 0.15152,
"H_per_IP": 0.57576,
"BB_per_IP": 0.27273,
"SO_per_IP": 0.78788,
"HR_per_IP": 0.06061
}
}
},
"weighted_prediction": {
"predicted_IP": 1.2,
"predicted_ER": 0.529,
"predicted_H": 1.27,
"predicted_BB": 0.509,
"predicted_SO": 1.155,
"predicted_HR": 0.236,
"predicted_ERA": 2.927,
"predicted_WHIP": 1.0946
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5335,
"form_weight": 0.4665,
"form_reliability": 0.5657,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.513,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5657,
"prior_weight": 0.4343
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.2,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.529,
"final": 0.2468,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.27,
"final": 1.126,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.509,
"final": 0.2375,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.155,
"final": 0.5388,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.236,
"final": 0.1101,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.927,
"final": 2.927,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0946,
"final": 1.0946,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Brennan Bernardino |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1987 |
| ESPN Rank | 237 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2683 |
| Avg Velo | 84.9039 |
| Avg Spin | 2274.6063 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 3.6986 |
| Season WHIP | 1.2329 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 69,
"wins": 26,
"losses": 43,
"win_pct": 0.3768,
"runs_scored": 304.0,
"runs_allowed": 384.0,
"run_differential": -80.0,
"run_differential_per_game": -1.1594,
"avg_runs_scored": 4.4058,
"avg_runs_allowed": 5.5652,
"offense_index": 0.9925,
"defense_index": 0.7976,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 7.0,
"run_differential": -29.0
},
"available": true,
"quality_score": -0.3184
},
"opponent": {
"team": "LAA",
"games": 67,
"wins": 28,
"losses": 39,
"win_pct": 0.4179,
"runs_scored": 289.0,
"runs_allowed": 339.0,
"run_differential": -50.0,
"run_differential_per_game": -0.7463,
"avg_runs_scored": 4.3134,
"avg_runs_allowed": 5.0597,
"offense_index": 0.9717,
"defense_index": 0.8773,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 3.9,
"run_differential": 17.0
},
"available": true,
"quality_score": -0.1273
},
"edges": {
"quality_edge": -0.1911,
"offense_edge": -0.0075,
"opponent_offense_edge": -0.0283,
"defense_strength": -0.2024,
"opponent_defense_weakness": 0.1227,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9874,
"run_prevention": 1.0253,
"strikeout": 0.9965
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "657514",
"profile": {
"available": true,
"pitcher_id": "657514",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 85.0,
"k_percent": 17.3,
"bb_percent": 5.1,
"woba": 0.303,
"xwoba": 0.283,
"sweet_spot_percent": 28.8,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 23.3,
"avg_best_speed": 72.9657,
"avg_hyper_speed": 91.6693,
"whiff_percent": 23.1,
"swing_percent": 50.6
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.8482,
"command_and_miss": -0.2657,
"regression_edge": 0.5714,
"xwoba_edge": 0.8286,
"barrel_edge": 0.3556,
"hard_hit_edge": 2.1857,
"whiff_edge": -0.3857,
"bb_edge": 1.05,
"pitch_design_score": -0.2683
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "657514",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 10,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 84.90390082894159,
"release_spin_rate": 2274.606323522492,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 84.90390082894159,
"release_spin_rate": 2274.606323522492,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9039,
"release_spin_rate": 2274.6063,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2683,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.9165,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1987,
"sample_weight": 0.45,
"run_prevention_factor": 0.9831,
"strikeout_factor": 0.9794,
"walk_factor": 0.9622,
"homer_factor": 0.9367,
"woba_minus_xwoba": 0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657514",
"espn_id": 35876,
"player_name": "Brennan Bernardino",
"team": "COL",
"role": "pitcher",
"espn_rank": 237,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 237,
"gp_value": 28.0,
"gp_rank": 7,
"gs_value": 2.0,
"gs_rank": 191,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 3.6986,
"era_rank": null,
"w_value": 2.0,
"w_rank": 141,
"l_value": 3.0,
"l_rank": 75,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 3.0,
"hld_rank": 120,
"ip_value": 24.1,
"ip_rank": 255,
"h_value": 24.0,
"h_rank": 212,
"er_value": 10.0,
"er_rank": 258,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 6.0,
"bb_rank": 379,
"k_value": 18.0,
"k_rank": 322,
"k_per_9_value": 6.6575346,
"k_per_9_rank": 34,
"whip_value": 1.2328,
"whip_rank": null,
"war_value": 0.24,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9924,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9924,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.983,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9715,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9907,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 4,
"H": 9,
"BB": 2,
"SO": 5,
"HR": 0,
"ERA": 3.8571428571428568,
"WHIP": 1.1785714285714286,
"K9": 4.821428571428571,
"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-31T00:00:00"
}{
"available": true,
"pitcher_id": "657514",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 10,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 84.90390082894159,
"release_spin_rate": 2274.606323522492,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 84.90390082894159,
"release_spin_rate": 2274.606323522492,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9039,
"release_spin_rate": 2274.6063,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2683,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.9165,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.802,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4899,
"prior_weight": 0.5101
},
"role": "pitcher",
"player_id": "657514",
"report_date": "20260601_C",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 4.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 67.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.2,
"SO": 0.8,
"HR": 0.0,
"BF": 4.0,
"Pitches": 13.4
},
"rates": {
"ERA": 3.6,
"WHIP": 0.8,
"ER_per_IP": 0.4,
"H_per_IP": 0.6,
"BB_per_IP": 0.2,
"SO_per_IP": 0.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 4.0,
"R": 6.0,
"H": 9.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 41.0,
"Pitches": 131.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.6,
"H": 0.9,
"BB": 0.2,
"SO": 0.5,
"HR": 0.0,
"BF": 4.1,
"Pitches": 13.1
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.1786,
"ER_per_IP": 0.42857,
"H_per_IP": 0.96429,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.53571,
"HR_per_IP": 0.0
}
},
"season": {
"games": 28,
"totals": {
"IP": 24.1,
"ER": 10.0,
"R": 13.0,
"H": 24.0,
"BB": 6.0,
"SO": 18.0,
"HR": 1.0,
"BF": 103.0,
"Pitches": 378.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3571,
"R": 0.4643,
"H": 0.8571,
"BB": 0.2143,
"SO": 0.6429,
"HR": 0.0357,
"BF": 3.6786,
"Pitches": 13.5
},
"rates": {
"ERA": 3.6986,
"WHIP": 1.2329,
"ER_per_IP": 0.41096,
"H_per_IP": 0.9863,
"BB_per_IP": 0.24658,
"SO_per_IP": 0.73973,
"HR_per_IP": 0.0411
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.445,
"predicted_H": 0.879,
"predicted_BB": 0.293,
"predicted_SO": 0.821,
"predicted_HR": 0.072,
"predicted_ERA": 4.0045,
"predicted_WHIP": 1.1719
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5655,
"form_weight": 0.4345,
"form_reliability": 0.4899,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.802,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4899,
"prior_weight": 0.5101
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.445,
"final": 0.1933,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.879,
"final": 0.9474,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.293,
"final": 0.1273,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.821,
"final": 1.4877,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.072,
"final": 0.0313,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.0045,
"final": 4.0045,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1719,
"final": 1.1719,
"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 | Jaden Hill |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1665 |
| ESPN Rank | 92 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1116 |
| Avg Velo | 91.6882 |
| Avg Spin | 2254.1826 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.6129 |
| Season WHIP | 1.3548 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 69,
"wins": 26,
"losses": 43,
"win_pct": 0.3768,
"runs_scored": 304.0,
"runs_allowed": 384.0,
"run_differential": -80.0,
"run_differential_per_game": -1.1594,
"avg_runs_scored": 4.4058,
"avg_runs_allowed": 5.5652,
"offense_index": 0.9925,
"defense_index": 0.7976,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 7.0,
"run_differential": -29.0
},
"available": true,
"quality_score": -0.3184
},
"opponent": {
"team": "LAA",
"games": 67,
"wins": 28,
"losses": 39,
"win_pct": 0.4179,
"runs_scored": 289.0,
"runs_allowed": 339.0,
"run_differential": -50.0,
"run_differential_per_game": -0.7463,
"avg_runs_scored": 4.3134,
"avg_runs_allowed": 5.0597,
"offense_index": 0.9717,
"defense_index": 0.8773,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 3.9,
"run_differential": 17.0
},
"available": true,
"quality_score": -0.1273
},
"edges": {
"quality_edge": -0.1911,
"offense_edge": -0.0075,
"opponent_offense_edge": -0.0283,
"defense_strength": -0.2024,
"opponent_defense_weakness": 0.1227,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9874,
"run_prevention": 1.0253,
"strikeout": 0.9965
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "677955",
"profile": {
"available": true,
"pitcher_id": "677955",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 80.0,
"k_percent": 25.3,
"bb_percent": 9.9,
"woba": 0.285,
"xwoba": 0.288,
"sweet_spot_percent": 36.2,
"barrel_batted_rate": 1.7,
"hard_hit_percent": 37.9,
"avg_best_speed": 79.9424,
"avg_hyper_speed": 93.7761,
"whiff_percent": 29.8,
"swing_percent": 48.1
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.5004,
"command_and_miss": 0.3436,
"regression_edge": -0.0857,
"xwoba_edge": 0.6857,
"barrel_edge": 1.2222,
"hard_hit_edge": 0.1,
"whiff_edge": 0.5714,
"bb_edge": -0.15,
"pitch_design_score": 0.1116
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "677955",
"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.68819071669677,
"release_spin_rate": 2254.1825818893712,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.68819071669677,
"release_spin_rate": 2254.1825818893712,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6882,
"release_spin_rate": 2254.1826,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1116,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7972,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1665,
"sample_weight": 0.45,
"run_prevention_factor": 0.9859,
"strikeout_factor": 1.0172,
"walk_factor": 1.0054,
"homer_factor": 0.9449,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677955",
"espn_id": 4414362,
"player_name": "Jaden Hill",
"team": "COL",
"role": "pitcher",
"espn_rank": 92,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 92,
"gp_value": 23.0,
"gp_rank": 87,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.6129,
"era_rank": null,
"w_value": 0.0,
"w_rank": 368,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 9.0,
"hld_rank": 18,
"ip_value": 20.2,
"ip_rank": 319,
"h_value": 19.0,
"h_rank": 276,
"er_value": 6.0,
"er_rank": 389,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 9.0,
"bb_rank": 272,
"k_value": 23.0,
"k_rank": 259,
"k_per_9_value": 10.016129,
"k_per_9_rank": 21,
"whip_value": 1.3548,
"whip_rank": null,
"war_value": 0.84,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9937,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9937,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0024,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9752,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0077,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 2,
"H": 7,
"BB": 1,
"SO": 11,
"HR": 0,
"ERA": 1.9285714285714288,
"WHIP": 0.8571428571428572,
"K9": 10.607142857142858,
"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-29T00:00:00"
}{
"available": true,
"pitcher_id": "677955",
"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.68819071669677,
"release_spin_rate": 2254.1825818893712,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.68819071669677,
"release_spin_rate": 2254.1825818893712,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6882,
"release_spin_rate": 2254.1826,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1116,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7972,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.079,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4493,
"prior_weight": 0.5507
},
"role": "pitcher",
"player_id": "677955",
"report_date": "20260601_C",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 0.0,
"SO": 7.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 84.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.8,
"BB": 0.0,
"SO": 1.4,
"HR": 0.0,
"BF": 4.2,
"Pitches": 16.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.7059,
"ER_per_IP": 0.0,
"H_per_IP": 0.70588,
"BB_per_IP": 0.0,
"SO_per_IP": 1.23529,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 1.0,
"SO": 11.0,
"HR": 0.0,
"BF": 36.0,
"Pitches": 144.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.7,
"BB": 0.1,
"SO": 1.1,
"HR": 0.0,
"BF": 3.6,
"Pitches": 14.4
},
"rates": {
"ERA": 1.9286,
"WHIP": 0.8571,
"ER_per_IP": 0.21429,
"H_per_IP": 0.75,
"BB_per_IP": 0.10714,
"SO_per_IP": 1.17857,
"HR_per_IP": 0.0
}
},
"season": {
"games": 23,
"totals": {
"IP": 20.2,
"ER": 6.0,
"R": 6.0,
"H": 19.0,
"BB": 9.0,
"SO": 23.0,
"HR": 1.0,
"BF": 91.0,
"Pitches": 349.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2609,
"R": 0.2609,
"H": 0.8261,
"BB": 0.3913,
"SO": 1.0,
"HR": 0.0435,
"BF": 3.9565,
"Pitches": 15.1739
},
"rates": {
"ERA": 2.6129,
"WHIP": 1.3548,
"ER_per_IP": 0.29032,
"H_per_IP": 0.91935,
"BB_per_IP": 0.43548,
"SO_per_IP": 1.1129,
"HR_per_IP": 0.04839
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.322,
"predicted_H": 0.867,
"predicted_BB": 0.259,
"predicted_SO": 1.053,
"predicted_HR": 0.078,
"predicted_ERA": 2.8993,
"predicted_WHIP": 1.1254
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5827,
"form_weight": 0.4173,
"form_reliability": 0.4493,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.079,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4493,
"prior_weight": 0.5507
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.322,
"final": 0.1344,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.867,
"final": 0.3618,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.259,
"final": 0.1081,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.053,
"final": 1.0221,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.078,
"final": 0.0326,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8993,
"final": 2.8993,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1254,
"final": 1.1254,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Juan Mejia |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0361 |
| ESPN Rank | 527 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1021 |
| Avg Velo | 91.5190 |
| Avg Spin | 2606.2871 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 6 |
| Season WHIP | 1.7037 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 69,
"wins": 26,
"losses": 43,
"win_pct": 0.3768,
"runs_scored": 304.0,
"runs_allowed": 384.0,
"run_differential": -80.0,
"run_differential_per_game": -1.1594,
"avg_runs_scored": 4.4058,
"avg_runs_allowed": 5.5652,
"offense_index": 0.9925,
"defense_index": 0.7976,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 7.0,
"run_differential": -29.0
},
"available": true,
"quality_score": -0.3184
},
"opponent": {
"team": "LAA",
"games": 67,
"wins": 28,
"losses": 39,
"win_pct": 0.4179,
"runs_scored": 289.0,
"runs_allowed": 339.0,
"run_differential": -50.0,
"run_differential_per_game": -0.7463,
"avg_runs_scored": 4.3134,
"avg_runs_allowed": 5.0597,
"offense_index": 0.9717,
"defense_index": 0.8773,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 3.9,
"run_differential": 17.0
},
"available": true,
"quality_score": -0.1273
},
"edges": {
"quality_edge": -0.1911,
"offense_edge": -0.0075,
"opponent_offense_edge": -0.0283,
"defense_strength": -0.2024,
"opponent_defense_weakness": 0.1227,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9874,
"run_prevention": 1.0253,
"strikeout": 0.9965
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "675848",
"profile": {
"available": true,
"pitcher_id": "675848",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 108.0,
"k_percent": 24.0,
"bb_percent": 12.4,
"woba": 0.332,
"xwoba": 0.31,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 4.0,
"hard_hit_percent": 38.7,
"avg_best_speed": 80.2115,
"avg_hyper_speed": 94.6548,
"whiff_percent": 29.8,
"swing_percent": 47.8
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.0462,
"command_and_miss": 0.135,
"regression_edge": 0.6286,
"xwoba_edge": 0.0571,
"barrel_edge": 0.7111,
"hard_hit_edge": -0.0143,
"whiff_edge": 0.5714,
"bb_edge": -0.775,
"pitch_design_score": 0.1021
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "675848",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 22,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 91.51895637487596,
"release_spin_rate": 2606.28712364707,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 91.51895637487596,
"release_spin_rate": 2606.28712364707,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.519,
"release_spin_rate": 2606.2871,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1021,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7295,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0361,
"sample_weight": 0.45,
"run_prevention_factor": 0.9969,
"strikeout_factor": 1.0139,
"walk_factor": 1.0279,
"homer_factor": 0.9739,
"woba_minus_xwoba": 0.022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "675848",
"espn_id": 5185107,
"player_name": "Juan Mejia",
"team": "COL",
"role": "pitcher",
"espn_rank": 527,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 527,
"gp_value": 24.0,
"gp_rank": 72,
"gs_value": 1.0,
"gs_rank": 220,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 6.0,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 4.0,
"l_rank": 34,
"sv_value": 3.0,
"sv_rank": 37,
"hld_value": 4.0,
"hld_rank": 94,
"ip_value": 27.0,
"ip_rank": 204,
"h_value": 30.0,
"h_rank": 152,
"er_value": 18.0,
"er_rank": 133,
"hr_value": 2.0,
"hr_rank": 258,
"bb_value": 16.0,
"bb_rank": 126,
"k_value": 30.0,
"k_rank": 176,
"k_per_9_value": 10.0,
"k_per_9_rank": 23,
"whip_value": 1.7037,
"whip_rank": null,
"war_value": -0.21,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9986,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9986,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0126,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9883,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0063,
"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": 8,
"H": 9,
"BB": 9,
"SO": 8,
"HR": 0,
"ERA": 7.448275862068964,
"WHIP": 1.862068965517241,
"K9": 7.448275862068964,
"HR9": 0.0,
"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-31T00:00:00"
}{
"available": true,
"pitcher_id": "675848",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 22,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 91.51895637487596,
"release_spin_rate": 2606.28712364707,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 91.51895637487596,
"release_spin_rate": 2606.28712364707,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.519,
"release_spin_rate": 2606.2871,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1021,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7295,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.329,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5159,
"prior_weight": 0.4841
},
"role": "pitcher",
"player_id": "675848",
"report_date": "20260601_C",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 8.0,
"R": 8.0,
"H": 7.0,
"BB": 5.0,
"SO": 3.0,
"HR": 0.0,
"BF": 25.0,
"Pitches": 105.0
},
"per_game": {
"IP": 0.2,
"ER": 1.6,
"R": 1.6,
"H": 1.4,
"BB": 1.0,
"SO": 0.6,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"rates": {
"ERA": 18.0,
"WHIP": 3.0,
"ER_per_IP": 2.0,
"H_per_IP": 1.75,
"BB_per_IP": 1.25,
"SO_per_IP": 0.75,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 8.0,
"R": 8.0,
"H": 9.0,
"BB": 9.0,
"SO": 8.0,
"HR": 0.0,
"BF": 48.0,
"Pitches": 204.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 0.9,
"BB": 0.9,
"SO": 0.8,
"HR": 0.0,
"BF": 4.8,
"Pitches": 20.4
},
"rates": {
"ERA": 7.4483,
"WHIP": 1.8621,
"ER_per_IP": 0.82759,
"H_per_IP": 0.93103,
"BB_per_IP": 0.93103,
"SO_per_IP": 0.82759,
"HR_per_IP": 0.0
}
},
"season": {
"games": 24,
"totals": {
"IP": 27.0,
"ER": 18.0,
"R": 18.0,
"H": 30.0,
"BB": 16.0,
"SO": 30.0,
"HR": 2.0,
"BF": 126.0,
"Pitches": 534.0
},
"per_game": {
"IP": 1.0,
"ER": 0.75,
"R": 0.75,
"H": 1.25,
"BB": 0.6667,
"SO": 1.25,
"HR": 0.0833,
"BF": 5.25,
"Pitches": 22.25
},
"rates": {
"ERA": 6.0,
"WHIP": 1.7037,
"ER_per_IP": 0.66667,
"H_per_IP": 1.11111,
"BB_per_IP": 0.59259,
"SO_per_IP": 1.11111,
"HR_per_IP": 0.07407
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.548,
"predicted_H": 0.689,
"predicted_BB": 0.419,
"predicted_SO": 0.536,
"predicted_HR": 0.043,
"predicted_ERA": 8.2184,
"predicted_WHIP": 1.8468
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5545,
"form_weight": 0.4455,
"form_reliability": 0.5159,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.329,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5159,
"prior_weight": 0.4841
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.548,
"final": 0.2441,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.689,
"final": 0.3069,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.419,
"final": 0.1867,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.536,
"final": 0.7933,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.043,
"final": 0.0192,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 8.2184,
"final": 8.2184,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.8468,
"final": 1.8468,
"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.303 | 0.000 | 1.000 | Hitting_2B | 0.299 | 1.000 | -0.299 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.616 | 4.000 | 7.000 | Hitting_AB | 3.578 | 5.000 | 0.422 | -1.000 |
| predicted_AVG | 0.254 | 0.000 | 0.286 | Hitting_AVG | 0.327 | 0.400 | -0.327 | -0.400 |
| predicted_BB | 0.351 | 0.000 | 1.000 | Hitting_BB | 0.358 | 0.000 | -0.358 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_H | 0.910 | 0.000 | 2.000 | Hitting_H | 1.171 | 2.000 | -1.171 | -2.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_OBP | 0.318 | 0.000 | 0.375 | Hitting_OBP | 0.393 | 0.400 | -0.393 | -0.400 |
| predicted_R | 0.459 | 0.000 | 1.000 | Hitting_R | 0.455 | 1.000 | -0.455 | -1.000 |
| predicted_RBI | 0.390 | 0.000 | 1.000 | Hitting_RBI | 0.497 | 1.000 | -0.497 | -1.000 |
| predicted_SLG | 0.382 | 0.000 | 0.429 | Hitting_SLG | 0.456 | 0.600 | -0.456 | -0.600 |
| predicted_SO | 0.822 | 0.000 | 1.000 | Hitting_SO | 0.813 | 0.000 | -0.813 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.6160 -> 4.0000 (boost 0.3840, better) |
| Biggest Deboost | predicted_H: 0.9100 -> 0.0000 (deboost -0.9100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.6160 -> 6.7517 (boost 3.1357, 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.2685 -> 0.2742 (boost 0.0057, 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 | 6 | 1 | predicted_2B: 0.5245 -> 1.0000 (boost 0.4755, better) | predicted_SO: 1.4341 -> 1.0000 (deboost -0.4341, better) | AB rounded to 7 (raw=6.75), rates preserved: AVG=0.274 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8053 -> 1.0000 (boost 0.1947, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.3278 -> 0.3750 (boost 0.0472, 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: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3750 -> 0.3278 (deboost -0.0472, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687859",
"player_name": "Troy Johnston",
"position": "LF",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.303,
"predicted_3B": 0.0,
"predicted_AB": 3.616,
"predicted_AVG": 0.254,
"predicted_BB": 0.351,
"predicted_H": 0.91,
"predicted_HR": 0.06,
"predicted_OBP": 0.318,
"predicted_R": 0.459,
"predicted_RBI": 0.39,
"predicted_SLG": 0.382,
"predicted_SO": 0.822
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.5245,
"predicted_3B": 0.0009,
"predicted_AB": 6.7517,
"predicted_AVG": 0.2685,
"predicted_BB": 0.5418,
"predicted_H": 1.8656,
"predicted_HBP": 0.039,
"predicted_HR": 0.0907,
"predicted_OBP": 0.3251,
"predicted_R": 0.8191,
"predicted_RBI": 0.761,
"predicted_SLG": 0.3893,
"predicted_SO": 1.4255
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.303,
"after": 0.5245,
"delta": 0.2215,
"percent_delta": 0.731,
"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.616,
"after": 6.7517,
"delta": 3.1357,
"percent_delta": 0.8672,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2685,
"delta": 0.0145,
"percent_delta": 0.0571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.351,
"after": 0.5418,
"delta": 0.1908,
"percent_delta": 0.5436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 1.8656,
"delta": 0.9556,
"percent_delta": 1.0501,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0907,
"delta": 0.0307,
"percent_delta": 0.5117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3251,
"delta": 0.0071,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.459,
"after": 0.8191,
"delta": 0.3601,
"percent_delta": 0.7845,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.761,
"delta": 0.371,
"percent_delta": 0.9513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.382,
"after": 0.3893,
"delta": 0.0073,
"percent_delta": 0.0191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.822,
"after": 1.4255,
"delta": 0.6035,
"percent_delta": 0.7342,
"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.616,
"after": 6.7517,
"delta": 3.1357,
"percent_delta": 0.8672,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.5245,
"predicted_3B": 0.0009,
"predicted_AB": 6.7517,
"predicted_AVG": 0.2742,
"predicted_BB": 0.5385,
"predicted_H": 1.8514,
"predicted_HBP": 0.039,
"predicted_HR": 0.0909,
"predicted_OBP": 0.3278,
"predicted_R": 0.8053,
"predicted_RBI": 0.7482,
"predicted_SLG": 0.3925,
"predicted_SO": 1.4341
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5245,
"after": 0.5245,
"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.7517,
"after": 6.7517,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2685,
"after": 0.2742,
"delta": 0.0057,
"percent_delta": 0.0212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5418,
"after": 0.5385,
"delta": -0.0033,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8656,
"after": 1.8514,
"delta": -0.0142,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.039,
"after": 0.039,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0907,
"after": 0.0909,
"delta": 0.0002,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3251,
"after": 0.3278,
"delta": 0.0027,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8191,
"after": 0.8053,
"delta": -0.0138,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.761,
"after": 0.7482,
"delta": -0.0128,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3893,
"after": 0.3925,
"delta": 0.0032,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.4255,
"after": 1.4341,
"delta": 0.0086,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2685,
"after": 0.2742,
"delta": 0.0057,
"percent_delta": 0.0212,
"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.75), rates preserved: AVG=0.274 HR/AB=0.013",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5245,
"after": 1.0,
"delta": 0.4755,
"percent_delta": 0.9066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.7517,
"after": 7.0,
"delta": 0.2483,
"percent_delta": 0.0368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5385,
"after": 1.0,
"delta": 0.4615,
"percent_delta": 0.857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.8514,
"after": 2.0,
"delta": 0.1486,
"percent_delta": 0.0803,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.039,
"after": 0.0,
"delta": -0.039,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0909,
"after": 0.0,
"delta": -0.0909,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7482,
"after": 1.0,
"delta": 0.2518,
"percent_delta": 0.3365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4341,
"after": 1.0,
"delta": -0.4341,
"percent_delta": -0.3027,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 5,
"deboosted_metrics": 2,
"better_metrics": 6,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.5245,
"after": 1.0,
"delta": 0.4755,
"percent_delta": 0.9066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.4341,
"after": 1.0,
"delta": -0.4341,
"percent_delta": -0.3027,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8053,
"after": 1.0,
"delta": 0.1947,
"percent_delta": 0.2418,
"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.8053,
"after": 1.0,
"delta": 0.1947,
"percent_delta": 0.2418,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.429,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2742,
"after": 0.286,
"delta": 0.0118,
"percent_delta": 0.043,
"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.3278,
"after": 0.375,
"delta": 0.0472,
"percent_delta": 0.144,
"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.3925,
"after": 0.429,
"delta": 0.0365,
"percent_delta": 0.093,
"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.3278,
"after": 0.375,
"delta": 0.0472,
"percent_delta": 0.144,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 6,
"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.2742,
"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.3278,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3925,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2742,
"delta": -0.0118,
"percent_delta": -0.0412,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3278,
"delta": -0.0472,
"percent_delta": -0.1258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.3925,
"delta": -0.0365,
"percent_delta": -0.085,
"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.3278,
"delta": -0.0472,
"percent_delta": -0.1258,
"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.303,
"after": 0.0,
"delta": -0.303,
"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.616,
"after": 4.0,
"delta": 0.384,
"percent_delta": 0.1062,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2742,
"delta": 0.0202,
"percent_delta": 0.0795,
"direction": "boost",
"projection_effect": "better",
"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.91,
"after": 0.0,
"delta": -0.91,
"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.318,
"after": 0.3278,
"delta": 0.0098,
"percent_delta": 0.0308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.459,
"after": 0.0,
"delta": -0.459,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.382,
"after": 0.3925,
"delta": 0.0105,
"percent_delta": 0.0275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.822,
"after": 0.0,
"delta": -0.822,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.616,
"after": 4.0,
"delta": 0.384,
"percent_delta": 0.1062,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.91,
"after": 0.0,
"delta": -0.91,
"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.303 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.616 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.351 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.459 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.382 | - |
| predicted_SO | 0.822 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.524 | 0.221 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.752 | 3.136 |
| predicted_AVG | 0.269 | 0.015 |
| predicted_BB | 0.542 | 0.191 |
| predicted_H | 1.866 | 0.956 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.091 | 0.031 |
| predicted_OBP | 0.325 | 0.007 |
| predicted_R | 0.819 | 0.360 |
| predicted_RBI | 0.761 | 0.371 |
| predicted_SLG | 0.389 | 0.007 |
| predicted_SO | 1.425 | 0.604 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.524 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.752 | 0.000 |
| predicted_AVG | 0.274 | 0.006 |
| predicted_BB | 0.538 | -0.003 |
| predicted_H | 1.851 | -0.014 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.091 | 0.000 |
| predicted_OBP | 0.328 | 0.003 |
| predicted_R | 0.805 | -0.014 |
| predicted_RBI | 0.748 | -0.013 |
| predicted_SLG | 0.393 | 0.003 |
| predicted_SO | 1.434 | 0.009 |
AB rounded to 7 (raw=6.75), rates preserved: AVG=0.274 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 1.000 | 0.476 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | 0.248 |
| predicted_AVG | 0.286 | 0.012 |
| predicted_BB | 1.000 | 0.462 |
| predicted_H | 2.000 | 0.149 |
| predicted_HR | 0.000 | -0.091 |
| predicted_OBP | 0.375 | 0.047 |
| predicted_R | 1.000 | 0.195 |
| predicted_RBI | 1.000 | 0.252 |
| predicted_SLG | 0.429 | 0.036 |
| predicted_SO | 1.000 | -0.434 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 23.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 0.000 | 3.000 | 0.1739 | 0.1739 | 0.2174 | 0.1739 | 0.0000 | 0.0435 | 0.0000 | 0.1304 |
| last_10 | 0.20 | 5 | - | 43.000 | 7.000 | 4.000 | 0.000 | 0.000 | 1.000 | 5.000 | 0.000 | 6.000 | 0.1628 | 0.1628 | 0.2558 | 0.1628 | 0.0000 | 0.0233 | 0.0000 | 0.1395 |
| season | 0.60 | 53 | - | 669.000 | 219.000 | 56.000 | 0.000 | 10.000 | 93.000 | 85.000 | 65.000 | 152.000 | 0.3274 | 0.3894 | 0.4559 | 0.3273 | 0.0149 | 0.1390 | 0.0972 | 0.2272 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8080 |
| predicted_3B | 0.0020 |
| predicted_AB | 10.7660 |
| predicted_AVG | 0.2870 |
| predicted_BB | 0.7860 |
| predicted_H | 3.0890 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.1300 |
| predicted_OBP | 0.3341 |
| predicted_R | 1.2800 |
| predicted_RBI | 1.2360 |
| predicted_SLG | 0.3986 |
| predicted_SO | 2.1980 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3030 | 0.8080 | 0.5245 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.6160 | 10.7660 | 6.7517 | model_form_blend |
| predicted_AVG | 0.2540 | 0.2870 | 0.2685 | model_form_blend |
| predicted_BB | 0.3510 | 0.7860 | 0.5418 | model_form_blend |
| predicted_H | 0.9100 | 3.0890 | 1.8656 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.0600 | 0.1300 | 0.0907 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3341 | 0.3251 | model_form_blend |
| predicted_R | 0.4590 | 1.2800 | 0.8191 | model_form_blend |
| predicted_RBI | 0.3900 | 1.2360 | 0.7610 | model_form_blend |
| predicted_SLG | 0.3820 | 0.3986 | 0.3893 | model_form_blend |
| predicted_SO | 0.8220 | 2.1980 | 1.4255 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 187 |
| Season rows before report date | 187 |
| Report year | 2026 |
| Profile rows used | 185 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.327 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF-RF |
| gameID | 20260531_SF@COL |
| game_type | full |
| mlbID | 687859 |
| playerID | 687859 |
| playerName | Troy Johnston |
| pos | RF |
| started | True |
| startingPosition | LF |
| team | COL |
| teamID | 9 |
| game_date | 2026-05-31 |
| sl_k_percent | 21.3 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.352 |
| sl_xwoba | 0.324 |
| sl_xba | 0.28 |
| sl_xslg | 0.386 |
| sl_sweet_spot_percent | 44.2 |
| sl_barrel_batted_rate | 2.2 |
| sl_hard_hit_percent | 37.7 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 12.8 |
| sl_whiff_percent | 24.2 |
| sl_swing_percent | 49.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.101 | 0.000 | 0.000 | Hitting_2B | 0.101 | 1.000 | -0.101 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.681 | 4.000 | 7.000 | Hitting_AB | 3.655 | 4.000 | 0.345 | 0.000 |
| predicted_AVG | 0.259 | 0.000 | 0.286 | Hitting_AVG | 0.250 | 0.750 | -0.250 | -0.750 |
| predicted_BB | 0.145 | 0.000 | 0.000 | Hitting_BB | 0.144 | 1.000 | -0.144 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_H | 0.370 | 0.000 | 2.000 | Hitting_H | 0.914 | 3.000 | -0.914 | -3.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.072 | 0.000 | -0.072 | 0.000 |
| predicted_OBP | 0.344 | 0.000 | 0.286 | Hitting_OBP | 0.324 | 0.800 | -0.324 | -0.800 |
| predicted_R | 0.319 | 0.000 | 1.000 | Hitting_R | 0.317 | 1.000 | -0.317 | -1.000 |
| predicted_RBI | 0.140 | 0.000 | 0.000 | Hitting_RBI | 0.403 | 0.000 | -0.403 | 0.000 |
| predicted_SLG | 0.394 | 0.000 | 0.286 | Hitting_SLG | 0.337 | 1.000 | -0.337 | -1.000 |
| predicted_SO | 0.522 | 0.000 | 1.000 | Hitting_SO | 0.518 | 0.000 | -0.518 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.6810 -> 4.0000 (boost 0.3190, better) |
| Biggest Deboost | predicted_SO: 0.5220 -> 0.0000 (deboost -0.5220, 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.6810 -> 6.7990 (boost 3.1180, 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.3574 -> 0.2759 (deboost -0.0815, 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_H: 1.6193 -> 2.0000 (boost 0.3807, better) | predicted_HBP: 0.6940 -> 0.0000 (deboost -0.6940, worse) | AB rounded to 7 (raw=6.80), rates preserved: AVG=0.238 HR/AB=0.013 |
| 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.6757 -> 1.0000 (boost 0.3243, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2382 -> 0.2860 (boost 0.0478, better) | predicted_SLG: 0.3207 -> 0.2860 (deboost -0.0347, 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: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.3207 (boost 0.0347, better) | predicted_AVG: 0.2860 -> 0.2382 (deboost -0.0478, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671289",
"player_name": "Tyler Freeman",
"position": "RF",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.101,
"predicted_3B": 0.0,
"predicted_AB": 3.681,
"predicted_AVG": 0.259,
"predicted_BB": 0.145,
"predicted_H": 0.37,
"predicted_HR": 0.03,
"predicted_OBP": 0.344,
"predicted_R": 0.319,
"predicted_RBI": 0.14,
"predicted_SLG": 0.394,
"predicted_SO": 0.522
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2847,
"predicted_3B": 0.0009,
"predicted_AB": 6.799,
"predicted_AVG": 0.2775,
"predicted_BB": 0.3561,
"predicted_H": 1.6317,
"predicted_HBP": 0.694,
"predicted_HR": 0.0914,
"predicted_OBP": 0.3574,
"predicted_R": 0.6872,
"predicted_RBI": 0.4808,
"predicted_SLG": 0.3954,
"predicted_SO": 0.841
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.101,
"after": 0.2847,
"delta": 0.1837,
"percent_delta": 1.8188,
"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.681,
"after": 6.799,
"delta": 3.118,
"percent_delta": 0.8471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2775,
"delta": 0.0185,
"percent_delta": 0.0714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.145,
"after": 0.3561,
"delta": 0.2111,
"percent_delta": 1.4559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.37,
"after": 1.6317,
"delta": 1.2617,
"percent_delta": 3.41,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0914,
"delta": 0.0614,
"percent_delta": 2.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.344,
"after": 0.3574,
"delta": 0.0134,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.319,
"after": 0.6872,
"delta": 0.3682,
"percent_delta": 1.1542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 0.4808,
"delta": 0.3408,
"percent_delta": 2.4343,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.3954,
"delta": 0.0014,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.522,
"after": 0.841,
"delta": 0.319,
"percent_delta": 0.6111,
"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.681,
"after": 6.799,
"delta": 3.118,
"percent_delta": 0.8471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.2847,
"predicted_3B": 0.0009,
"predicted_AB": 6.799,
"predicted_AVG": 0.2382,
"predicted_BB": 0.354,
"predicted_H": 1.6193,
"predicted_HBP": 0.694,
"predicted_HR": 0.0916,
"predicted_OBP": 0.2759,
"predicted_R": 0.6757,
"predicted_RBI": 0.4727,
"predicted_SLG": 0.3207,
"predicted_SO": 0.846
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2847,
"after": 0.2847,
"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.799,
"after": 6.799,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2775,
"after": 0.2382,
"delta": -0.0393,
"percent_delta": -0.1416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3561,
"after": 0.354,
"delta": -0.0021,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.6317,
"after": 1.6193,
"delta": -0.0124,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.694,
"after": 0.694,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0914,
"after": 0.0916,
"delta": 0.0002,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3574,
"after": 0.2759,
"delta": -0.0815,
"percent_delta": -0.228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6872,
"after": 0.6757,
"delta": -0.0115,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4808,
"after": 0.4727,
"delta": -0.0081,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3954,
"after": 0.3207,
"delta": -0.0747,
"percent_delta": -0.1889,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.841,
"after": 0.846,
"delta": 0.005,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3574,
"after": 0.2759,
"delta": -0.0815,
"percent_delta": -0.228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.80), rates preserved: AVG=0.238 HR/AB=0.013",
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2847,
"after": 0.0,
"delta": -0.2847,
"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.799,
"after": 7.0,
"delta": 0.201,
"percent_delta": 0.0296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.354,
"after": 0.0,
"delta": -0.354,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6193,
"after": 2.0,
"delta": 0.3807,
"percent_delta": 0.2351,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.694,
"after": 0.0,
"delta": -0.694,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0916,
"after": 0.0,
"delta": -0.0916,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4727,
"after": 0.0,
"delta": -0.4727,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.846,
"after": 1.0,
"delta": 0.154,
"percent_delta": 0.182,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.6193,
"after": 2.0,
"delta": 0.3807,
"percent_delta": 0.2351,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.694,
"after": 0.0,
"delta": -0.694,
"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": 7.0,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 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.6757,
"after": 1.0,
"delta": 0.3243,
"percent_delta": 0.4799,
"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.6757,
"after": 1.0,
"delta": 0.3243,
"percent_delta": 0.4799,
"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": 0.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.2382,
"after": 0.286,
"delta": 0.0478,
"percent_delta": 0.2007,
"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.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3207,
"after": 0.286,
"delta": -0.0347,
"percent_delta": -0.1082,
"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.2382,
"after": 0.286,
"delta": 0.0478,
"percent_delta": 0.2007,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3207,
"after": 0.286,
"delta": -0.0347,
"percent_delta": -0.1082,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 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.2382,
"predicted_BB": 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_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3207,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2382,
"delta": -0.0478,
"percent_delta": -0.1672,
"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.286,
"after": 0.2759,
"delta": -0.0101,
"percent_delta": -0.0354,
"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.3207,
"delta": 0.0347,
"percent_delta": 0.1214,
"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.3207,
"delta": 0.0347,
"percent_delta": 0.1214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2382,
"delta": -0.0478,
"percent_delta": -0.1672,
"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.681,
"after": 4.0,
"delta": 0.319,
"percent_delta": 0.0867,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2382,
"delta": -0.0208,
"percent_delta": -0.0803,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.145,
"after": 0.0,
"delta": -0.145,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.344,
"after": 0.2759,
"delta": -0.0681,
"percent_delta": -0.198,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.319,
"after": 0.0,
"delta": -0.319,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"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.522,
"after": 0.0,
"delta": -0.522,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.681,
"after": 4.0,
"delta": 0.319,
"percent_delta": 0.0867,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.522,
"after": 0.0,
"delta": -0.522,
"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.681 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.145 | - |
| predicted_H | 0.370 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.344 | - |
| predicted_R | 0.319 | - |
| predicted_RBI | 0.140 | - |
| predicted_SLG | 0.394 | - |
| predicted_SO | 0.522 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.184 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.799 | 3.118 |
| predicted_AVG | 0.278 | 0.019 |
| predicted_BB | 0.356 | 0.211 |
| predicted_H | 1.632 | 1.262 |
| predicted_HBP | 0.694 | - |
| predicted_HR | 0.091 | 0.061 |
| predicted_OBP | 0.357 | 0.013 |
| predicted_R | 0.687 | 0.368 |
| predicted_RBI | 0.481 | 0.341 |
| predicted_SLG | 0.395 | 0.001 |
| predicted_SO | 0.841 | 0.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.285 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.799 | 0.000 |
| predicted_AVG | 0.238 | -0.039 |
| predicted_BB | 0.354 | -0.002 |
| predicted_H | 1.619 | -0.012 |
| predicted_HBP | 0.694 | 0.000 |
| predicted_HR | 0.092 | 0.000 |
| predicted_OBP | 0.276 | -0.082 |
| predicted_R | 0.676 | -0.012 |
| predicted_RBI | 0.473 | -0.008 |
| predicted_SLG | 0.321 | -0.075 |
| predicted_SO | 0.846 | 0.005 |
AB rounded to 7 (raw=6.80), rates preserved: AVG=0.238 HR/AB=0.013
| 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 | 0.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 | 7.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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.285 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | 0.201 |
| predicted_AVG | 0.286 | 0.048 |
| predicted_BB | 0.000 | -0.354 |
| predicted_H | 2.000 | 0.381 |
| predicted_HR | 0.000 | -0.092 |
| predicted_OBP | 0.286 | 0.010 |
| predicted_R | 1.000 | 0.324 |
| predicted_RBI | 0.000 | -0.473 |
| predicted_SLG | 0.286 | -0.035 |
| predicted_SO | 1.000 | 0.154 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 16.000 | 8.000 | 2.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 0.000 | 0.5000 | 0.5789 | 0.6250 | 0.5000 | 0.0000 | 0.0000 | 0.1250 | 0.0000 |
| last_10 | 0.20 | 5 | - | 39.000 | 13.000 | 2.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 3.000 | 0.3333 | 0.3810 | 0.3846 | 0.3333 | 0.0000 | 0.0000 | 0.0513 | 0.0769 |
| season | 0.60 | 38 | - | 508.000 | 127.000 | 14.000 | 0.000 | 10.000 | 56.000 | 44.000 | 20.000 | 72.000 | 0.2500 | 0.3245 | 0.3366 | 0.2500 | 0.0197 | 0.1102 | 0.0394 | 0.1417 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5230 |
| predicted_3B | 0.0020 |
| predicted_AB | 10.8450 |
| predicted_AVG | 0.3014 |
| predicted_BB | 0.6300 |
| predicted_H | 3.2690 |
| predicted_HBP | 0.6940 |
| predicted_HR | 0.1710 |
| predicted_OBP | 0.3749 |
| predicted_R | 1.1650 |
| predicted_RBI | 0.9230 |
| predicted_SLG | 0.3972 |
| predicted_SO | 1.2550 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1010 | 0.5230 | 0.2847 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.6810 | 10.8450 | 6.7990 | model_form_blend |
| predicted_AVG | 0.2590 | 0.3014 | 0.2775 | model_form_blend |
| predicted_BB | 0.1450 | 0.6300 | 0.3561 | model_form_blend |
| predicted_H | 0.3700 | 3.2690 | 1.6317 | model_form_blend |
| predicted_HBP | - | 0.6940 | 0.6940 | form_only |
| predicted_HR | 0.0300 | 0.1710 | 0.0914 | model_form_blend |
| predicted_OBP | 0.3440 | 0.3749 | 0.3574 | model_form_blend |
| predicted_R | 0.3190 | 1.1650 | 0.6872 | model_form_blend |
| predicted_RBI | 0.1400 | 0.9230 | 0.4808 | model_form_blend |
| predicted_SLG | 0.3940 | 0.3972 | 0.3954 | model_form_blend |
| predicted_SO | 0.5220 | 1.2550 | 0.8410 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 139 |
| Season rows before report date | 139 |
| Report year | 2026 |
| Profile rows used | 138 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.25 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 1 |
| 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 | 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 | 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 | RF-CF |
| gameID | 20260531_SF@COL |
| game_type | full |
| mlbID | 671289 |
| playerID | 671289 |
| playerName | Tyler Freeman |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | COL |
| teamID | 9 |
| game_date | 2026-05-31 |
| sl_k_percent | 11.9 |
| sl_bb_percent | 3.5 |
| sl_woba | 0.314 |
| sl_xwoba | 0.322 |
| sl_xba | 0.278 |
| sl_xslg | 0.36 |
| sl_sweet_spot_percent | 34.8 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 31.3 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 11.0 |
| sl_whiff_percent | 11.4 |
| sl_swing_percent | 48.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.185 | 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.671 | 4.000 | 7.000 | Hitting_AB | 3.649 | 5.000 | 0.351 | -1.000 |
| predicted_AVG | 0.252 | 0.500 | 0.286 | Hitting_AVG | 0.260 | 0.200 | 0.240 | 0.300 |
| predicted_BB | 0.295 | 0.000 | 0.000 | Hitting_BB | 0.293 | 0.000 | -0.293 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.069 | 1.000 | -0.069 | -1.000 |
| predicted_H | 0.890 | 2.000 | 2.000 | Hitting_H | 0.948 | 1.000 | 1.052 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_OBP | 0.322 | 0.500 | 0.286 | Hitting_OBP | 0.315 | 0.200 | 0.185 | 0.300 |
| predicted_R | 0.549 | 0.000 | 1.000 | Hitting_R | 0.546 | 0.000 | -0.546 | 0.000 |
| predicted_RBI | 0.400 | 0.000 | 1.000 | Hitting_RBI | 0.414 | 0.000 | -0.414 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.092 | 1.000 | -0.092 | -1.000 |
| predicted_SLG | 0.365 | 0.500 | 0.286 | Hitting_SLG | 0.348 | 0.200 | 0.152 | 0.300 |
| predicted_SO | 1.231 | 1.000 | 2.000 | Hitting_SO | 1.224 | 1.000 | -0.224 | 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.8900 -> 2.0000 (boost 1.1100, better) |
| Biggest Deboost | predicted_R: 0.5490 -> 0.0000 (deboost -0.5490, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.6710 -> 6.9482 (boost 3.2772, better) | predicted_SLG: 0.3650 -> 0.3503 (deboost -0.0147, 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.3099 -> 0.2941 (deboost -0.0158, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 4 | 3 | predicted_H: 1.7179 -> 2.0000 (boost 0.2821, better) | predicted_BB: 0.4608 -> 0.0000 (deboost -0.4608, worse) | AB rounded to 7 (raw=6.95), rates preserved: AVG=0.247 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8911 -> 1.0000 (boost 0.1089, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2473 -> 0.2860 (boost 0.0387, better) | predicted_SLG: 0.3353 -> 0.2860 (deboost -0.0493, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 1 | 3 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2860 -> 0.3353 (boost 0.0493, better) | predicted_AVG: 0.2860 -> 0.2473 (deboost -0.0387, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "650489",
"player_name": "Willi Castro",
"position": "2B",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.185,
"predicted_3B": 0.0,
"predicted_AB": 3.671,
"predicted_AVG": 0.252,
"predicted_BB": 0.295,
"predicted_H": 0.89,
"predicted_HR": 0.07,
"predicted_OBP": 0.322,
"predicted_R": 0.549,
"predicted_RBI": 0.4,
"predicted_SLG": 0.365,
"predicted_SO": 1.231
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3374,
"predicted_3B": 0.0009,
"predicted_AB": 6.9482,
"predicted_AVG": 0.252,
"predicted_BB": 0.4636,
"predicted_H": 1.7311,
"predicted_HBP": 0.03,
"predicted_HR": 0.0906,
"predicted_OBP": 0.3099,
"predicted_R": 0.9063,
"predicted_RBI": 0.8011,
"predicted_SLG": 0.3503,
"predicted_SO": 2.2638
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.185,
"after": 0.3374,
"delta": 0.1524,
"percent_delta": 0.8238,
"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.671,
"after": 6.9482,
"delta": 3.2772,
"percent_delta": 0.8927,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.252,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.295,
"after": 0.4636,
"delta": 0.1686,
"percent_delta": 0.5715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 1.7311,
"delta": 0.8411,
"percent_delta": 0.9451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0906,
"delta": 0.0206,
"percent_delta": 0.2943,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3099,
"delta": -0.0121,
"percent_delta": -0.0376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.549,
"after": 0.9063,
"delta": 0.3573,
"percent_delta": 0.6508,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.8011,
"delta": 0.4011,
"percent_delta": 1.0028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.3503,
"delta": -0.0147,
"percent_delta": -0.0403,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.231,
"after": 2.2638,
"delta": 1.0328,
"percent_delta": 0.839,
"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.671,
"after": 6.9482,
"delta": 3.2772,
"percent_delta": 0.8927,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.3503,
"delta": -0.0147,
"percent_delta": -0.0403,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 48
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.3374,
"predicted_3B": 0.0009,
"predicted_AB": 6.9482,
"predicted_AVG": 0.2473,
"predicted_BB": 0.4608,
"predicted_H": 1.7179,
"predicted_HBP": 0.03,
"predicted_HR": 0.0908,
"predicted_OBP": 0.2941,
"predicted_R": 0.8911,
"predicted_RBI": 0.7876,
"predicted_SLG": 0.3353,
"predicted_SO": 2.2774
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3374,
"after": 0.3374,
"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.9482,
"after": 6.9482,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2473,
"delta": -0.0047,
"percent_delta": -0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4636,
"after": 0.4608,
"delta": -0.0028,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7311,
"after": 1.7179,
"delta": -0.0132,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.03,
"after": 0.03,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0906,
"after": 0.0908,
"delta": 0.0002,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3099,
"after": 0.2941,
"delta": -0.0158,
"percent_delta": -0.051,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9063,
"after": 0.8911,
"delta": -0.0152,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8011,
"after": 0.7876,
"delta": -0.0135,
"percent_delta": -0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3503,
"after": 0.3353,
"delta": -0.015,
"percent_delta": -0.0428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.2638,
"after": 2.2774,
"delta": 0.0136,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3099,
"after": 0.2941,
"delta": -0.0158,
"percent_delta": -0.051,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.95), rates preserved: AVG=0.247 HR/AB=0.013",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3374,
"after": 0.0,
"delta": -0.3374,
"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.9482,
"after": 7.0,
"delta": 0.0518,
"percent_delta": 0.0075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4608,
"after": 0.0,
"delta": -0.4608,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7179,
"after": 2.0,
"delta": 0.2821,
"percent_delta": 0.1642,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0908,
"after": 0.0,
"delta": -0.0908,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7876,
"after": 1.0,
"delta": 0.2124,
"percent_delta": 0.2697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.2774,
"after": 2.0,
"delta": -0.2774,
"percent_delta": -0.1218,
"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_H",
"before": 1.7179,
"after": 2.0,
"delta": 0.2821,
"percent_delta": 0.1642,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4608,
"after": 0.0,
"delta": -0.4608,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.8911,
"after": 1.0,
"delta": 0.1089,
"percent_delta": 0.1222,
"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.8911,
"after": 1.0,
"delta": 0.1089,
"percent_delta": 0.1222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2473,
"after": 0.286,
"delta": 0.0387,
"percent_delta": 0.1565,
"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.2941,
"after": 0.286,
"delta": -0.0081,
"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": 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.3353,
"after": 0.286,
"delta": -0.0493,
"percent_delta": -0.147,
"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.2473,
"after": 0.286,
"delta": 0.0387,
"percent_delta": 0.1565,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3353,
"after": 0.286,
"delta": -0.0493,
"percent_delta": -0.147,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 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": 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.2473,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2941,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3353,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2473,
"delta": -0.0387,
"percent_delta": -0.1355,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2941,
"delta": 0.0081,
"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.286,
"after": 0.3353,
"delta": 0.0493,
"percent_delta": 0.1722,
"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.3353,
"delta": 0.0493,
"percent_delta": 0.1722,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2473,
"delta": -0.0387,
"percent_delta": -0.1355,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.185,
"after": 0.0,
"delta": -0.185,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.671,
"after": 4.0,
"delta": 0.329,
"percent_delta": 0.0896,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2473,
"delta": -0.0047,
"percent_delta": -0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.295,
"after": 0.0,
"delta": -0.295,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 2.0,
"delta": 1.11,
"percent_delta": 1.2472,
"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.322,
"after": 0.2941,
"delta": -0.0279,
"percent_delta": -0.0866,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.549,
"after": 0.0,
"delta": -0.549,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.3353,
"delta": -0.0297,
"percent_delta": -0.0814,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.231,
"after": 1.0,
"delta": -0.231,
"percent_delta": -0.1877,
"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.89,
"after": 2.0,
"delta": 1.11,
"percent_delta": 1.2472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.549,
"after": 0.0,
"delta": -0.549,
"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.185 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.671 | - |
| predicted_AVG | 0.252 | - |
| predicted_BB | 0.295 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.549 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.365 | - |
| predicted_SO | 1.231 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.152 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.948 | 3.277 |
| predicted_AVG | 0.252 | 0.000 |
| predicted_BB | 0.464 | 0.169 |
| predicted_H | 1.731 | 0.841 |
| predicted_HBP | 0.030 | - |
| predicted_HR | 0.091 | 0.021 |
| predicted_OBP | 0.310 | -0.012 |
| predicted_R | 0.906 | 0.357 |
| predicted_RBI | 0.801 | 0.401 |
| predicted_SLG | 0.350 | -0.015 |
| predicted_SO | 2.264 | 1.033 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.337 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.948 | 0.000 |
| predicted_AVG | 0.247 | -0.005 |
| predicted_BB | 0.461 | -0.003 |
| predicted_H | 1.718 | -0.013 |
| predicted_HBP | 0.030 | 0.000 |
| predicted_HR | 0.091 | 0.000 |
| predicted_OBP | 0.294 | -0.016 |
| predicted_R | 0.891 | -0.015 |
| predicted_RBI | 0.788 | -0.014 |
| predicted_SLG | 0.335 | -0.015 |
| predicted_SO | 2.277 | 0.014 |
AB rounded to 7 (raw=6.95), rates preserved: AVG=0.247 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 0.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.337 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | 0.052 |
| predicted_AVG | 0.286 | 0.039 |
| predicted_BB | 0.000 | -0.461 |
| predicted_H | 2.000 | 0.282 |
| predicted_HR | 0.000 | -0.091 |
| predicted_OBP | 0.286 | -0.008 |
| predicted_R | 1.000 | 0.109 |
| predicted_RBI | 1.000 | 0.212 |
| predicted_SLG | 0.286 | -0.049 |
| 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 | -3.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 23.000 | 5.000 | 1.000 | 0.000 | 0.000 | 3.000 | 1.000 | 0.000 | 7.000 | 0.2174 | 0.2174 | 0.2609 | 0.2174 | 0.0000 | 0.1304 | 0.0000 | 0.3044 |
| last_10 | 0.20 | 5 | - | 40.000 | 11.000 | 1.000 | 0.000 | 0.000 | 5.000 | 1.000 | 0.000 | 11.000 | 0.2750 | 0.2750 | 0.3000 | 0.2750 | 0.0000 | 0.1250 | 0.0000 | 0.2750 |
| season | 0.60 | 48 | - | 635.000 | 165.000 | 32.000 | 0.000 | 8.000 | 72.000 | 95.000 | 51.000 | 213.000 | 0.2598 | 0.3150 | 0.3480 | 0.2598 | 0.0126 | 0.1134 | 0.0803 | 0.3354 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5330 |
| predicted_3B | 0.0020 |
| predicted_AB | 11.1560 |
| predicted_AVG | 0.2520 |
| predicted_BB | 0.6800 |
| predicted_H | 2.8110 |
| predicted_HBP | 0.0300 |
| predicted_HR | 0.1170 |
| predicted_OBP | 0.2943 |
| predicted_R | 1.3650 |
| predicted_RBI | 1.3160 |
| predicted_SLG | 0.3315 |
| predicted_SO | 3.5900 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1850 | 0.5330 | 0.3374 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.6710 | 11.1560 | 6.9482 | model_form_blend |
| predicted_AVG | 0.2520 | 0.2520 | 0.2520 | model_form_blend |
| predicted_BB | 0.2950 | 0.6800 | 0.4636 | model_form_blend |
| predicted_H | 0.8900 | 2.8110 | 1.7311 | model_form_blend |
| predicted_HBP | - | 0.0300 | 0.0300 | form_only |
| predicted_HR | 0.0700 | 0.1170 | 0.0906 | model_form_blend |
| predicted_OBP | 0.3220 | 0.2943 | 0.3099 | model_form_blend |
| predicted_R | 0.5490 | 1.3650 | 0.9063 | model_form_blend |
| predicted_RBI | 0.4000 | 1.3160 | 0.8011 | model_form_blend |
| predicted_SLG | 0.3650 | 0.3315 | 0.3503 | model_form_blend |
| predicted_SO | 1.2310 | 3.5900 | 2.2638 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 174 |
| Season rows before report date | 174 |
| 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 | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.26 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 1 |
| BaseRunning_PO | 1 |
| 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 | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260531_SF@COL |
| game_type | full |
| mlbID | 650489 |
| playerID | 650489 |
| playerName | Willi Castro |
| pos | 2B |
| started | True |
| startingPosition | 1B |
| team | COL |
| teamID | 9 |
| game_date | 2026-05-31 |
| sl_k_percent | 29.4 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.306 |
| sl_xwoba | 0.275 |
| sl_xba | 0.218 |
| sl_xslg | 0.339 |
| sl_sweet_spot_percent | 29.7 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 46.8 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 16.5 |
| sl_whiff_percent | 29.8 |
| sl_swing_percent | 55.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.174 | 0.000 | 0.000 | Hitting_2B | 0.174 | 0.000 | -0.174 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.090 | 4.000 | 8.000 | Hitting_AB | 3.967 | 4.000 | 0.033 | 0.000 |
| predicted_AVG | 0.225 | 0.000 | 0.250 | Hitting_AVG | 0.245 | 0.000 | -0.245 | 0.000 |
| predicted_BB | 0.300 | 0.000 | 1.000 | Hitting_BB | 0.300 | 0.000 | -0.300 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_H | 0.920 | 0.000 | 2.000 | Hitting_H | 0.972 | 0.000 | -0.972 | 0.000 |
| predicted_HR | 0.220 | 0.000 | 0.000 | Hitting_HR | 0.258 | 0.000 | -0.258 | 0.000 |
| predicted_OBP | 0.308 | 0.000 | 0.333 | Hitting_OBP | 0.311 | 0.000 | -0.311 | 0.000 |
| predicted_R | 0.671 | 0.000 | 1.000 | Hitting_R | 0.671 | 1.000 | -0.671 | -1.000 |
| predicted_RBI | 0.510 | 0.000 | 1.000 | Hitting_RBI | 0.423 | 0.000 | -0.423 | 0.000 |
| predicted_SLG | 0.439 | 0.000 | 0.250 | Hitting_SLG | 0.484 | 0.000 | -0.484 | 0.000 |
| predicted_SO | 1.521 | 0.000 | 3.000 | Hitting_SO | 1.521 | 2.000 | -1.521 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SLG: 0.4390 -> 0.4551 (boost 0.0161, better) |
| Biggest Deboost | predicted_SO: 1.5210 -> 0.0000 (deboost -1.5210, 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.0900 -> 7.8766 (boost 3.7866, 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.3099 -> 0.2814 (deboost -0.0285, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_BB: 0.6220 -> 1.0000 (boost 0.3780, better) | predicted_HBP: 0.5360 -> 0.0000 (deboost -0.5360, worse) | AB rounded to 8 (raw=7.88), rates preserved: AVG=0.225 HR/AB=0.062 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2925 -> 1.0000 (deboost -0.2925, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2814 -> 0.3330 (boost 0.0516, better) | predicted_SLG: 0.4551 -> 0.2500 (deboost -0.2051, 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.4551 (boost 0.2051, better) | predicted_OBP: 0.3330 -> 0.2814 (deboost -0.0516, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "696100",
"player_name": "Hunter Goodman",
"position": "C",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.174,
"predicted_3B": 0.0,
"predicted_AB": 4.09,
"predicted_AVG": 0.225,
"predicted_BB": 0.3,
"predicted_H": 0.92,
"predicted_HR": 0.22,
"predicted_OBP": 0.308,
"predicted_R": 0.671,
"predicted_RBI": 0.51,
"predicted_SLG": 0.439,
"predicted_SO": 1.521
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3521,
"predicted_3B": 0.0009,
"predicted_AB": 7.8766,
"predicted_AVG": 0.2258,
"predicted_BB": 0.6258,
"predicted_H": 1.7827,
"predicted_HBP": 0.536,
"predicted_HR": 0.4863,
"predicted_OBP": 0.3099,
"predicted_R": 1.3146,
"predicted_RBI": 0.9702,
"predicted_SLG": 0.4516,
"predicted_SO": 2.7443
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 0.3521,
"delta": 0.1781,
"percent_delta": 1.0236,
"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": 7.8766,
"delta": 3.7866,
"percent_delta": 0.9258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2258,
"delta": 0.0008,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3,
"after": 0.6258,
"delta": 0.3258,
"percent_delta": 1.086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 1.7827,
"delta": 0.8627,
"percent_delta": 0.9377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.4863,
"delta": 0.2663,
"percent_delta": 1.2105,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.3099,
"delta": 0.0019,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.671,
"after": 1.3146,
"delta": 0.6436,
"percent_delta": 0.9592,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.9702,
"delta": 0.4602,
"percent_delta": 0.9024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.4516,
"delta": 0.0126,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.521,
"after": 2.7443,
"delta": 1.2233,
"percent_delta": 0.8043,
"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.09,
"after": 7.8766,
"delta": 3.7866,
"percent_delta": 0.9258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.3521,
"predicted_3B": 0.0009,
"predicted_AB": 7.8766,
"predicted_AVG": 0.2246,
"predicted_BB": 0.622,
"predicted_H": 1.7692,
"predicted_HBP": 0.536,
"predicted_HR": 0.4872,
"predicted_OBP": 0.2814,
"predicted_R": 1.2925,
"predicted_RBI": 0.9539,
"predicted_SLG": 0.4551,
"predicted_SO": 2.7608
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3521,
"after": 0.3521,
"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.8766,
"after": 7.8766,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2258,
"after": 0.2246,
"delta": -0.0012,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6258,
"after": 0.622,
"delta": -0.0038,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7827,
"after": 1.7692,
"delta": -0.0135,
"percent_delta": -0.0076,
"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.4863,
"after": 0.4872,
"delta": 0.0009,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3099,
"after": 0.2814,
"delta": -0.0285,
"percent_delta": -0.092,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.3146,
"after": 1.2925,
"delta": -0.0221,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9702,
"after": 0.9539,
"delta": -0.0163,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4516,
"after": 0.4551,
"delta": 0.0035,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.7443,
"after": 2.7608,
"delta": 0.0165,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3099,
"after": 0.2814,
"delta": -0.0285,
"percent_delta": -0.092,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.88), rates preserved: AVG=0.225 HR/AB=0.062",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3521,
"after": 0.0,
"delta": -0.3521,
"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.8766,
"after": 8.0,
"delta": 0.1234,
"percent_delta": 0.0157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.622,
"after": 1.0,
"delta": 0.378,
"percent_delta": 0.6077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7692,
"after": 2.0,
"delta": 0.2308,
"percent_delta": 0.1305,
"direction": "boost",
"projection_effect": "better",
"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.4872,
"after": 0.0,
"delta": -0.4872,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9539,
"after": 1.0,
"delta": 0.0461,
"percent_delta": 0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.7608,
"after": 3.0,
"delta": 0.2392,
"percent_delta": 0.0866,
"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.622,
"after": 1.0,
"delta": 0.378,
"percent_delta": 0.6077,
"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": 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.2925,
"after": 1.0,
"delta": -0.2925,
"percent_delta": -0.2263,
"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.2925,
"after": 1.0,
"delta": -0.2925,
"percent_delta": -0.2263,
"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.2246,
"after": 0.25,
"delta": 0.0254,
"percent_delta": 0.1131,
"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.2814,
"after": 0.333,
"delta": 0.0516,
"percent_delta": 0.1834,
"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.4551,
"after": 0.25,
"delta": -0.2051,
"percent_delta": -0.4507,
"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.2814,
"after": 0.333,
"delta": 0.0516,
"percent_delta": 0.1834,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4551,
"after": 0.25,
"delta": -0.2051,
"percent_delta": -0.4507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 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.2246,
"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.2814,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4551,
"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.2246,
"delta": -0.0254,
"percent_delta": -0.1016,
"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.2814,
"delta": -0.0516,
"percent_delta": -0.1551,
"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.4551,
"delta": 0.2051,
"percent_delta": 0.8204,
"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.4551,
"delta": 0.2051,
"percent_delta": 0.8204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2814,
"delta": -0.0516,
"percent_delta": -0.1551,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 0.0,
"delta": -0.174,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.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": 4.0,
"delta": -0.09,
"percent_delta": -0.022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2246,
"delta": -0.0004,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.0,
"delta": -0.92,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.2814,
"delta": -0.0266,
"percent_delta": -0.0864,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.671,
"after": 0.0,
"delta": -0.671,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.4551,
"delta": 0.0161,
"percent_delta": 0.0367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.521,
"after": 0.0,
"delta": -1.521,
"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_SLG",
"before": 0.439,
"after": 0.4551,
"delta": 0.0161,
"percent_delta": 0.0367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.521,
"after": 0.0,
"delta": -1.521,
"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.174 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.090 | - |
| predicted_AVG | 0.225 | - |
| predicted_BB | 0.300 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.308 | - |
| predicted_R | 0.671 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.439 | - |
| predicted_SO | 1.521 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.352 | 0.178 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 7.877 | 3.787 |
| predicted_AVG | 0.226 | 0.001 |
| predicted_BB | 0.626 | 0.326 |
| predicted_H | 1.783 | 0.863 |
| predicted_HBP | 0.536 | - |
| predicted_HR | 0.486 | 0.266 |
| predicted_OBP | 0.310 | 0.002 |
| predicted_R | 1.315 | 0.644 |
| predicted_RBI | 0.970 | 0.460 |
| predicted_SLG | 0.452 | 0.013 |
| predicted_SO | 2.744 | 1.223 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.352 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 7.877 | 0.000 |
| predicted_AVG | 0.225 | -0.001 |
| predicted_BB | 0.622 | -0.004 |
| predicted_H | 1.769 | -0.013 |
| predicted_HBP | 0.536 | 0.000 |
| predicted_HR | 0.487 | 0.001 |
| predicted_OBP | 0.281 | -0.029 |
| predicted_R | 1.292 | -0.022 |
| predicted_RBI | 0.954 | -0.016 |
| predicted_SLG | 0.455 | 0.004 |
| predicted_SO | 2.761 | 0.017 |
AB rounded to 8 (raw=7.88), rates preserved: AVG=0.225 HR/AB=0.062
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.352 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | 0.123 |
| predicted_AVG | 0.250 | 0.025 |
| predicted_BB | 1.000 | 0.378 |
| predicted_H | 2.000 | 0.231 |
| predicted_HR | 0.000 | -0.487 |
| predicted_OBP | 0.333 | 0.052 |
| predicted_R | 1.000 | -0.292 |
| predicted_RBI | 1.000 | 0.046 |
| predicted_SLG | 0.250 | -0.205 |
| predicted_SO | 3.000 | 0.239 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -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 | 4 | - | 18.000 | 3.000 | 1.000 | 0.000 | 1.000 | 3.000 | 3.000 | 2.000 | 4.000 | 0.1667 | 0.3182 | 0.3889 | 0.1667 | 0.0556 | 0.1667 | 0.1111 | 0.2222 |
| last_10 | 0.20 | 5 | - | 33.000 | 6.000 | 1.000 | 0.000 | 4.000 | 6.000 | 6.000 | 2.000 | 7.000 | 0.1818 | 0.3077 | 0.5758 | 0.1818 | 0.1212 | 0.1818 | 0.0606 | 0.2121 |
| season | 0.60 | 54 | - | 845.000 | 207.000 | 37.000 | 0.000 | 55.000 | 90.000 | 143.000 | 64.000 | 324.000 | 0.2450 | 0.3110 | 0.4840 | 0.2450 | 0.0651 | 0.1065 | 0.0757 | 0.3834 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5780 |
| predicted_3B | 0.0020 |
| predicted_AB | 12.6800 |
| predicted_AVG | 0.2269 |
| predicted_BB | 1.0390 |
| predicted_H | 2.8770 |
| predicted_HBP | 0.5360 |
| predicted_HR | 0.8240 |
| predicted_OBP | 0.3123 |
| predicted_R | 2.1310 |
| predicted_RBI | 1.5540 |
| predicted_SLG | 0.4676 |
| predicted_SO | 4.2960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1740 | 0.5780 | 0.3521 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 4.0900 | 12.6800 | 7.8766 | model_form_blend |
| predicted_AVG | 0.2250 | 0.2269 | 0.2258 | model_form_blend |
| predicted_BB | 0.3000 | 1.0390 | 0.6258 | model_form_blend |
| predicted_H | 0.9200 | 2.8770 | 1.7827 | model_form_blend |
| predicted_HBP | - | 0.5360 | 0.5360 | form_only |
| predicted_HR | 0.2200 | 0.8240 | 0.4863 | model_form_blend |
| predicted_OBP | 0.3080 | 0.3123 | 0.3099 | model_form_blend |
| predicted_R | 0.6710 | 2.1310 | 1.3146 | model_form_blend |
| predicted_RBI | 0.5100 | 1.5540 | 0.9702 | model_form_blend |
| predicted_SLG | 0.4390 | 0.4676 | 0.4516 | model_form_blend |
| predicted_SO | 1.5210 | 4.2960 | 2.7443 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 213 |
| Season rows before report date | 213 |
| Report year | 2026 |
| Profile rows used | 213 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.245 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 1 |
| 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 | 20260531_SF@COL |
| game_type | full |
| mlbID | 696100 |
| playerID | 696100 |
| playerName | Hunter Goodman |
| pos | C |
| started | True |
| startingPosition | DH |
| team | COL |
| teamID | 9 |
| game_date | 2026-05-31 |
| sl_k_percent | 34.5 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.345 |
| sl_xwoba | 0.301 |
| sl_xba | 0.216 |
| sl_xslg | 0.408 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 13.7 |
| sl_hard_hit_percent | 45.6 |
| sl_exit_velocity_avg | 90.7 |
| sl_launch_angle_avg | 18.0 |
| sl_whiff_percent | 33.5 |
| sl_swing_percent | 55.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.150 | 1.000 | 0.000 | Hitting_2B | 0.144 | 0.000 | 0.856 | 1.000 |
| predicted_3B | 0.057 | 0.000 | 0.000 | Hitting_3B | 0.055 | 0.000 | -0.055 | 0.000 |
| predicted_AB | 3.343 | 4.000 | 6.000 | Hitting_AB | 3.205 | 3.000 | 0.795 | 1.000 |
| predicted_AVG | 0.261 | 0.500 | 0.167 | Hitting_AVG | 0.256 | 0.000 | 0.244 | 0.500 |
| predicted_BB | 0.157 | 0.000 | 0.000 | Hitting_BB | 0.171 | 0.000 | -0.171 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_H | 0.860 | 2.000 | 1.000 | Hitting_H | 0.822 | 0.000 | 1.178 | 2.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_OBP | 0.313 | 0.500 | 0.167 | Hitting_OBP | 0.296 | 0.000 | 0.204 | 0.500 |
| predicted_R | 0.329 | 1.000 | 1.000 | Hitting_R | 0.322 | 0.000 | 0.678 | 1.000 |
| predicted_RBI | 0.510 | 1.000 | 1.000 | Hitting_RBI | 0.473 | 1.000 | 0.527 | 0.000 |
| predicted_SLG | 0.421 | 0.750 | 0.167 | Hitting_SLG | 0.393 | 0.000 | 0.357 | 0.750 |
| predicted_SO | 0.700 | 0.000 | 2.000 | Hitting_SO | 0.671 | 2.000 | -0.671 | -2.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.8600 -> 2.0000 (boost 1.1400, better) |
| Biggest Deboost | predicted_SO: 0.7000 -> 0.0000 (deboost -0.7000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 8 | 1 | 7 | 2 | predicted_AB: 3.3430 -> 5.7705 (boost 2.4275, better) | predicted_OBP: 0.3130 -> 0.3069 (deboost -0.0061, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3069 -> 0.2943 (deboost -0.0126, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 4 | 5 | 3 | 6 | predicted_H: 1.5013 -> 2.0000 (boost 0.4987, better) | predicted_BB: 0.2788 -> 0.0000 (deboost -0.2788, worse) | AB rounded to 6 (raw=5.77), rates preserved: AVG=0.260 HR/AB=0.028 |
| 5 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 2.0000 -> 1.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6747 -> 1.0000 (boost 0.3253, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4183 -> 0.1670 (deboost -0.2513, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 2 | 2 | 3 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.4183 (boost 0.2513, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664983",
"player_name": "Jake McCarthy",
"position": "CF",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.15,
"predicted_3B": 0.057,
"predicted_AB": 3.343,
"predicted_AVG": 0.261,
"predicted_BB": 0.157,
"predicted_H": 0.86,
"predicted_HR": 0.1,
"predicted_OBP": 0.313,
"predicted_R": 0.329,
"predicted_RBI": 0.51,
"predicted_SLG": 0.421,
"predicted_SO": 0.7
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2644,
"predicted_3B": 0.08,
"predicted_AB": 5.7705,
"predicted_AVG": 0.2626,
"predicted_BB": 0.2805,
"predicted_H": 1.5128,
"predicted_HBP": 0.072,
"predicted_HR": 0.1624,
"predicted_OBP": 0.3069,
"predicted_R": 0.6862,
"predicted_RBI": 0.9383,
"predicted_SLG": 0.4194,
"predicted_SO": 1.5097
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.15,
"after": 0.2644,
"delta": 0.1144,
"percent_delta": 0.7627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.057,
"after": 0.08,
"delta": 0.023,
"percent_delta": 0.4035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.343,
"after": 5.7705,
"delta": 2.4275,
"percent_delta": 0.7261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2626,
"delta": 0.0016,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.157,
"after": 0.2805,
"delta": 0.1235,
"percent_delta": 0.7866,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 1.5128,
"delta": 0.6528,
"percent_delta": 0.7591,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1624,
"delta": 0.0624,
"percent_delta": 0.624,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3069,
"delta": -0.0061,
"percent_delta": -0.0195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.329,
"after": 0.6862,
"delta": 0.3572,
"percent_delta": 1.0857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.9383,
"delta": 0.4283,
"percent_delta": 0.8398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.421,
"after": 0.4194,
"delta": -0.0016,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7,
"after": 1.5097,
"delta": 0.8097,
"percent_delta": 1.1567,
"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.343,
"after": 5.7705,
"delta": 2.4275,
"percent_delta": 0.7261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3069,
"delta": -0.0061,
"percent_delta": -0.0195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.2644,
"predicted_3B": 0.08,
"predicted_AB": 5.7705,
"predicted_AVG": 0.2602,
"predicted_BB": 0.2788,
"predicted_H": 1.5013,
"predicted_HBP": 0.072,
"predicted_HR": 0.1627,
"predicted_OBP": 0.2943,
"predicted_R": 0.6747,
"predicted_RBI": 0.9225,
"predicted_SLG": 0.4183,
"predicted_SO": 1.5188
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2644,
"after": 0.2644,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.08,
"after": 0.08,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.7705,
"after": 5.7705,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2626,
"after": 0.2602,
"delta": -0.0024,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2805,
"after": 0.2788,
"delta": -0.0017,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5128,
"after": 1.5013,
"delta": -0.0115,
"percent_delta": -0.0076,
"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.1624,
"after": 0.1627,
"delta": 0.0003,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3069,
"after": 0.2943,
"delta": -0.0126,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6862,
"after": 0.6747,
"delta": -0.0115,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9383,
"after": 0.9225,
"delta": -0.0158,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4194,
"after": 0.4183,
"delta": -0.0011,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.5097,
"after": 1.5188,
"delta": 0.0091,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3069,
"after": 0.2943,
"delta": -0.0126,
"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 6 (raw=5.77), rates preserved: AVG=0.260 HR/AB=0.028",
"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.2644,
"after": 0.0,
"delta": -0.2644,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 5.7705,
"after": 6.0,
"delta": 0.2295,
"percent_delta": 0.0398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2788,
"after": 0.0,
"delta": -0.2788,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.5013,
"after": 2.0,
"delta": 0.4987,
"percent_delta": 0.3322,
"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.1627,
"after": 0.0,
"delta": -0.1627,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9225,
"after": 1.0,
"delta": 0.0775,
"percent_delta": 0.084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5188,
"after": 2.0,
"delta": 0.4812,
"percent_delta": 0.3168,
"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_H",
"before": 1.5013,
"after": 2.0,
"delta": 0.4987,
"percent_delta": 0.3322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2788,
"after": 0.0,
"delta": -0.2788,
"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.000)",
"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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"model_expectation": 0.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.6747,
"after": 1.0,
"delta": 0.3253,
"percent_delta": 0.4821,
"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.6747,
"after": 1.0,
"delta": 0.3253,
"percent_delta": 0.4821,
"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.2602,
"after": 0.167,
"delta": -0.0932,
"percent_delta": -0.3582,
"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.2943,
"after": 0.167,
"delta": -0.1273,
"percent_delta": -0.4326,
"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.4183,
"after": 0.167,
"delta": -0.2513,
"percent_delta": -0.6008,
"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.4183,
"after": 0.167,
"delta": -0.2513,
"percent_delta": -0.6008,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2602,
"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.2943,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4183,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.2602,
"delta": 0.0932,
"percent_delta": 0.5579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.167,
"after": 0.2943,
"delta": 0.1273,
"percent_delta": 0.7621,
"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.4183,
"delta": 0.2513,
"percent_delta": 1.5048,
"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.4183,
"delta": 0.2513,
"percent_delta": 1.5048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.15,
"after": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.057,
"after": 0.0,
"delta": -0.057,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.343,
"after": 4.0,
"delta": 0.657,
"percent_delta": 0.1965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2602,
"delta": -0.0008,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.157,
"after": 0.0,
"delta": -0.157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 2.0,
"delta": 1.14,
"percent_delta": 1.3256,
"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.313,
"after": 0.2943,
"delta": -0.0187,
"percent_delta": -0.0597,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.329,
"after": 1.0,
"delta": 0.671,
"percent_delta": 2.0395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 1.0,
"delta": 0.49,
"percent_delta": 0.9608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.421,
"after": 0.4183,
"delta": -0.0027,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"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.86,
"after": 2.0,
"delta": 1.14,
"percent_delta": 1.3256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"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.150 | - |
| predicted_3B | 0.057 | - |
| predicted_AB | 3.343 | - |
| predicted_AVG | 0.261 | - |
| predicted_BB | 0.157 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.329 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.421 | - |
| predicted_SO | 0.700 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.264 | 0.114 |
| predicted_3B | 0.080 | 0.023 |
| predicted_AB | 5.771 | 2.428 |
| predicted_AVG | 0.263 | 0.002 |
| predicted_BB | 0.281 | 0.124 |
| predicted_H | 1.513 | 0.653 |
| predicted_HBP | 0.072 | - |
| predicted_HR | 0.162 | 0.062 |
| predicted_OBP | 0.307 | -0.006 |
| predicted_R | 0.686 | 0.357 |
| predicted_RBI | 0.938 | 0.428 |
| predicted_SLG | 0.419 | -0.002 |
| predicted_SO | 1.510 | 0.810 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.264 | 0.000 |
| predicted_3B | 0.080 | 0.000 |
| predicted_AB | 5.771 | 0.000 |
| predicted_AVG | 0.260 | -0.002 |
| predicted_BB | 0.279 | -0.002 |
| predicted_H | 1.501 | -0.011 |
| predicted_HBP | 0.072 | 0.000 |
| predicted_HR | 0.163 | 0.000 |
| predicted_OBP | 0.294 | -0.013 |
| predicted_R | 0.675 | -0.012 |
| predicted_RBI | 0.922 | -0.016 |
| predicted_SLG | 0.418 | -0.001 |
| predicted_SO | 1.519 | 0.009 |
AB rounded to 6 (raw=5.77), rates preserved: AVG=0.260 HR/AB=0.028
| 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.000)
| 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 | 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.264 |
| predicted_3B | 0.000 | -0.080 |
| predicted_AB | 6.000 | 0.229 |
| predicted_AVG | 0.167 | -0.093 |
| predicted_BB | 0.000 | -0.279 |
| predicted_H | 1.000 | -0.501 |
| predicted_HR | 0.000 | -0.163 |
| predicted_OBP | 0.167 | -0.127 |
| predicted_R | 1.000 | 0.325 |
| predicted_RBI | 1.000 | 0.078 |
| predicted_SLG | 0.167 | -0.251 |
| predicted_SO | 2.000 | 0.481 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 18.000 | 5.000 | 1.000 | 0.000 | 1.000 | 5.000 | 4.000 | 1.000 | 10.000 | 0.2778 | 0.3000 | 0.5000 | 0.2778 | 0.0556 | 0.2778 | 0.0556 | 0.5556 |
| last_10 | 0.20 | 5 | - | 37.000 | 13.000 | 1.000 | 0.000 | 1.000 | 5.000 | 8.000 | 1.000 | 17.000 | 0.3514 | 0.3590 | 0.4595 | 0.3513 | 0.0270 | 0.1351 | 0.0270 | 0.4595 |
| season | 0.60 | 44 | - | 468.000 | 120.000 | 21.000 | 8.000 | 9.000 | 67.000 | 46.000 | 22.000 | 98.000 | 0.2564 | 0.2934 | 0.3932 | 0.2564 | 0.0192 | 0.1432 | 0.0470 | 0.2094 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4140 |
| predicted_3B | 0.1100 |
| predicted_AB | 8.9430 |
| predicted_AVG | 0.2646 |
| predicted_BB | 0.4420 |
| predicted_H | 2.3660 |
| predicted_HBP | 0.0720 |
| predicted_HR | 0.2440 |
| predicted_OBP | 0.2989 |
| predicted_R | 1.1530 |
| predicted_RBI | 1.4980 |
| predicted_SLG | 0.4173 |
| predicted_SO | 2.5680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1500 | 0.4140 | 0.2644 | model_form_blend |
| predicted_3B | 0.0570 | 0.1100 | 0.0800 | model_form_blend |
| predicted_AB | 3.3430 | 8.9430 | 5.7705 | model_form_blend |
| predicted_AVG | 0.2610 | 0.2646 | 0.2626 | model_form_blend |
| predicted_BB | 0.1570 | 0.4420 | 0.2805 | model_form_blend |
| predicted_H | 0.8600 | 2.3660 | 1.5128 | model_form_blend |
| predicted_HBP | - | 0.0720 | 0.0720 | form_only |
| predicted_HR | 0.1000 | 0.2440 | 0.1624 | model_form_blend |
| predicted_OBP | 0.3130 | 0.2989 | 0.3069 | model_form_blend |
| predicted_R | 0.3290 | 1.1530 | 0.6862 | model_form_blend |
| predicted_RBI | 0.5100 | 1.4980 | 0.9383 | model_form_blend |
| predicted_SLG | 0.4210 | 0.4173 | 0.4194 | model_form_blend |
| predicted_SO | 0.7000 | 2.5680 | 1.5097 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 140 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.256 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260531_SF@COL |
| game_type | full |
| mlbID | 664983 |
| playerID | 664983 |
| playerName | Jake McCarthy |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | COL |
| teamID | 9 |
| game_date | 2026-05-31 |
| sl_k_percent | 18.2 |
| sl_bb_percent | 5.8 |
| sl_woba | 0.342 |
| sl_xwoba | 0.315 |
| sl_xba | 0.264 |
| sl_xslg | 0.402 |
| sl_sweet_spot_percent | 37.9 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 21.6 |
| sl_exit_velocity_avg | 84.0 |
| sl_launch_angle_avg | 14.6 |
| sl_whiff_percent | 22.1 |
| sl_swing_percent | 54.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.254 | 0.000 | 0.000 | Hitting_2B | 0.251 | 0.000 | -0.251 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.780 | 4.000 | 7.000 | Hitting_AB | 3.744 | 3.000 | 0.256 | 1.000 |
| predicted_AVG | 0.241 | 0.000 | 0.286 | Hitting_AVG | 0.222 | 0.333 | -0.222 | -0.333 |
| predicted_BB | 0.229 | 0.000 | 1.000 | Hitting_BB | 0.227 | 0.000 | -0.227 | 0.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.831 | 1.000 | -0.831 | -1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.048 | 0.000 | -0.048 | 0.000 |
| predicted_OBP | 0.301 | 0.000 | 0.375 | Hitting_OBP | 0.269 | 0.333 | -0.269 | -0.333 |
| predicted_R | 0.307 | 0.000 | 1.000 | Hitting_R | 0.309 | 0.000 | -0.309 | 0.000 |
| predicted_RBI | 0.470 | 0.000 | 1.000 | Hitting_RBI | 0.391 | 0.000 | -0.391 | 0.000 |
| predicted_SLG | 0.411 | 0.000 | 0.286 | Hitting_SLG | 0.328 | 0.333 | -0.328 | -0.333 |
| predicted_SO | 0.995 | 2.000 | 2.000 | Hitting_SO | 0.986 | 1.000 | 1.014 | 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.9950 -> 2.0000 (boost 1.0050, worse) |
| Biggest Deboost | predicted_H: 0.8300 -> 0.0000 (deboost -0.8300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.7800 -> 7.1653 (boost 3.3853, better) | predicted_SLG: 0.4110 -> 0.4017 (deboost -0.0093, 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.2964 -> 0.2807 (deboost -0.0157, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_BB: 0.5683 -> 1.0000 (boost 0.4317, better) | predicted_2B: 0.3961 -> 0.0000 (deboost -0.3961, worse) | AB rounded to 7 (raw=7.17), rates preserved: AVG=0.224 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6816 -> 1.0000 (boost 0.3184, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2807 -> 0.3750 (boost 0.0943, better) | predicted_SLG: 0.3908 -> 0.2860 (deboost -0.1048, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.3908 (boost 0.1048, better) | predicted_OBP: 0.3750 -> 0.2807 (deboost -0.0943, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678662",
"player_name": "Ezequiel Tovar",
"position": "SS",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.254,
"predicted_3B": 0.0,
"predicted_AB": 3.78,
"predicted_AVG": 0.241,
"predicted_BB": 0.229,
"predicted_H": 0.83,
"predicted_HR": 0.14,
"predicted_OBP": 0.301,
"predicted_R": 0.307,
"predicted_RBI": 0.47,
"predicted_SLG": 0.411,
"predicted_SO": 0.995
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3961,
"predicted_3B": 0.0009,
"predicted_AB": 7.1653,
"predicted_AVG": 0.2352,
"predicted_BB": 0.5717,
"predicted_H": 1.6147,
"predicted_HBP": 0.068,
"predicted_HR": 0.2662,
"predicted_OBP": 0.2964,
"predicted_R": 0.6932,
"predicted_RBI": 0.9376,
"predicted_SLG": 0.4017,
"predicted_SO": 1.9267
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.254,
"after": 0.3961,
"delta": 0.1421,
"percent_delta": 0.5594,
"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.78,
"after": 7.1653,
"delta": 3.3853,
"percent_delta": 0.8956,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2352,
"delta": -0.0058,
"percent_delta": -0.0241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.229,
"after": 0.5717,
"delta": 0.3427,
"percent_delta": 1.4965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 1.6147,
"delta": 0.7847,
"percent_delta": 0.9454,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.2662,
"delta": 0.1262,
"percent_delta": 0.9014,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2964,
"delta": -0.0046,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.307,
"after": 0.6932,
"delta": 0.3862,
"percent_delta": 1.258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.9376,
"delta": 0.4676,
"percent_delta": 0.9949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.411,
"after": 0.4017,
"delta": -0.0093,
"percent_delta": -0.0226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.995,
"after": 1.9267,
"delta": 0.9317,
"percent_delta": 0.9364,
"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.78,
"after": 7.1653,
"delta": 3.3853,
"percent_delta": 0.8956,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.411,
"after": 0.4017,
"delta": -0.0093,
"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": 4,
"last_10": 5,
"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.3961,
"predicted_3B": 0.0009,
"predicted_AB": 7.1653,
"predicted_AVG": 0.2236,
"predicted_BB": 0.5683,
"predicted_H": 1.6024,
"predicted_HBP": 0.068,
"predicted_HR": 0.2667,
"predicted_OBP": 0.2807,
"predicted_R": 0.6816,
"predicted_RBI": 0.9218,
"predicted_SLG": 0.3908,
"predicted_SO": 1.9383
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3961,
"after": 0.3961,
"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.1653,
"after": 7.1653,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2352,
"after": 0.2236,
"delta": -0.0116,
"percent_delta": -0.0493,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5717,
"after": 0.5683,
"delta": -0.0034,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.6147,
"after": 1.6024,
"delta": -0.0123,
"percent_delta": -0.0076,
"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.2662,
"after": 0.2667,
"delta": 0.0005,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2964,
"after": 0.2807,
"delta": -0.0157,
"percent_delta": -0.053,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6932,
"after": 0.6816,
"delta": -0.0116,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9376,
"after": 0.9218,
"delta": -0.0158,
"percent_delta": -0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4017,
"after": 0.3908,
"delta": -0.0109,
"percent_delta": -0.0271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9267,
"after": 1.9383,
"delta": 0.0116,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2964,
"after": 0.2807,
"delta": -0.0157,
"percent_delta": -0.053,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.17), rates preserved: AVG=0.224 HR/AB=0.037",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3961,
"after": 0.0,
"delta": -0.3961,
"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.1653,
"after": 7.0,
"delta": -0.1653,
"percent_delta": -0.0231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5683,
"after": 1.0,
"delta": 0.4317,
"percent_delta": 0.7596,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6024,
"after": 2.0,
"delta": 0.3976,
"percent_delta": 0.2481,
"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.2667,
"after": 0.0,
"delta": -0.2667,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9218,
"after": 1.0,
"delta": 0.0782,
"percent_delta": 0.0848,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9383,
"after": 2.0,
"delta": 0.0617,
"percent_delta": 0.0318,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5683,
"after": 1.0,
"delta": 0.4317,
"percent_delta": 0.7596,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3961,
"after": 0.0,
"delta": -0.3961,
"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.6816,
"after": 1.0,
"delta": 0.3184,
"percent_delta": 0.4671,
"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.6816,
"after": 1.0,
"delta": 0.3184,
"percent_delta": 0.4671,
"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.2236,
"after": 0.286,
"delta": 0.0624,
"percent_delta": 0.2791,
"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.2807,
"after": 0.375,
"delta": 0.0943,
"percent_delta": 0.3359,
"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.3908,
"after": 0.286,
"delta": -0.1048,
"percent_delta": -0.2682,
"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.2807,
"after": 0.375,
"delta": 0.0943,
"percent_delta": 0.3359,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3908,
"after": 0.286,
"delta": -0.1048,
"percent_delta": -0.2682,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2236,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2807,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3908,
"predicted_SO": 2.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2236,
"delta": -0.0624,
"percent_delta": -0.2181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.2807,
"delta": -0.0943,
"percent_delta": -0.2515,
"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.3908,
"delta": 0.1048,
"percent_delta": 0.3665,
"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.3908,
"delta": 0.1048,
"percent_delta": 0.3665,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.2807,
"delta": -0.0943,
"percent_delta": -0.2515,
"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.254,
"after": 0.0,
"delta": -0.254,
"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.78,
"after": 4.0,
"delta": 0.22,
"percent_delta": 0.0582,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2236,
"delta": -0.0174,
"percent_delta": -0.0722,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.229,
"after": 0.0,
"delta": -0.229,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.0,
"delta": -0.83,
"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.301,
"after": 0.2807,
"delta": -0.0203,
"percent_delta": -0.0674,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.307,
"after": 0.0,
"delta": -0.307,
"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.411,
"after": 0.3908,
"delta": -0.0202,
"percent_delta": -0.0491,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.995,
"after": 2.0,
"delta": 1.005,
"percent_delta": 1.0101,
"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.995,
"after": 2.0,
"delta": 1.005,
"percent_delta": 1.0101,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.83,
"after": 0.0,
"delta": -0.83,
"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.254 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.780 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.229 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.307 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.411 | - |
| predicted_SO | 0.995 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.396 | 0.142 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 7.165 | 3.385 |
| predicted_AVG | 0.235 | -0.006 |
| predicted_BB | 0.572 | 0.343 |
| predicted_H | 1.615 | 0.785 |
| predicted_HBP | 0.068 | - |
| predicted_HR | 0.266 | 0.126 |
| predicted_OBP | 0.296 | -0.005 |
| predicted_R | 0.693 | 0.386 |
| predicted_RBI | 0.938 | 0.468 |
| predicted_SLG | 0.402 | -0.009 |
| predicted_SO | 1.927 | 0.932 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.396 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 7.165 | 0.000 |
| predicted_AVG | 0.224 | -0.012 |
| predicted_BB | 0.568 | -0.003 |
| predicted_H | 1.602 | -0.012 |
| predicted_HBP | 0.068 | 0.000 |
| predicted_HR | 0.267 | 0.001 |
| predicted_OBP | 0.281 | -0.016 |
| predicted_R | 0.682 | -0.012 |
| predicted_RBI | 0.922 | -0.016 |
| predicted_SLG | 0.391 | -0.011 |
| predicted_SO | 1.938 | 0.012 |
AB rounded to 7 (raw=7.17), rates preserved: AVG=0.224 HR/AB=0.037
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.396 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | -0.165 |
| predicted_AVG | 0.286 | 0.062 |
| predicted_BB | 1.000 | 0.432 |
| predicted_H | 2.000 | 0.398 |
| predicted_HR | 0.000 | -0.267 |
| predicted_OBP | 0.375 | 0.094 |
| predicted_R | 1.000 | 0.318 |
| predicted_RBI | 1.000 | 0.078 |
| predicted_SLG | 0.286 | -0.105 |
| predicted_SO | 2.000 | 0.062 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 16.000 | 4.000 | 0.000 | 0.000 | 2.000 | 4.000 | 3.000 | 3.000 | 5.000 | 0.2500 | 0.3684 | 0.6250 | 0.2500 | 0.1250 | 0.2500 | 0.1875 | 0.3125 |
| last_10 | 0.20 | 5 | - | 38.000 | 8.000 | 0.000 | 0.000 | 2.000 | 4.000 | 3.000 | 4.000 | 10.000 | 0.2105 | 0.2857 | 0.3684 | 0.2105 | 0.0526 | 0.1053 | 0.1053 | 0.2632 |
| season | 0.60 | 55 | - | 775.000 | 172.000 | 52.000 | 0.000 | 10.000 | 81.000 | 63.000 | 47.000 | 204.000 | 0.2219 | 0.2691 | 0.3277 | 0.2219 | 0.0129 | 0.1045 | 0.0607 | 0.2632 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5770 |
| predicted_3B | 0.0020 |
| predicted_AB | 11.4760 |
| predicted_AVG | 0.2278 |
| predicted_BB | 1.0080 |
| predicted_H | 2.6140 |
| predicted_HBP | 0.0680 |
| predicted_HR | 0.4270 |
| predicted_OBP | 0.2906 |
| predicted_R | 1.1850 |
| predicted_RBI | 1.5330 |
| predicted_SLG | 0.3898 |
| predicted_SO | 3.1130 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2540 | 0.5770 | 0.3961 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.7800 | 11.4760 | 7.1653 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2278 | 0.2352 | model_form_blend |
| predicted_BB | 0.2290 | 1.0080 | 0.5717 | model_form_blend |
| predicted_H | 0.8300 | 2.6140 | 1.6147 | model_form_blend |
| predicted_HBP | - | 0.0680 | 0.0680 | form_only |
| predicted_HR | 0.1400 | 0.4270 | 0.2662 | model_form_blend |
| predicted_OBP | 0.3010 | 0.2906 | 0.2964 | model_form_blend |
| predicted_R | 0.3070 | 1.1850 | 0.6932 | model_form_blend |
| predicted_RBI | 0.4700 | 1.5330 | 0.9376 | model_form_blend |
| predicted_SLG | 0.4110 | 0.3898 | 0.4017 | model_form_blend |
| predicted_SO | 0.9950 | 3.1130 | 1.9267 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 207 |
| Season rows before report date | 207 |
| Report year | 2026 |
| Profile rows used | 205 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.222 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260531_SF@COL |
| game_type | full |
| mlbID | 678662 |
| playerID | 678662 |
| playerName | Ezequiel Tovar |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | COL |
| teamID | 9 |
| game_date | 2026-05-31 |
| sl_k_percent | 25.4 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.273 |
| sl_xwoba | 0.31 |
| sl_xba | 0.244 |
| sl_xslg | 0.412 |
| sl_sweet_spot_percent | 38.2 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 37.5 |
| sl_exit_velocity_avg | 88.0 |
| sl_launch_angle_avg | 13.9 |
| sl_whiff_percent | 29.6 |
| sl_swing_percent | 61.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.053 | 0.000 | 0.000 | Hitting_2B | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_3B | 0.033 | 0.000 | 0.000 | Hitting_3B | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_AB | 3.483 | 3.000 | 6.000 | Hitting_AB | 3.438 | 1.000 | -0.438 | 2.000 |
| predicted_AVG | 0.230 | 0.333 | 0.167 | Hitting_AVG | 0.222 | 0.000 | 0.111 | 0.333 |
| predicted_BB | 0.497 | 1.000 | 1.000 | Hitting_BB | 0.497 | 1.000 | 0.503 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_H | 0.640 | 1.000 | 1.000 | Hitting_H | 0.765 | 0.000 | 0.235 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.065 | 0.000 | -0.065 | 0.000 |
| predicted_OBP | 0.298 | 0.500 | 0.286 | Hitting_OBP | 0.323 | 0.500 | 0.177 | 0.000 |
| predicted_R | 0.464 | 0.000 | 1.000 | Hitting_R | 0.458 | 0.000 | -0.458 | 0.000 |
| predicted_RBI | 0.270 | 0.000 | 0.000 | Hitting_RBI | 0.386 | 0.000 | -0.386 | 0.000 |
| predicted_SLG | 0.301 | 0.333 | 0.167 | Hitting_SLG | 0.314 | 0.000 | 0.020 | 0.333 |
| predicted_SO | 1.079 | 0.000 | 2.000 | Hitting_SO | 1.065 | 0.000 | -1.065 | 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.4970 -> 1.0000 (boost 0.5030, better) |
| Biggest Deboost | predicted_SO: 1.0790 -> 0.0000 (deboost -1.0790, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 7 | 2 | 6 | 3 | predicted_AB: 3.4830 -> 5.8198 (boost 2.3368, better) | predicted_SLG: 0.3010 -> 0.2888 (deboost -0.0122, 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.2184 -> 0.1953 (deboost -0.0231, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_SO: 1.7752 -> 2.0000 (boost 0.2248, worse) | predicted_RBI: 0.4627 -> 0.0000 (deboost -0.4627, worse) | AB rounded to 6 (raw=5.82), rates preserved: AVG=0.195 HR/AB=0.016 |
| 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.7761 -> 1.0000 (boost 0.2239, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2733 -> 0.1670 (deboost -0.1063, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 0 | 3 | 1 | 2 | - | predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.2733 (boost 0.1063, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666397",
"player_name": "Edouard Julien",
"position": "1B",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.053,
"predicted_3B": 0.033,
"predicted_AB": 3.483,
"predicted_AVG": 0.23,
"predicted_BB": 0.497,
"predicted_H": 0.64,
"predicted_HR": 0.07,
"predicted_OBP": 0.298,
"predicted_R": 0.464,
"predicted_RBI": 0.27,
"predicted_SLG": 0.301,
"predicted_SO": 1.079
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0787,
"predicted_3B": 0.0443,
"predicted_AB": 5.8198,
"predicted_AVG": 0.2184,
"predicted_BB": 0.8655,
"predicted_H": 1.1455,
"predicted_HBP": 0.027,
"predicted_HR": 0.0953,
"predicted_OBP": 0.3036,
"predicted_R": 0.7894,
"predicted_RBI": 0.4706,
"predicted_SLG": 0.2888,
"predicted_SO": 1.7646
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.053,
"after": 0.0787,
"delta": 0.0257,
"percent_delta": 0.4849,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.033,
"after": 0.0443,
"delta": 0.0113,
"percent_delta": 0.3424,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.483,
"after": 5.8198,
"delta": 2.3368,
"percent_delta": 0.6709,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2184,
"delta": -0.0116,
"percent_delta": -0.0504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.497,
"after": 0.8655,
"delta": 0.3685,
"percent_delta": 0.7414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 1.1455,
"delta": 0.5055,
"percent_delta": 0.7898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0953,
"delta": 0.0253,
"percent_delta": 0.3614,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.3036,
"delta": 0.0056,
"percent_delta": 0.0188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.464,
"after": 0.7894,
"delta": 0.3254,
"percent_delta": 0.7013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.4706,
"delta": 0.2006,
"percent_delta": 0.743,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.301,
"after": 0.2888,
"delta": -0.0122,
"percent_delta": -0.0405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.079,
"after": 1.7646,
"delta": 0.6856,
"percent_delta": 0.6354,
"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.483,
"after": 5.8198,
"delta": 2.3368,
"percent_delta": 0.6709,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.301,
"after": 0.2888,
"delta": -0.0122,
"percent_delta": -0.0405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 6,
"season": 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.0787,
"predicted_3B": 0.0443,
"predicted_AB": 5.8198,
"predicted_AVG": 0.1953,
"predicted_BB": 0.8603,
"predicted_H": 1.1368,
"predicted_HBP": 0.027,
"predicted_HR": 0.0955,
"predicted_OBP": 0.299,
"predicted_R": 0.7761,
"predicted_RBI": 0.4627,
"predicted_SLG": 0.2733,
"predicted_SO": 1.7752
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0787,
"after": 0.0787,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0443,
"after": 0.0443,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.8198,
"after": 5.8198,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2184,
"after": 0.1953,
"delta": -0.0231,
"percent_delta": -0.1058,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8655,
"after": 0.8603,
"delta": -0.0052,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1455,
"after": 1.1368,
"delta": -0.0087,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.027,
"after": 0.027,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0953,
"after": 0.0955,
"delta": 0.0002,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3036,
"after": 0.299,
"delta": -0.0046,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7894,
"after": 0.7761,
"delta": -0.0133,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4706,
"after": 0.4627,
"delta": -0.0079,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2888,
"after": 0.2733,
"delta": -0.0155,
"percent_delta": -0.0537,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7646,
"after": 1.7752,
"delta": 0.0106,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2184,
"after": 0.1953,
"delta": -0.0231,
"percent_delta": -0.1058,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.82), rates preserved: AVG=0.195 HR/AB=0.016",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0787,
"after": 0.0,
"delta": -0.0787,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0443,
"after": 0.0,
"delta": -0.0443,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.8198,
"after": 6.0,
"delta": 0.1802,
"percent_delta": 0.031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8603,
"after": 1.0,
"delta": 0.1397,
"percent_delta": 0.1624,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1368,
"after": 1.0,
"delta": -0.1368,
"percent_delta": -0.1203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0955,
"after": 0.0,
"delta": -0.0955,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4627,
"after": 0.0,
"delta": -0.4627,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7752,
"after": 2.0,
"delta": 0.2248,
"percent_delta": 0.1266,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.7752,
"after": 2.0,
"delta": 0.2248,
"percent_delta": 0.1266,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4627,
"after": 0.0,
"delta": -0.4627,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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.7761,
"after": 1.0,
"delta": 0.2239,
"percent_delta": 0.2885,
"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.7761,
"after": 1.0,
"delta": 0.2239,
"percent_delta": 0.2885,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 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.1953,
"after": 0.167,
"delta": -0.0283,
"percent_delta": -0.1449,
"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.299,
"after": 0.286,
"delta": -0.013,
"percent_delta": -0.0435,
"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.2733,
"after": 0.167,
"delta": -0.1063,
"percent_delta": -0.3889,
"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.2733,
"after": 0.167,
"delta": -0.1063,
"percent_delta": -0.3889,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"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": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1953,
"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.299,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2733,
"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.1953,
"delta": 0.0283,
"percent_delta": 0.1697,
"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.299,
"delta": 0.013,
"percent_delta": 0.0453,
"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.2733,
"delta": 0.1063,
"percent_delta": 0.6365,
"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.2733,
"delta": 0.1063,
"percent_delta": 0.6365,
"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.053,
"after": 0.0,
"delta": -0.053,
"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.23,
"after": 0.1953,
"delta": -0.0347,
"percent_delta": -0.1509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.497,
"after": 1.0,
"delta": 0.503,
"percent_delta": 1.0121,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 1.0,
"delta": 0.36,
"percent_delta": 0.5625,
"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.298,
"after": 0.299,
"delta": 0.001,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.464,
"after": 0.0,
"delta": -0.464,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.301,
"after": 0.2733,
"delta": -0.0277,
"percent_delta": -0.092,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.079,
"after": 0.0,
"delta": -1.079,
"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.497,
"after": 1.0,
"delta": 0.503,
"percent_delta": 1.0121,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.079,
"after": 0.0,
"delta": -1.079,
"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.053 | - |
| predicted_3B | 0.033 | - |
| predicted_AB | 3.483 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.497 | - |
| predicted_H | 0.640 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.464 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.301 | - |
| predicted_SO | 1.079 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.079 | 0.026 |
| predicted_3B | 0.044 | 0.011 |
| predicted_AB | 5.820 | 2.337 |
| predicted_AVG | 0.218 | -0.012 |
| predicted_BB | 0.866 | 0.369 |
| predicted_H | 1.145 | 0.505 |
| predicted_HBP | 0.027 | - |
| predicted_HR | 0.095 | 0.025 |
| predicted_OBP | 0.304 | 0.006 |
| predicted_R | 0.789 | 0.325 |
| predicted_RBI | 0.471 | 0.201 |
| predicted_SLG | 0.289 | -0.012 |
| predicted_SO | 1.765 | 0.686 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.079 | 0.000 |
| predicted_3B | 0.044 | 0.000 |
| predicted_AB | 5.820 | 0.000 |
| predicted_AVG | 0.195 | -0.023 |
| predicted_BB | 0.860 | -0.005 |
| predicted_H | 1.137 | -0.009 |
| predicted_HBP | 0.027 | 0.000 |
| predicted_HR | 0.096 | 0.000 |
| predicted_OBP | 0.299 | -0.005 |
| predicted_R | 0.776 | -0.013 |
| predicted_RBI | 0.463 | -0.008 |
| predicted_SLG | 0.273 | -0.016 |
| predicted_SO | 1.775 | 0.011 |
AB rounded to 6 (raw=5.82), rates preserved: AVG=0.195 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.079 |
| predicted_3B | 0.000 | -0.044 |
| predicted_AB | 6.000 | 0.180 |
| predicted_AVG | 0.167 | -0.028 |
| predicted_BB | 1.000 | 0.140 |
| predicted_H | 1.000 | -0.137 |
| predicted_HR | 0.000 | -0.096 |
| predicted_OBP | 0.286 | -0.013 |
| predicted_R | 1.000 | 0.224 |
| predicted_RBI | 0.000 | -0.463 |
| predicted_SLG | 0.167 | -0.106 |
| predicted_SO | 2.000 | 0.225 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -3.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 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 | 4 | - | 11.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 3.000 | 0.1818 | 0.3077 | 0.1818 | 0.1818 | 0.0000 | 0.0000 | 0.1818 | 0.2727 |
| last_10 | 0.20 | 6 | - | 25.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 5.000 | 8.000 | 0.0800 | 0.2333 | 0.0800 | 0.0800 | 0.0000 | 0.0000 | 0.2000 | 0.3200 |
| season | 0.60 | 46 | - | 526.000 | 117.000 | 8.000 | 5.000 | 10.000 | 59.000 | 70.000 | 75.000 | 163.000 | 0.2224 | 0.3217 | 0.3137 | 0.2224 | 0.0190 | 0.1122 | 0.1426 | 0.3099 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1120 |
| predicted_3B | 0.0590 |
| predicted_AB | 8.8410 |
| predicted_AVG | 0.2034 |
| predicted_BB | 1.3420 |
| predicted_H | 1.7990 |
| predicted_HBP | 0.0270 |
| predicted_HR | 0.1280 |
| predicted_OBP | 0.3108 |
| predicted_R | 1.2100 |
| predicted_RBI | 0.7300 |
| predicted_SLG | 0.2730 |
| predicted_SO | 2.6510 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0530 | 0.1120 | 0.0787 | model_form_blend |
| predicted_3B | 0.0330 | 0.0590 | 0.0443 | model_form_blend |
| predicted_AB | 3.4830 | 8.8410 | 5.8198 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2034 | 0.2184 | model_form_blend |
| predicted_BB | 0.4970 | 1.3420 | 0.8655 | model_form_blend |
| predicted_H | 0.6400 | 1.7990 | 1.1455 | model_form_blend |
| predicted_HBP | - | 0.0270 | 0.0270 | form_only |
| predicted_HR | 0.0700 | 0.1280 | 0.0953 | model_form_blend |
| predicted_OBP | 0.2980 | 0.3108 | 0.3036 | model_form_blend |
| predicted_R | 0.4640 | 1.2100 | 0.7894 | model_form_blend |
| predicted_RBI | 0.2700 | 0.7300 | 0.4706 | model_form_blend |
| predicted_SLG | 0.3010 | 0.2730 | 0.2888 | model_form_blend |
| predicted_SO | 1.0790 | 2.6510 | 1.7646 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 153 |
| Season rows before report date | 153 |
| 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.222 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-2B |
| gameID | 20260531_SF@COL |
| game_type | ph |
| mlbID | 666397 |
| note | Walked for Tovar in the 7th. |
| playerID | 666397 |
| playerName | Edouard Julien |
| pos | 2B |
| started | False |
| startingPosition | PH |
| team | COL |
| teamID | 9 |
| game_date | 2026-05-31 |
| sl_k_percent | 27.8 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.276 |
| sl_xwoba | 0.324 |
| sl_xba | 0.241 |
| sl_xslg | 0.397 |
| sl_sweet_spot_percent | 44.2 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 48.4 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 8.8 |
| sl_whiff_percent | 25.9 |
| sl_swing_percent | 42.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.138 | 0.000 | 0.000 | Hitting_2B | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.793 | 4.000 | 4.000 | Hitting_AB | 2.700 | 1.000 | 1.300 | 3.000 |
| predicted_AVG | 0.237 | 0.500 | 0.250 | Hitting_AVG | 0.160 | 0.000 | 0.340 | 0.500 |
| predicted_BB | 0.241 | 0.000 | 0.000 | Hitting_BB | 0.233 | 0.000 | -0.233 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.190 | 2.000 | 1.000 | Hitting_H | 0.433 | 0.000 | 1.567 | 2.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.273 | 0.500 | 0.250 | Hitting_OBP | 0.269 | 0.000 | 0.231 | 0.500 |
| predicted_R | 0.138 | 1.000 | 0.000 | Hitting_R | 0.133 | 0.000 | 0.867 | 1.000 |
| predicted_RBI | 0.130 | 1.000 | 0.000 | Hitting_RBI | 0.233 | 0.000 | 0.767 | 1.000 |
| predicted_SLG | 0.307 | 0.500 | 0.250 | Hitting_SLG | 0.210 | 0.000 | 0.290 | 0.500 |
| predicted_SO | 0.448 | 0.000 | 1.000 | Hitting_SO | 0.433 | 0.000 | -0.433 | 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.1900 -> 2.0000 (boost 1.8100, better) |
| Biggest Deboost | predicted_SO: 0.4480 -> 0.0000 (deboost -0.4480, 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 | 6 | 2 | 5 | 3 | predicted_AB: 2.7930 -> 3.9286 (boost 1.1356, better) | predicted_SLG: 0.3070 -> 0.2761 (deboost -0.0309, 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.2761 -> 0.1863 (deboost -0.0898, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.7033 -> 1.0000 (boost 0.2967, worse) | predicted_H: 0.4629 -> 0.0000 (deboost -0.4629, worse) | AB rounded to 4 (raw=3.93), rates preserved: AVG=0.118 HR/AB=0.008 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.2116 -> 0.0000 (deboost -0.2116, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1178 -> 0.2500 (boost 0.1322, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2500 -> 0.1178 (deboost -0.1322, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694514",
"player_name": "Sterlin Thompson",
"position": "DH",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.138,
"predicted_3B": 0.0,
"predicted_AB": 2.793,
"predicted_AVG": 0.237,
"predicted_BB": 0.241,
"predicted_H": 0.19,
"predicted_HR": 0.02,
"predicted_OBP": 0.273,
"predicted_R": 0.138,
"predicted_RBI": 0.13,
"predicted_SLG": 0.307,
"predicted_SO": 0.448
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1732,
"predicted_3B": 0.0019,
"predicted_AB": 3.9286,
"predicted_AVG": 0.2074,
"predicted_BB": 0.4042,
"predicted_H": 0.4664,
"predicted_HBP": 0.309,
"predicted_HR": 0.0306,
"predicted_OBP": 0.2761,
"predicted_R": 0.2152,
"predicted_RBI": 0.3087,
"predicted_SLG": 0.2761,
"predicted_SO": 0.6991
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.138,
"after": 0.1732,
"delta": 0.0352,
"percent_delta": 0.2551,
"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.793,
"after": 3.9286,
"delta": 1.1356,
"percent_delta": 0.4066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2074,
"delta": -0.0296,
"percent_delta": -0.1249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.241,
"after": 0.4042,
"delta": 0.1632,
"percent_delta": 0.6772,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.19,
"after": 0.4664,
"delta": 0.2764,
"percent_delta": 1.4547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0306,
"delta": 0.0106,
"percent_delta": 0.53,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.273,
"after": 0.2761,
"delta": 0.0031,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.138,
"after": 0.2152,
"delta": 0.0772,
"percent_delta": 0.5594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 0.3087,
"delta": 0.1787,
"percent_delta": 1.3746,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.307,
"after": 0.2761,
"delta": -0.0309,
"percent_delta": -0.1007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.448,
"after": 0.6991,
"delta": 0.2511,
"percent_delta": 0.5605,
"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.793,
"after": 3.9286,
"delta": 1.1356,
"percent_delta": 0.4066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.307,
"after": 0.2761,
"delta": -0.0309,
"percent_delta": -0.1007,
"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": 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.1732,
"predicted_3B": 0.0019,
"predicted_AB": 3.9286,
"predicted_AVG": 0.1178,
"predicted_BB": 0.4018,
"predicted_H": 0.4629,
"predicted_HBP": 0.309,
"predicted_HR": 0.0307,
"predicted_OBP": 0.1997,
"predicted_R": 0.2116,
"predicted_RBI": 0.3035,
"predicted_SLG": 0.1863,
"predicted_SO": 0.7033
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1732,
"after": 0.1732,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9286,
"after": 3.9286,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2074,
"after": 0.1178,
"delta": -0.0896,
"percent_delta": -0.432,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4042,
"after": 0.4018,
"delta": -0.0024,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4664,
"after": 0.4629,
"delta": -0.0035,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.309,
"after": 0.309,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0306,
"after": 0.0307,
"delta": 0.0001,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2761,
"after": 0.1997,
"delta": -0.0764,
"percent_delta": -0.2767,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2152,
"after": 0.2116,
"delta": -0.0036,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3087,
"after": 0.3035,
"delta": -0.0052,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2761,
"after": 0.1863,
"delta": -0.0898,
"percent_delta": -0.3252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6991,
"after": 0.7033,
"delta": 0.0042,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2761,
"after": 0.1863,
"delta": -0.0898,
"percent_delta": -0.3252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.93), rates preserved: AVG=0.118 HR/AB=0.008",
"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.1732,
"after": 0.0,
"delta": -0.1732,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0,
"delta": -0.0019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9286,
"after": 4.0,
"delta": 0.0714,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4018,
"after": 0.0,
"delta": -0.4018,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4629,
"after": 0.0,
"delta": -0.4629,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.309,
"after": 0.0,
"delta": -0.309,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0307,
"after": 0.0,
"delta": -0.0307,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3035,
"after": 0.0,
"delta": -0.3035,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7033,
"after": 1.0,
"delta": 0.2967,
"percent_delta": 0.4219,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7033,
"after": 1.0,
"delta": 0.2967,
"percent_delta": 0.4219,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4629,
"after": 0.0,
"delta": -0.4629,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2116,
"after": 0.0,
"delta": -0.2116,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2116,
"after": 0.0,
"delta": -0.2116,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1178,
"after": 0.25,
"delta": 0.1322,
"percent_delta": 1.1222,
"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.1997,
"after": 0.25,
"delta": 0.0503,
"percent_delta": 0.2519,
"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.1863,
"after": 0.25,
"delta": 0.0637,
"percent_delta": 0.3419,
"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.1178,
"after": 0.25,
"delta": 0.1322,
"percent_delta": 1.1222,
"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": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 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.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": 4.0,
"predicted_AVG": 0.1178,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1997,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.1863,
"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.1178,
"delta": -0.1322,
"percent_delta": -0.5287,
"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.25,
"after": 0.1997,
"delta": -0.0503,
"percent_delta": -0.2013,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.1863,
"delta": -0.0637,
"percent_delta": -0.2549,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1178,
"delta": -0.1322,
"percent_delta": -0.5287,
"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.138,
"after": 0.0,
"delta": -0.138,
"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.793,
"after": 4.0,
"delta": 1.207,
"percent_delta": 0.4322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.1178,
"delta": -0.1192,
"percent_delta": -0.503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.241,
"after": 0.0,
"delta": -0.241,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.19,
"after": 2.0,
"delta": 1.81,
"percent_delta": 9.5263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.273,
"after": 0.1997,
"delta": -0.0733,
"percent_delta": -0.2685,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.138,
"after": 1.0,
"delta": 0.862,
"percent_delta": 6.2464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 1.0,
"delta": 0.87,
"percent_delta": 6.6923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.307,
"after": 0.1863,
"delta": -0.1207,
"percent_delta": -0.3932,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.448,
"after": 0.0,
"delta": -0.448,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.19,
"after": 2.0,
"delta": 1.81,
"percent_delta": 9.5263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.448,
"after": 0.0,
"delta": -0.448,
"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.138 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.793 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.241 | - |
| predicted_H | 0.190 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.273 | - |
| predicted_R | 0.138 | - |
| predicted_RBI | 0.130 | - |
| predicted_SLG | 0.307 | - |
| predicted_SO | 0.448 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.173 | 0.035 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.929 | 1.136 |
| predicted_AVG | 0.207 | -0.030 |
| predicted_BB | 0.404 | 0.163 |
| predicted_H | 0.466 | 0.276 |
| predicted_HBP | 0.309 | - |
| predicted_HR | 0.031 | 0.011 |
| predicted_OBP | 0.276 | 0.003 |
| predicted_R | 0.215 | 0.077 |
| predicted_RBI | 0.309 | 0.179 |
| predicted_SLG | 0.276 | -0.031 |
| predicted_SO | 0.699 | 0.251 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.173 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.929 | 0.000 |
| predicted_AVG | 0.118 | -0.090 |
| predicted_BB | 0.402 | -0.002 |
| predicted_H | 0.463 | -0.004 |
| predicted_HBP | 0.309 | 0.000 |
| predicted_HR | 0.031 | 0.000 |
| predicted_OBP | 0.200 | -0.076 |
| predicted_R | 0.212 | -0.004 |
| predicted_RBI | 0.303 | -0.005 |
| predicted_SLG | 0.186 | -0.090 |
| predicted_SO | 0.703 | 0.004 |
AB rounded to 4 (raw=3.93), rates preserved: AVG=0.118 HR/AB=0.008
| 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 | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.173 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | 0.071 |
| predicted_AVG | 0.250 | 0.132 |
| predicted_BB | 0.000 | -0.402 |
| predicted_H | 1.000 | 0.537 |
| predicted_HR | 0.000 | -0.031 |
| predicted_OBP | 0.250 | 0.050 |
| predicted_R | 0.000 | -0.212 |
| predicted_RBI | 0.000 | -0.303 |
| predicted_SLG | 0.250 | 0.064 |
| predicted_SO | 1.000 | 0.297 |
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 | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 3 | - | 9.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 3.000 | 1.000 | 0.0000 | 0.3077 | 0.0000 | 0.0000 | 0.0000 | 0.1111 | 0.3333 | 0.1111 |
| last_10 | 0.20 | 5 | - | 22.000 | 2.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.000 | 3.000 | 10.000 | 0.0909 | 0.2308 | 0.0909 | 0.0909 | 0.0000 | 0.1364 | 0.1364 | 0.4546 |
| season | 0.60 | 11 | - | 81.000 | 13.000 | 4.000 | 0.000 | 0.000 | 7.000 | 4.000 | 7.000 | 13.000 | 0.1605 | 0.2688 | 0.2099 | 0.1605 | 0.0000 | 0.0864 | 0.0864 | 0.1605 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2310 |
| predicted_3B | 0.0050 |
| predicted_AB | 5.7920 |
| predicted_AVG | 0.1589 |
| predicted_BB | 0.6720 |
| predicted_H | 0.9200 |
| predicted_HBP | 0.3090 |
| predicted_HR | 0.0480 |
| predicted_OBP | 0.2812 |
| predicted_R | 0.3420 |
| predicted_RBI | 0.6020 |
| predicted_SLG | 0.2254 |
| predicted_SO | 1.1110 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1380 | 0.2310 | 0.1732 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0019 | model_form_blend |
| predicted_AB | 2.7930 | 5.7920 | 3.9286 | model_form_blend |
| predicted_AVG | 0.2370 | 0.1589 | 0.2074 | model_form_blend |
| predicted_BB | 0.2410 | 0.6720 | 0.4042 | model_form_blend |
| predicted_H | 0.1900 | 0.9200 | 0.4664 | model_form_blend |
| predicted_HBP | - | 0.3090 | 0.3090 | form_only |
| predicted_HR | 0.0200 | 0.0480 | 0.0306 | model_form_blend |
| predicted_OBP | 0.2730 | 0.2812 | 0.2761 | model_form_blend |
| predicted_R | 0.1380 | 0.3420 | 0.2152 | model_form_blend |
| predicted_RBI | 0.1300 | 0.6020 | 0.3087 | model_form_blend |
| predicted_SLG | 0.3070 | 0.2254 | 0.2761 | model_form_blend |
| predicted_SO | 0.4480 | 1.1110 | 0.6991 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 30 |
| Season rows before report date | 30 |
| Report year | 2026 |
| Profile rows used | 29 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 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 | LF |
| gameID | 20260531_SF@COL |
| game_type | short |
| mlbID | 694514 |
| playerID | 694514 |
| playerName | Sterlin Thompson |
| pos | OF |
| started | False |
| startingPosition | LF |
| team | COL |
| teamID | 9 |
| game_date | 2026-05-31 |
| sl_k_percent | 16.7 |
| sl_bb_percent | 6.7 |
| sl_woba | 0.228 |
| sl_xwoba | 0.252 |
| sl_xba | 0.177 |
| sl_xslg | 0.237 |
| sl_sweet_spot_percent | 14.3 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 38.1 |
| sl_exit_velocity_avg | 86.1 |
| sl_launch_angle_avg | 6.8 |
| sl_whiff_percent | 29.6 |
| 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_2B | 0.159 | 0.000 | 0.000 | Hitting_2B | 0.159 | 1.000 | -0.159 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.082 | 3.000 | 5.000 | Hitting_AB | 3.082 | 4.000 | -0.082 | -1.000 |
| predicted_AVG | 0.252 | 0.000 | 0.200 | Hitting_AVG | 0.225 | 0.500 | -0.225 | -0.500 |
| predicted_BB | 0.527 | 0.000 | 1.000 | Hitting_BB | 0.527 | 1.000 | -0.527 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.660 | 0.000 | 1.000 | Hitting_H | 0.692 | 2.000 | -0.692 | -2.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_OBP | 0.315 | 0.000 | 0.333 | Hitting_OBP | 0.334 | 0.600 | -0.334 | -0.600 |
| predicted_R | 0.434 | 0.000 | 1.000 | Hitting_R | 0.434 | 2.000 | -0.434 | -2.000 |
| predicted_RBI | 0.390 | 0.000 | 1.000 | Hitting_RBI | 0.291 | 0.000 | -0.291 | 0.000 |
| predicted_SLG | 0.420 | 0.000 | 0.200 | Hitting_SLG | 0.324 | 0.750 | -0.324 | -0.750 |
| predicted_SO | 0.846 | 0.000 | 1.000 | Hitting_SO | 0.846 | 2.000 | -0.846 | -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_OBP: 0.3150 -> 0.3340 (boost 0.0190, better) |
| Biggest Deboost | predicted_SO: 0.8460 -> 0.0000 (deboost -0.8460, 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.0820 -> 5.2181 (boost 2.1361, 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.3248 -> 0.3340 (boost 0.0092, better) | predicted_AVG: 0.2501 -> 0.2347 (deboost -0.0154, 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_RBI: 0.7619 -> 1.0000 (boost 0.2381, better) | predicted_SO: 1.4618 -> 1.0000 (deboost -0.4618, better) | AB rounded to 5 (raw=5.22), rates preserved: AVG=0.235 HR/AB=0.050 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8640 -> 1.0000 (boost 0.1360, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4387 -> 0.2000 (deboost -0.2387, 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 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2000 -> 0.4387 (boost 0.2387, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691720",
"player_name": "Kyle Karros",
"position": "3B",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.159,
"predicted_3B": 0.0,
"predicted_AB": 3.082,
"predicted_AVG": 0.252,
"predicted_BB": 0.527,
"predicted_H": 0.66,
"predicted_HR": 0.12,
"predicted_OBP": 0.315,
"predicted_R": 0.434,
"predicted_RBI": 0.39,
"predicted_SLG": 0.42,
"predicted_SO": 0.846
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2863,
"predicted_3B": 0.0004,
"predicted_AB": 5.2181,
"predicted_AVG": 0.2501,
"predicted_BB": 0.782,
"predicted_H": 1.2343,
"predicted_HBP": 0.003,
"predicted_HR": 0.2586,
"predicted_OBP": 0.3248,
"predicted_R": 0.8788,
"predicted_RBI": 0.7749,
"predicted_SLG": 0.4413,
"predicted_SO": 1.4531
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.159,
"after": 0.2863,
"delta": 0.1273,
"percent_delta": 0.8006,
"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.082,
"after": 5.2181,
"delta": 2.1361,
"percent_delta": 0.6931,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2501,
"delta": -0.0019,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.527,
"after": 0.782,
"delta": 0.255,
"percent_delta": 0.4839,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 1.2343,
"delta": 0.5743,
"percent_delta": 0.8702,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.2586,
"delta": 0.1386,
"percent_delta": 1.155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3248,
"delta": 0.0098,
"percent_delta": 0.0311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.434,
"after": 0.8788,
"delta": 0.4448,
"percent_delta": 1.0249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.7749,
"delta": 0.3849,
"percent_delta": 0.9869,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4413,
"delta": 0.0213,
"percent_delta": 0.0507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.846,
"after": 1.4531,
"delta": 0.6071,
"percent_delta": 0.7176,
"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.082,
"after": 5.2181,
"delta": 2.1361,
"percent_delta": 0.6931,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 6,
"season": 55
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2863,
"predicted_3B": 0.0004,
"predicted_AB": 5.2181,
"predicted_AVG": 0.2347,
"predicted_BB": 0.7773,
"predicted_H": 1.2249,
"predicted_HBP": 0.003,
"predicted_HR": 0.2591,
"predicted_OBP": 0.334,
"predicted_R": 0.864,
"predicted_RBI": 0.7619,
"predicted_SLG": 0.4387,
"predicted_SO": 1.4618
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2863,
"after": 0.2863,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.2181,
"after": 5.2181,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2501,
"after": 0.2347,
"delta": -0.0154,
"percent_delta": -0.0616,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.782,
"after": 0.7773,
"delta": -0.0047,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2343,
"after": 1.2249,
"delta": -0.0094,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2586,
"after": 0.2591,
"delta": 0.0005,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3248,
"after": 0.334,
"delta": 0.0092,
"percent_delta": 0.0283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8788,
"after": 0.864,
"delta": -0.0148,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7749,
"after": 0.7619,
"delta": -0.013,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4413,
"after": 0.4387,
"delta": -0.0026,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.4531,
"after": 1.4618,
"delta": 0.0087,
"percent_delta": 0.006,
"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.3248,
"after": 0.334,
"delta": 0.0092,
"percent_delta": 0.0283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2501,
"after": 0.2347,
"delta": -0.0154,
"percent_delta": -0.0616,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.22), rates preserved: AVG=0.235 HR/AB=0.050",
"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.2863,
"after": 0.0,
"delta": -0.2863,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.2181,
"after": 5.0,
"delta": -0.2181,
"percent_delta": -0.0418,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7773,
"after": 1.0,
"delta": 0.2227,
"percent_delta": 0.2865,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2249,
"after": 1.0,
"delta": -0.2249,
"percent_delta": -0.1836,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2591,
"after": 0.0,
"delta": -0.2591,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7619,
"after": 1.0,
"delta": 0.2381,
"percent_delta": 0.3125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4618,
"after": 1.0,
"delta": -0.4618,
"percent_delta": -0.3159,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.7619,
"after": 1.0,
"delta": 0.2381,
"percent_delta": 0.3125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.4618,
"after": 1.0,
"delta": -0.4618,
"percent_delta": -0.3159,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.864,
"after": 1.0,
"delta": 0.136,
"percent_delta": 0.1574,
"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.864,
"after": 1.0,
"delta": 0.136,
"percent_delta": 0.1574,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2347,
"after": 0.2,
"delta": -0.0347,
"percent_delta": -0.1478,
"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.334,
"after": 0.333,
"delta": -0.001,
"percent_delta": -0.003,
"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.4387,
"after": 0.2,
"delta": -0.2387,
"percent_delta": -0.5441,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4387,
"after": 0.2,
"delta": -0.2387,
"percent_delta": -0.5441,
"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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 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.2347,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.334,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4387,
"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.2,
"after": 0.2347,
"delta": 0.0347,
"percent_delta": 0.1737,
"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.334,
"delta": 0.001,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.4387,
"delta": 0.2387,
"percent_delta": 1.1935,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.4387,
"delta": 0.2387,
"percent_delta": 1.1935,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.159,
"after": 0.0,
"delta": -0.159,
"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.082,
"after": 3.0,
"delta": -0.082,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2347,
"delta": -0.0173,
"percent_delta": -0.0687,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.527,
"after": 0.0,
"delta": -0.527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 0.0,
"delta": -0.66,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.334,
"delta": 0.019,
"percent_delta": 0.0603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4387,
"delta": 0.0187,
"percent_delta": 0.0445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.846,
"after": 0.0,
"delta": -0.846,
"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_OBP",
"before": 0.315,
"after": 0.334,
"delta": 0.019,
"percent_delta": 0.0603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.846,
"after": 0.0,
"delta": -0.846,
"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.159 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.082 | - |
| predicted_AVG | 0.252 | - |
| predicted_BB | 0.527 | - |
| predicted_H | 0.660 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.315 | - |
| predicted_R | 0.434 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.420 | - |
| predicted_SO | 0.846 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.286 | 0.127 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 5.218 | 2.136 |
| predicted_AVG | 0.250 | -0.002 |
| predicted_BB | 0.782 | 0.255 |
| predicted_H | 1.234 | 0.574 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.259 | 0.139 |
| predicted_OBP | 0.325 | 0.010 |
| predicted_R | 0.879 | 0.445 |
| predicted_RBI | 0.775 | 0.385 |
| predicted_SLG | 0.441 | 0.021 |
| predicted_SO | 1.453 | 0.607 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.286 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 5.218 | 0.000 |
| predicted_AVG | 0.235 | -0.015 |
| predicted_BB | 0.777 | -0.005 |
| predicted_H | 1.225 | -0.009 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.259 | 0.001 |
| predicted_OBP | 0.334 | 0.009 |
| predicted_R | 0.864 | -0.015 |
| predicted_RBI | 0.762 | -0.013 |
| predicted_SLG | 0.439 | -0.003 |
| predicted_SO | 1.462 | 0.009 |
AB rounded to 5 (raw=5.22), rates preserved: AVG=0.235 HR/AB=0.050
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.286 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | -0.218 |
| predicted_AVG | 0.200 | -0.035 |
| predicted_BB | 1.000 | 0.223 |
| predicted_H | 1.000 | -0.225 |
| predicted_HR | 0.000 | -0.259 |
| predicted_OBP | 0.333 | -0.001 |
| predicted_R | 1.000 | 0.136 |
| predicted_RBI | 1.000 | 0.238 |
| predicted_SLG | 0.200 | -0.239 |
| predicted_SO | 1.000 | -0.462 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -2.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 4.000 | 1.000 | 0.000 | 2.000 | 4.000 | 4.000 | 1.000 | 4.000 | 0.3077 | 0.3571 | 0.8462 | 0.3077 | 0.1538 | 0.3077 | 0.0769 | 0.3077 |
| last_10 | 0.20 | 6 | - | 31.000 | 9.000 | 1.000 | 0.000 | 5.000 | 13.000 | 7.000 | 1.000 | 9.000 | 0.2903 | 0.3125 | 0.8065 | 0.2903 | 0.1613 | 0.4194 | 0.0323 | 0.2903 |
| season | 0.60 | 55 | - | 561.000 | 126.000 | 29.000 | 0.000 | 9.000 | 53.000 | 79.000 | 96.000 | 154.000 | 0.2246 | 0.3338 | 0.3244 | 0.2246 | 0.0160 | 0.0945 | 0.1711 | 0.2745 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4500 |
| predicted_3B | 0.0010 |
| predicted_AB | 7.9660 |
| predicted_AVG | 0.2476 |
| predicted_BB | 1.1100 |
| predicted_H | 1.9730 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.4370 |
| predicted_OBP | 0.3373 |
| predicted_R | 1.4510 |
| predicted_RBI | 1.2700 |
| predicted_SLG | 0.4688 |
| predicted_SO | 2.2340 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1590 | 0.4500 | 0.2863 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.0820 | 7.9660 | 5.2181 | model_form_blend |
| predicted_AVG | 0.2520 | 0.2476 | 0.2501 | model_form_blend |
| predicted_BB | 0.5270 | 1.1100 | 0.7820 | model_form_blend |
| predicted_H | 0.6600 | 1.9730 | 1.2343 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1200 | 0.4370 | 0.2586 | model_form_blend |
| predicted_OBP | 0.3150 | 0.3373 | 0.3248 | model_form_blend |
| predicted_R | 0.4340 | 1.4510 | 0.8788 | model_form_blend |
| predicted_RBI | 0.3900 | 1.2700 | 0.7749 | model_form_blend |
| predicted_SLG | 0.4200 | 0.4688 | 0.4413 | model_form_blend |
| predicted_SO | 0.8460 | 2.2340 | 1.4531 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 182 |
| Season rows before report date | 182 |
| Report year | 2026 |
| Profile rows used | 182 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.225 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_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 | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260531_SF@COL |
| game_type | full |
| mlbID | 691720 |
| playerID | 691720 |
| playerName | Kyle Karros |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | COL |
| teamID | 9 |
| game_date | 2026-05-31 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 13.0 |
| sl_woba | 0.285 |
| sl_xwoba | 0.323 |
| sl_xba | 0.248 |
| sl_xslg | 0.363 |
| sl_sweet_spot_percent | 42.7 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 40.2 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 10.9 |
| sl_whiff_percent | 23.8 |
| sl_swing_percent | 41.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.400 | 0.000 | -0.400 | 1.000 |
| predicted_ER | 5.000 | 5.000 | 5.000 | Pitching_ER | 3.800 | 8.000 | 1.200 | -3.000 |
| predicted_H | 7.000 | 7.000 | 7.000 | Pitching_H | 6.000 | 9.000 | 1.000 | -2.000 |
| predicted_IP | 4.000 | 4.000 | 4.000 | Pitching_InningsPitched | 4.070 | 4.000 | -0.070 | 0.000 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 3.900 | 4.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: 4.3333 -> 4.0000 (deboost -0.3333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 4.3333 -> 4.0000 (deboost -0.3333, 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": "607536",
"player_name": "Kyle Freeland",
"position": "Starter",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 5.0,
"predicted_H": 7.0,
"predicted_HR": 1.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_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 5.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 4.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": 5.0,
"after": 5.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": 4.3333,
"after": 4.0,
"delta": -0.3333,
"percent_delta": -0.0769,
"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": 4.3333,
"after": 4.0,
"delta": -0.3333,
"percent_delta": -0.0769,
"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": 5.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 4.0,
"predicted_R": 5.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": 5.0,
"after": 5.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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 4.3333,
"after": 4.0,
"delta": -0.3333,
"percent_delta": -0.0769,
"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": 4.3333,
"after": 4.0,
"delta": -0.3333,
"percent_delta": -0.0769,
"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 | 5.000 | - |
| predicted_H | 7.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 4.333 | - |
| predicted_SO | 5.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 5.000 | 0.000 |
| predicted_H | 7.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 4.000 | -0.333 |
| 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 | 30.000 | 42.000 | 9.000 | 22.000 | 10.000 | 12.4615 | 2.3538 | 1.3846 | 1.9385 | 0.4154 | 1.0154 | 0.4615 |
| last_10 | 0.35 | 9 | 42.100 | 38.000 | 60.000 | 14.000 | 39.000 | 12.000 | 8.0787 | 1.7480 | 0.8976 | 1.4173 | 0.3307 | 0.9213 | 0.2835 |
| season | 0.20 | 9 | 42.100 | 38.000 | 60.000 | 14.000 | 39.000 | 12.000 | 8.0787 | 1.7480 | 0.8976 | 1.4173 | 0.3307 | 0.9213 | 0.2835 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6680 |
| predicted_ER | 4.1520 |
| predicted_ERA | 8.4619 |
| predicted_H | 6.4340 |
| predicted_HR | 1.3270 |
| predicted_IP | 4.1000 |
| predicted_SO | 4.2630 |
| predicted_WHIP | 1.8348 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.6680 | 1.3334 | model_form_blend |
| predicted_ER | 5.0000 | 4.1520 | 4.5767 | model_form_blend |
| predicted_ERA | - | 8.4619 | 8.4619 | form_only |
| predicted_H | 7.0000 | 6.4340 | 6.7175 | model_form_blend |
| predicted_HR | 1.0000 | 1.3270 | 1.1632 | model_form_blend |
| predicted_IP | 4.1000 | 4.1000 | 4.1000 | model_form_blend |
| predicted_SO | 5.0000 | 4.2630 | 4.6321 | model_form_blend |
| predicted_WHIP | - | 1.8348 | 1.8348 | 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 | 9 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.0 |
| H | 7 |
| R | 5 |
| ER | 5 |
| BB | 1 |
| SO | 5 |
| HR | 1 |
| BF | 21 |
| Pitches | 85 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 22 |
| Pitching_ER | 8 |
| Pitching_ERA | 8.08 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 2 |
| Pitching_H | 9 |
| Pitching_HBP | 1 |
| Pitching_HR | 3 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.0 |
| Pitching_Pitches | 81 |
| Pitching_R | 8 |
| Pitching_SO | 4 |
| Pitching_Strikes | 56 |
| Pitching_Wild Pitch | 1 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260526_COL@LAD |
| game_type | full |
| mlbID | 607536 |
| playerID | 607536 |
| playerName | Kyle Freeland |
| pos | P |
| started | True |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-05-26 |
| game_pk | 823949.0 |
| sl_k_percent | 19.3 |
| sl_bb_percent | 6.9 |
| sl_woba | 0.424 |
| sl_xwoba | 0.395 |
| sl_sweet_spot_percent | 36.8 |
| sl_barrel_batted_rate | 9.1 |
| sl_hard_hit_percent | 43.1 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 50.8 |
| sv_pitch_count | 81.0 |
| sv_outs_recorded_est | 12.0 |
| sv_release_speed | 85.16913580246913 |
| sv_release_spin_rate | 2173.234567901234 |
| sv_effective_speed | 85.5962962962963 |
| sv_launch_speed | 83.70294117647059 |
| sv_launch_angle | 26.147058823529413 |
| sv_woba_value | 12.8 |
| sv_woba_denom | 22.0 |
| sv_delta_run_exp | 5.118 |
| sv_delta_home_win_exp | 0.369 |
| sl_avg_best_speed | 79.21594338 |
| sl_avg_hyper_speed | 95.353741844 |
| 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.562 | 1.000 | -0.562 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.312 | 1.000 | -0.312 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.188 | 2.000 | -0.188 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.844 | 1.000 | -0.744 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.625 | 0.000 | -1.625 | 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": "622608",
"player_name": "Antonio Senzatela",
"position": "Middle Reliever",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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 | 1.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 | 8.200 | 2.000 | 6.000 | 2.000 | 4.000 | 2.000 | 2.0769 | 0.9231 | 0.2308 | 0.6923 | 0.2308 | 0.4615 | 0.2308 |
| last_10 | 0.35 | 10 | 18.200 | 4.000 | 12.000 | 6.000 | 9.000 | 2.000 | 1.9286 | 0.9643 | 0.2143 | 0.6429 | 0.3214 | 0.4821 | 0.1071 |
| season | 0.20 | 16 | 33.000 | 5.000 | 19.000 | 9.000 | 26.000 | 2.000 | 1.3636 | 0.8485 | 0.1515 | 0.5758 | 0.2727 | 0.7879 | 0.0606 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5090 |
| predicted_ER | 0.5290 |
| predicted_ERA | 2.9270 |
| predicted_H | 1.2700 |
| predicted_HR | 0.2360 |
| predicted_IP | 1.2000 |
| predicted_SO | 1.1550 |
| predicted_WHIP | 1.0946 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5090 | 0.2375 | model_form_blend |
| predicted_ER | 0.0000 | 0.5290 | 0.2468 | model_form_blend |
| predicted_ERA | - | 2.9270 | 2.9270 | form_only |
| predicted_H | 1.0000 | 1.2700 | 1.1260 | model_form_blend |
| predicted_HR | 0.0000 | 0.2360 | 0.1101 | model_form_blend |
| predicted_IP | 1.1000 | 1.2000 | 1.1000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1550 | 0.5388 | model_form_blend |
| predicted_WHIP | - | 1.0946 | 1.0946 | 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.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 11 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 1 |
| Pitching_ERA | 1.36 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 26 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260527_COL@LAD |
| game_type | full |
| mlbID | 622608 |
| playerID | 622608 |
| playerName | Antonio Senzatela |
| pos | P |
| started | False |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-05-27 |
| game_pk | 823947.0 |
| sl_k_percent | 21.0 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.216 |
| sl_xwoba | 0.281 |
| sl_sweet_spot_percent | 33.0 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 37.5 |
| sl_whiff_percent | 25.6 |
| sl_swing_percent | 49.7 |
| sv_pitch_count | 26.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 94.75384615384615 |
| sv_release_spin_rate | 2290.4615384615386 |
| sv_effective_speed | 94.33846153846154 |
| sv_launch_speed | 93.2375 |
| sv_launch_angle | 7.875 |
| sv_woba_value | 3.6 |
| sv_woba_denom | 6.0 |
| sv_delta_run_exp | 1.151 |
| sv_delta_home_win_exp | 0.0139999999999999 |
| sl_avg_best_speed | 74.932232045 |
| sl_avg_hyper_speed | 93.637496092 |
| 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.214 | 1.000 | -0.214 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.357 | 0.000 | -0.357 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.857 | 1.000 | 0.143 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.661 | 1.000 | 0.439 | 0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.643 | 1.000 | 1.357 | 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": "657514",
"player_name": "Brennan Bernardino",
"position": "Middle Reliever",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 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 | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 2.000 | 3.000 | 1.000 | 4.000 | 0.000 | 3.6000 | 0.8000 | 0.4000 | 0.6000 | 0.2000 | 0.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 4.000 | 9.000 | 2.000 | 5.000 | 0.000 | 3.8571 | 1.1786 | 0.4286 | 0.9643 | 0.2143 | 0.5357 | 0.0000 |
| season | 0.20 | 28 | 24.100 | 10.000 | 24.000 | 6.000 | 18.000 | 1.000 | 3.6986 | 1.2329 | 0.4110 | 0.9863 | 0.2466 | 0.7397 | 0.0411 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2930 |
| predicted_ER | 0.4450 |
| predicted_ERA | 4.0045 |
| predicted_H | 0.8790 |
| predicted_HR | 0.0720 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8210 |
| predicted_WHIP | 1.1719 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2930 | 0.1273 | model_form_blend |
| predicted_ER | 0.0000 | 0.4450 | 0.1933 | model_form_blend |
| predicted_ERA | - | 4.0045 | 4.0045 | form_only |
| predicted_H | 1.0000 | 0.8790 | 0.9474 | model_form_blend |
| predicted_HR | 0.0000 | 0.0720 | 0.0313 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.8210 | 1.4877 | model_form_blend |
| predicted_WHIP | - | 1.1719 | 1.1719 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 28 |
| Season rows before report date | 28 |
| Report year | 2026 |
| Profile rows used | 28 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 5 |
| Pitches | 20 |
| 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 | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.70 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260531_SF@COL |
| game_type | full |
| mlbID | 657514 |
| playerID | 657514 |
| playerName | Brennan Bernardino |
| pos | P |
| started | False |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-05-31 |
| sl_k_percent | 17.3 |
| sl_bb_percent | 5.1 |
| sl_woba | 0.303 |
| sl_xwoba | 0.283 |
| sl_sweet_spot_percent | 28.8 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 23.3 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 50.6 |
| sl_avg_best_speed | 72.965675 |
| sl_avg_hyper_speed | 91.669310986 |
| 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.391 | 0.000 | -0.391 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.261 | 0.000 | -0.261 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.826 | 1.000 | -0.826 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.665 | 1.100 | 0.335 | -0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.000 | 2.000 | 0.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": "677955",
"player_name": "Jaden Hill",
"position": "Middle Reliever",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 0.000 | 4.000 | 0.000 | 7.000 | 0.000 | 0.0000 | 0.7059 | 0.0000 | 0.7059 | 0.0000 | 1.2353 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 2.000 | 7.000 | 1.000 | 11.000 | 0.000 | 1.9286 | 0.8571 | 0.2143 | 0.7500 | 0.1071 | 1.1786 | 0.0000 |
| season | 0.20 | 23 | 20.200 | 6.000 | 19.000 | 9.000 | 23.000 | 1.000 | 2.6129 | 1.3548 | 0.2903 | 0.9194 | 0.4355 | 1.1129 | 0.0484 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2590 |
| predicted_ER | 0.3220 |
| predicted_ERA | 2.8993 |
| predicted_H | 0.8670 |
| predicted_HR | 0.0780 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0530 |
| predicted_WHIP | 1.1254 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2590 | 0.1081 | model_form_blend |
| predicted_ER | 0.0000 | 0.3220 | 0.1344 | model_form_blend |
| predicted_ERA | - | 2.8993 | 2.8993 | form_only |
| predicted_H | 0.0000 | 0.8670 | 0.3618 | model_form_blend |
| predicted_HR | 0.0000 | 0.0780 | 0.0326 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0530 | 1.0221 | model_form_blend |
| predicted_WHIP | - | 1.1254 | 1.1254 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 23 |
| Season rows before report date | 23 |
| Report year | 2026 |
| Profile rows used | 23 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 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 | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.61 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 20 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260529_SF@COL |
| game_type | full |
| mlbID | 677955 |
| playerID | 677955 |
| playerName | Jaden Hill |
| pos | P |
| started | False |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-05-29 |
| sl_k_percent | 25.3 |
| sl_bb_percent | 9.9 |
| sl_woba | 0.285 |
| sl_xwoba | 0.288 |
| sl_sweet_spot_percent | 36.2 |
| sl_barrel_batted_rate | 1.7 |
| sl_hard_hit_percent | 37.9 |
| sl_whiff_percent | 29.8 |
| sl_swing_percent | 48.1 |
| sl_avg_best_speed | 79.942407586 |
| sl_avg_hyper_speed | 93.776073793 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.667 | 1.000 | -0.667 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.750 | 3.000 | -0.750 | -3.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.250 | 2.000 | -1.250 | -2.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 0.950 | 0.200 | -0.850 | -0.100 |
| 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": "675848",
"player_name": "Juan Mejia",
"position": "Middle Reliever",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 8.000 | 7.000 | 5.000 | 3.000 | 0.000 | 18.0000 | 3.0000 | 2.0000 | 1.7500 | 1.2500 | 0.7500 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 8.000 | 9.000 | 9.000 | 8.000 | 0.000 | 7.4483 | 1.8621 | 0.8276 | 0.9310 | 0.9310 | 0.8276 | 0.0000 |
| season | 0.20 | 24 | 27.000 | 18.000 | 30.000 | 16.000 | 30.000 | 2.000 | 6.0000 | 1.7037 | 0.6667 | 1.1111 | 0.5926 | 1.1111 | 0.0741 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4190 |
| predicted_ER | 0.5480 |
| predicted_ERA | 8.2184 |
| predicted_H | 0.6890 |
| predicted_HR | 0.0430 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.5360 |
| predicted_WHIP | 1.8468 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4190 | 0.1867 | model_form_blend |
| predicted_ER | 0.0000 | 0.5480 | 0.2441 | model_form_blend |
| predicted_ERA | - | 8.2184 | 8.2184 | form_only |
| predicted_H | 0.0000 | 0.6890 | 0.3069 | model_form_blend |
| predicted_HR | 0.0000 | 0.0430 | 0.0192 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.5360 | 0.7933 | model_form_blend |
| predicted_WHIP | - | 1.8468 | 1.8468 | 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 | 0 |
| SO | 1 |
| HR | 0 |
| BF | 1 |
| Pitches | 20 |
| 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 | 5 |
| Pitching_ER | 3 |
| Pitching_ERA | 6.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 21 |
| Pitching_R | 3 |
| Pitching_SO | 1 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260531_SF@COL |
| game_type | full |
| mlbID | 675848 |
| playerID | 675848 |
| playerName | Juan Mejia |
| pos | P |
| started | False |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-05-31 |
| sl_k_percent | 24.0 |
| sl_bb_percent | 12.4 |
| sl_woba | 0.332 |
| sl_xwoba | 0.31 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 4.0 |
| sl_hard_hit_percent | 38.7 |
| sl_whiff_percent | 29.8 |
| sl_swing_percent | 47.8 |
| sl_avg_best_speed | 80.211458108 |
| sl_avg_hyper_speed | 94.654763378 |
| Field | Value |
|---|---|
| Pitcher | José Soriano |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1670 |
| ESPN Rank | 8 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1997 |
| Avg Velo | 93.2621 |
| Avg Spin | 2084.2110 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 1 |
| Pre H | 5 |
| Pre BB | 1 |
| Pre SO | 3 |
| Season ERA | 2.6495 |
| Season WHIP | 1.1495 |
| Role Avg IP | 5.9440 |
| Recent Avg IP | 5.7330 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 67,
"wins": 28,
"losses": 39,
"win_pct": 0.4179,
"runs_scored": 289.0,
"runs_allowed": 339.0,
"run_differential": -50.0,
"run_differential_per_game": -0.7463,
"avg_runs_scored": 4.3134,
"avg_runs_allowed": 5.0597,
"offense_index": 0.9717,
"defense_index": 0.8773,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 3.9,
"run_differential": 17.0
},
"available": true,
"quality_score": -0.1273
},
"opponent": {
"team": "COL",
"games": 69,
"wins": 26,
"losses": 43,
"win_pct": 0.3768,
"runs_scored": 304.0,
"runs_allowed": 384.0,
"run_differential": -80.0,
"run_differential_per_game": -1.1594,
"avg_runs_scored": 4.4058,
"avg_runs_allowed": 5.5652,
"offense_index": 0.9925,
"defense_index": 0.7976,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 7.0,
"run_differential": -29.0
},
"available": true,
"quality_score": -0.3184
},
"edges": {
"quality_edge": 0.1911,
"offense_edge": -0.0283,
"opponent_offense_edge": -0.0075,
"defense_strength": -0.1227,
"opponent_defense_weakness": 0.2024,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0043,
"run_prevention": 1.0015,
"strikeout": 1.0063
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "667755",
"profile": {
"available": true,
"pitcher_id": "667755",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 262.0,
"k_percent": 27.0,
"bb_percent": 10.7,
"woba": 0.265,
"xwoba": 0.308,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 9.0,
"hard_hit_percent": 36.3,
"avg_best_speed": 77.9664,
"avg_hyper_speed": 93.5635,
"whiff_percent": 33.3,
"swing_percent": 46.3
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.2161,
"command_and_miss": 0.5879,
"regression_edge": -1.2286,
"xwoba_edge": 0.1143,
"barrel_edge": -0.4,
"hard_hit_edge": 0.3286,
"whiff_edge": 1.0714,
"bb_edge": -0.35,
"pitch_design_score": 0.1997
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "667755",
"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": 93.26205893580432,
"release_spin_rate": 2084.2110401352734,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 93.26205893580432,
"release_spin_rate": 2084.2110401352734,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2621,
"release_spin_rate": 2084.211,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1997,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.4268,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.167,
"sample_weight": 1.0,
"run_prevention_factor": 0.9858,
"strikeout_factor": 1.068,
"walk_factor": 1.028,
"homer_factor": 1.0154,
"woba_minus_xwoba": -0.043,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "667755",
"espn_id": 40973,
"player_name": "Jose Soriano",
"team": "LAA",
"role": "pitcher",
"espn_rank": 8,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 8,
"gp_value": 12.0,
"gp_rank": 227,
"gs_value": 12.0,
"gs_rank": 2,
"qs_value": 6.0,
"qs_rank": 22,
"era_value": 2.6495,
"era_rank": 11.0,
"w_value": 6.0,
"w_rank": 11,
"l_value": 4.0,
"l_rank": 34,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 71.1,
"ip_rank": 9,
"h_value": 51.0,
"h_rank": 80,
"er_value": 21.0,
"er_rank": 108,
"hr_value": 6.0,
"hr_rank": 86,
"bb_value": 31.0,
"bb_rank": 5,
"k_value": 78.0,
"k_rank": 9,
"k_per_9_value": 9.841122,
"k_per_9_rank": 27,
"whip_value": 1.1495,
"whip_rank": 35.0,
"war_value": 2.58,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9858,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 0.9858,
"adjusted": 5
},
"predicted_BB": {
"original": 3.0,
"factor": 1.028,
"adjusted": 3
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0154,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.068,
"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": 59.1,
"ER": 21,
"H": 47,
"BB": 25,
"SO": 67,
"HR": 6,
"ERA": 3.185393258426966,
"WHIP": 1.2134831460674156,
"K9": 10.162921348314606,
"HR9": 0.9101123595505618,
"games_pitched": 10,
"quality_starts": 4,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-27T00:00:00"
}{
"available": true,
"pitcher_id": "667755",
"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": 93.26205893580432,
"release_spin_rate": 2084.2110401352734,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 93.26205893580432,
"release_spin_rate": 2084.2110401352734,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2621,
"release_spin_rate": 2084.211,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1997,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.4268,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7059,
"prior_weight": 0.2941
},
"role": "pitcher",
"player_id": "667755",
"report_date": "20260601_C",
"season_year": 2026,
"rows_used": 12,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.2,
"ER": 17.0,
"R": 17.0,
"H": 27.0,
"BB": 15.0,
"SO": 29.0,
"HR": 3.0,
"BF": 126.0,
"Pitches": 491.0
},
"per_game": {
"IP": 5.2,
"ER": 3.4,
"R": 3.4,
"H": 5.4,
"BB": 3.0,
"SO": 5.8,
"HR": 0.6,
"BF": 25.2,
"Pitches": 98.2
},
"rates": {
"ERA": 5.3372,
"WHIP": 1.4651,
"ER_per_IP": 0.59302,
"H_per_IP": 0.94186,
"BB_per_IP": 0.52326,
"SO_per_IP": 1.01163,
"HR_per_IP": 0.10465
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 59.1,
"ER": 21.0,
"R": 21.0,
"H": 47.0,
"BB": 25.0,
"SO": 67.0,
"HR": 6.0,
"BF": 244.0,
"Pitches": 974.0
},
"per_game": {
"IP": 6.0,
"ER": 2.1,
"R": 2.1,
"H": 4.7,
"BB": 2.5,
"SO": 6.7,
"HR": 0.6,
"BF": 24.4,
"Pitches": 97.4
},
"rates": {
"ERA": 3.1854,
"WHIP": 1.2135,
"ER_per_IP": 0.35393,
"H_per_IP": 0.79213,
"BB_per_IP": 0.42135,
"SO_per_IP": 1.12921,
"HR_per_IP": 0.10112
}
},
"season": {
"games": 12,
"totals": {
"IP": 71.1,
"ER": 21.0,
"R": 21.0,
"H": 51.0,
"BB": 31.0,
"SO": 78.0,
"HR": 6.0,
"BF": 289.0,
"Pitches": 1155.0
},
"per_game": {
"IP": 6.0,
"ER": 1.75,
"R": 1.75,
"H": 4.25,
"BB": 2.5833,
"SO": 6.5,
"HR": 0.5,
"BF": 24.0833,
"Pitches": 96.25
},
"rates": {
"ERA": 2.6495,
"WHIP": 1.1495,
"ER_per_IP": 0.29439,
"H_per_IP": 0.71495,
"BB_per_IP": 0.43458,
"SO_per_IP": 1.09346,
"HR_per_IP": 0.08411
}
}
},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 2.697,
"predicted_H": 5.159,
"predicted_BB": 2.594,
"predicted_SO": 6.079,
"predicted_HR": 0.645,
"predicted_ERA": 4.1174,
"predicted_WHIP": 1.3153
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4743,
"form_weight": 0.5257,
"form_reliability": 0.7059,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7059,
"prior_weight": 0.2941
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 2.697,
"final": 1.8922,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 5.159,
"final": 5.0836,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 2.594,
"final": 1.838,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 6.079,
"final": 4.1445,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.645,
"final": 0.3391,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.1174,
"final": 4.1174,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3153,
"final": 1.3153,
"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.3680 |
| ESPN Rank | 57 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1461 |
| Avg Velo | 92.3048 |
| Avg Spin | 2470.9152 |
| 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 | 2.2235 |
| Season WHIP | 1.0941 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 67,
"wins": 28,
"losses": 39,
"win_pct": 0.4179,
"runs_scored": 289.0,
"runs_allowed": 339.0,
"run_differential": -50.0,
"run_differential_per_game": -0.7463,
"avg_runs_scored": 4.3134,
"avg_runs_allowed": 5.0597,
"offense_index": 0.9717,
"defense_index": 0.8773,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 3.9,
"run_differential": 17.0
},
"available": true,
"quality_score": -0.1273
},
"opponent": {
"team": "COL",
"games": 69,
"wins": 26,
"losses": 43,
"win_pct": 0.3768,
"runs_scored": 304.0,
"runs_allowed": 384.0,
"run_differential": -80.0,
"run_differential_per_game": -1.1594,
"avg_runs_scored": 4.4058,
"avg_runs_allowed": 5.5652,
"offense_index": 0.9925,
"defense_index": 0.7976,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 7.0,
"run_differential": -29.0
},
"available": true,
"quality_score": -0.3184
},
"edges": {
"quality_edge": 0.1911,
"offense_edge": -0.0283,
"opponent_offense_edge": -0.0075,
"defense_strength": -0.1227,
"opponent_defense_weakness": 0.2024,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0043,
"run_prevention": 1.0015,
"strikeout": 1.0063
},
"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": 98.0,
"k_percent": 25.4,
"bb_percent": 12.3,
"woba": 0.26,
"xwoba": 0.259,
"sweet_spot_percent": 27.1,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 30.0,
"avg_best_speed": 75.1731,
"avg_hyper_speed": 92.6443,
"whiff_percent": 34.9,
"swing_percent": 43.2
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.2092,
"command_and_miss": 0.485,
"regression_edge": 0.0286,
"xwoba_edge": 1.5143,
"barrel_edge": 0.6222,
"hard_hit_edge": 1.2286,
"whiff_edge": 1.3,
"bb_edge": -0.75,
"pitch_design_score": 0.1461
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "696147",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 20,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 92.3047653543398,
"release_spin_rate": 2470.9151531639345,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 92.3047653543398,
"release_spin_rate": 2470.9151531639345,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3048,
"release_spin_rate": 2470.9152,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1461,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0438,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.368,
"sample_weight": 0.45,
"run_prevention_factor": 0.9687,
"strikeout_factor": 1.0306,
"walk_factor": 1.027,
"homer_factor": 0.935,
"woba_minus_xwoba": 0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696147",
"espn_id": 4621489,
"player_name": "Sam Bachman",
"team": "LAA",
"role": "pitcher",
"espn_rank": 57,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 57,
"gp_value": 21.0,
"gp_rank": 119,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.2235,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 0.0,
"l_rank": 390,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 10.0,
"hld_rank": 10,
"ip_value": 28.1,
"ip_rank": 185,
"h_value": 17.0,
"h_rank": 311,
"er_value": 7.0,
"er_rank": 350,
"hr_value": 2.0,
"hr_rank": 258,
"bb_value": 14.0,
"bb_rank": 156,
"k_value": 29.0,
"k_rank": 188,
"k_per_9_value": 9.211765,
"k_per_9_rank": 27,
"whip_value": 1.0941,
"whip_rank": null,
"war_value": 1.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9859,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9859,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0121,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9708,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0138,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 13.0,
"ER": 1,
"H": 7,
"BB": 4,
"SO": 14,
"HR": 1,
"ERA": 0.6923076923076923,
"WHIP": 0.8461538461538461,
"K9": 9.692307692307692,
"HR9": 0.6923076923076923,
"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-30T00:00:00"
}{
"available": true,
"pitcher_id": "696147",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 20,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 92.3047653543398,
"release_spin_rate": 2470.9151531639345,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 92.3047653543398,
"release_spin_rate": 2470.9151531639345,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3048,
"release_spin_rate": 2470.9152,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1461,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0438,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.592,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5279,
"prior_weight": 0.4721
},
"role": "pitcher",
"player_id": "696147",
"report_date": "20260601_C",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 0.0,
"R": 0.0,
"H": 5.0,
"BB": 4.0,
"SO": 5.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 95.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.8,
"SO": 1.0,
"HR": 0.0,
"BF": 5.4,
"Pitches": 19.0
},
"rates": {
"ERA": 0.0,
"WHIP": 1.5,
"ER_per_IP": 0.0,
"H_per_IP": 0.83333,
"BB_per_IP": 0.66667,
"SO_per_IP": 0.83333,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 13.0,
"ER": 1.0,
"R": 1.0,
"H": 7.0,
"BB": 4.0,
"SO": 14.0,
"HR": 1.0,
"BF": 51.0,
"Pitches": 182.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1,
"R": 0.1,
"H": 0.7,
"BB": 0.4,
"SO": 1.4,
"HR": 0.1,
"BF": 5.1,
"Pitches": 18.2
},
"rates": {
"ERA": 0.6923,
"WHIP": 0.8462,
"ER_per_IP": 0.07692,
"H_per_IP": 0.53846,
"BB_per_IP": 0.30769,
"SO_per_IP": 1.07692,
"HR_per_IP": 0.07692
}
},
"season": {
"games": 21,
"totals": {
"IP": 28.1,
"ER": 7.0,
"R": 7.0,
"H": 17.0,
"BB": 14.0,
"SO": 29.0,
"HR": 2.0,
"BF": 114.0,
"Pitches": 431.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3333,
"R": 0.3333,
"H": 0.8095,
"BB": 0.6667,
"SO": 1.381,
"HR": 0.0952,
"BF": 5.4286,
"Pitches": 20.5238
},
"rates": {
"ERA": 2.2235,
"WHIP": 1.0941,
"ER_per_IP": 0.24706,
"H_per_IP": 0.6,
"BB_per_IP": 0.49412,
"SO_per_IP": 1.02353,
"HR_per_IP": 0.07059
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.354,
"predicted_H": 1.079,
"predicted_BB": 0.588,
"predicted_SO": 1.265,
"predicted_HR": 0.113,
"predicted_ERA": 2.3869,
"predicted_WHIP": 1.2507
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5495,
"form_weight": 0.4505,
"form_reliability": 0.5279,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.592,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5279,
"prior_weight": 0.4721
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.354,
"final": 0.1595,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.079,
"final": 0.4861,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.588,
"final": 0.2649,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.265,
"final": 1.1194,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.113,
"final": 0.0509,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.3869,
"final": 2.3869,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2507,
"final": 1.2507,
"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.0486 |
| ESPN Rank | 289 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1244 |
| Avg Velo | 87.4746 |
| Avg Spin | 1913.2631 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 2 |
| 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": 67,
"wins": 28,
"losses": 39,
"win_pct": 0.4179,
"runs_scored": 289.0,
"runs_allowed": 339.0,
"run_differential": -50.0,
"run_differential_per_game": -0.7463,
"avg_runs_scored": 4.3134,
"avg_runs_allowed": 5.0597,
"offense_index": 0.9717,
"defense_index": 0.8773,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 3.9,
"run_differential": 17.0
},
"available": true,
"quality_score": -0.1273
},
"opponent": {
"team": "COL",
"games": 69,
"wins": 26,
"losses": 43,
"win_pct": 0.3768,
"runs_scored": 304.0,
"runs_allowed": 384.0,
"run_differential": -80.0,
"run_differential_per_game": -1.1594,
"avg_runs_scored": 4.4058,
"avg_runs_allowed": 5.5652,
"offense_index": 0.9925,
"defense_index": 0.7976,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 7.0,
"run_differential": -29.0
},
"available": true,
"quality_score": -0.3184
},
"edges": {
"quality_edge": 0.1911,
"offense_edge": -0.0283,
"opponent_offense_edge": -0.0075,
"defense_strength": -0.1227,
"opponent_defense_weakness": 0.2024,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0043,
"run_prevention": 1.0015,
"strikeout": 1.0063
},
"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": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.26,
"command_and_miss": 0.4793,
"regression_edge": -0.7714,
"xwoba_edge": 0.3714,
"barrel_edge": -1.0222,
"hard_hit_edge": -2.0429,
"whiff_edge": 0.2286,
"bb_edge": -0.8,
"pitch_design_score": -0.1244
},
"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.1244,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.8882,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 1.0041,
"strikeout_factor": 1.0265,
"walk_factor": 1.0288,
"homer_factor": 1.0686,
"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": 289,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 289,
"gp_value": 8.0,
"gp_rank": 389,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 3.6818,
"era_rank": null,
"w_value": 0.0,
"w_rank": 368,
"l_value": 0.0,
"l_rank": 390,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 7.1,
"ip_rank": 485,
"h_value": 4.0,
"h_rank": 552,
"er_value": 3.0,
"er_rank": 505,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 4.0,
"bb_rank": 456,
"k_value": 10.0,
"k_rank": 429,
"k_per_9_value": 12.272727,
"k_per_9_rank": 23,
"whip_value": 1.0909,
"whip_rank": null,
"war_value": 0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0018,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0018,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.013,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0309,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0119,
"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.1244,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.8882,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.447,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2245,
"prior_weight": 0.7755
},
"role": "pitcher",
"player_id": "489446",
"report_date": "20260601_C",
"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.431,
"predicted_H": 0.809,
"predicted_BB": 0.423,
"predicted_SO": 1.024,
"predicted_HR": 0.146,
"predicted_ERA": 3.8833,
"predicted_WHIP": 1.2317
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6776,
"form_weight": 0.3224,
"form_reliability": 0.2245,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.447,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2245,
"prior_weight": 0.7755
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.431,
"final": 0.8166,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.809,
"final": 1.6161,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.423,
"final": 0.1364,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.024,
"final": 0.3301,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.146,
"final": 0.0471,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8833,
"final": 3.8833,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2317,
"final": 1.2317,
"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.0619 |
| ESPN Rank | 603 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0715 |
| Avg Velo | 90.9722 |
| Avg Spin | 2410.8864 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 5.9610 |
| Season WHIP | 1.4026 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 67,
"wins": 28,
"losses": 39,
"win_pct": 0.4179,
"runs_scored": 289.0,
"runs_allowed": 339.0,
"run_differential": -50.0,
"run_differential_per_game": -0.7463,
"avg_runs_scored": 4.3134,
"avg_runs_allowed": 5.0597,
"offense_index": 0.9717,
"defense_index": 0.8773,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 3.9,
"run_differential": 17.0
},
"available": true,
"quality_score": -0.1273
},
"opponent": {
"team": "COL",
"games": 69,
"wins": 26,
"losses": 43,
"win_pct": 0.3768,
"runs_scored": 304.0,
"runs_allowed": 384.0,
"run_differential": -80.0,
"run_differential_per_game": -1.1594,
"avg_runs_scored": 4.4058,
"avg_runs_allowed": 5.5652,
"offense_index": 0.9925,
"defense_index": 0.7976,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 7.0,
"run_differential": -29.0
},
"available": true,
"quality_score": -0.3184
},
"edges": {
"quality_edge": 0.1911,
"offense_edge": -0.0283,
"opponent_offense_edge": -0.0075,
"defense_strength": -0.1227,
"opponent_defense_weakness": 0.2024,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0043,
"run_prevention": 1.0015,
"strikeout": 1.0063
},
"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": 107.0,
"k_percent": 26.3,
"bb_percent": 14.4,
"woba": 0.321,
"xwoba": 0.306,
"sweet_spot_percent": 27.0,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 38.1,
"avg_best_speed": 79.618,
"avg_hyper_speed": 93.5656,
"whiff_percent": 29.6,
"swing_percent": 40.1
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.0788,
"command_and_miss": 0.1729,
"regression_edge": 0.4286,
"xwoba_edge": 0.1714,
"barrel_edge": 0.1556,
"hard_hit_edge": 0.0714,
"whiff_edge": 0.5429,
"bb_edge": -1.275,
"pitch_design_score": 0.0715
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "666171",
"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": 90.97215836070389,
"release_spin_rate": 2410.886416772993,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 90.97215836070389,
"release_spin_rate": 2410.886416772993,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9722,
"release_spin_rate": 2410.8864,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0715,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5108,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0619,
"sample_weight": 0.45,
"run_prevention_factor": 0.9947,
"strikeout_factor": 1.0193,
"walk_factor": 1.0459,
"homer_factor": 0.9908,
"woba_minus_xwoba": 0.015,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666171",
"espn_id": 4722057,
"player_name": "Ryan Zeferjahn",
"team": "LAA",
"role": "pitcher",
"espn_rank": 603,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 603,
"gp_value": 21.0,
"gp_rank": 119,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 5.961,
"era_rank": null,
"w_value": 2.0,
"w_rank": 141,
"l_value": 3.0,
"l_rank": 75,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 4.0,
"hld_rank": 94,
"ip_value": 25.2,
"ip_rank": 224,
"h_value": 18.0,
"h_rank": 296,
"er_value": 17.0,
"er_rank": 137,
"hr_value": 3.0,
"hr_rank": 198,
"bb_value": 18.0,
"bb_rank": 92,
"k_value": 31.0,
"k_rank": 167,
"k_per_9_value": 10.87013,
"k_per_9_rank": 20,
"whip_value": 1.4025,
"whip_rank": null,
"war_value": -0.49,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9976,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9976,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0207,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9959,
"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": 9.1,
"ER": 7,
"H": 7,
"BB": 10,
"SO": 10,
"HR": 3,
"ERA": 6.750000000000001,
"WHIP": 1.8214285714285716,
"K9": 9.642857142857144,
"HR9": 2.8928571428571432,
"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-29T00:00:00"
}{
"available": true,
"pitcher_id": "666171",
"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": 90.97215836070389,
"release_spin_rate": 2410.886416772993,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 90.97215836070389,
"release_spin_rate": 2410.886416772993,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9722,
"release_spin_rate": 2410.8864,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0715,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5108,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.065,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5032,
"prior_weight": 0.4968
},
"role": "pitcher",
"player_id": "666171",
"report_date": "20260601_C",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 6.0,
"R": 7.0,
"H": 4.0,
"BB": 5.0,
"SO": 2.0,
"HR": 3.0,
"BF": 23.0,
"Pitches": 86.0
},
"per_game": {
"IP": 0.2,
"ER": 1.2,
"R": 1.4,
"H": 0.8,
"BB": 1.0,
"SO": 0.4,
"HR": 0.6,
"BF": 4.6,
"Pitches": 17.2
},
"rates": {
"ERA": 14.7273,
"WHIP": 2.4545,
"ER_per_IP": 1.63636,
"H_per_IP": 1.09091,
"BB_per_IP": 1.36364,
"SO_per_IP": 0.54545,
"HR_per_IP": 0.81818
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 7.0,
"R": 8.0,
"H": 7.0,
"BB": 10.0,
"SO": 10.0,
"HR": 3.0,
"BF": 49.0,
"Pitches": 200.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.8,
"H": 0.7,
"BB": 1.0,
"SO": 1.0,
"HR": 0.3,
"BF": 4.9,
"Pitches": 20.0
},
"rates": {
"ERA": 6.75,
"WHIP": 1.8214,
"ER_per_IP": 0.75,
"H_per_IP": 0.75,
"BB_per_IP": 1.07143,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.32143
}
},
"season": {
"games": 21,
"totals": {
"IP": 25.2,
"ER": 17.0,
"R": 19.0,
"H": 18.0,
"BB": 18.0,
"SO": 31.0,
"HR": 3.0,
"BF": 119.0,
"Pitches": 496.0
},
"per_game": {
"IP": 1.1,
"ER": 0.8095,
"R": 0.9048,
"H": 0.8571,
"BB": 0.8571,
"SO": 1.4762,
"HR": 0.1429,
"BF": 5.6667,
"Pitches": 23.619
},
"rates": {
"ERA": 5.961,
"WHIP": 1.4026,
"ER_per_IP": 0.66234,
"H_per_IP": 0.7013,
"BB_per_IP": 0.7013,
"SO_per_IP": 1.20779,
"HR_per_IP": 0.11688
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.639,
"predicted_H": 0.73,
"predicted_BB": 0.595,
"predicted_SO": 0.714,
"predicted_HR": 0.254,
"predicted_ERA": 7.2537,
"predicted_WHIP": 1.6728
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5599,
"form_weight": 0.4401,
"form_reliability": 0.5032,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.065,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5032,
"prior_weight": 0.4968
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.639,
"final": 0.2812,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.73,
"final": 0.3213,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.595,
"final": 0.2619,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.714,
"final": 0.3142,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.254,
"final": 0.1118,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 7.2537,
"final": 7.2537,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.6728,
"final": 1.6728,
"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.176 | 0.000 | 0.000 | Hitting_2B | 0.176 | 0.000 | -0.176 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.930 | 4.000 | 8.000 | Hitting_AB | 3.775 | 4.000 | 0.225 | 0.000 |
| predicted_AVG | 0.220 | 0.000 | 0.250 | Hitting_AVG | 0.218 | 0.250 | -0.218 | -0.250 |
| 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.860 | 0.000 | 2.000 | Hitting_H | 0.824 | 1.000 | -0.824 | -1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.162 | 0.000 | -0.162 | 0.000 |
| predicted_OBP | 0.285 | 0.000 | 0.333 | Hitting_OBP | 0.304 | 0.250 | -0.304 | -0.250 |
| predicted_R | 0.505 | 0.000 | 1.000 | Hitting_R | 0.505 | 0.000 | -0.505 | 0.000 |
| predicted_RBI | 0.460 | 0.000 | 1.000 | Hitting_RBI | 0.608 | 0.000 | -0.608 | 0.000 |
| predicted_SLG | 0.358 | 0.000 | 0.250 | Hitting_SLG | 0.394 | 0.250 | -0.394 | -0.250 |
| predicted_SO | 1.347 | 1.000 | 3.000 | Hitting_SO | 1.347 | 1.000 | -0.347 | 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_AB: 3.9300 -> 4.0000 (boost 0.0700, better) |
| Biggest Deboost | predicted_H: 0.8600 -> 0.0000 (deboost -0.8600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 8 | 8 | 0 | 7 | 1 | predicted_AB: 3.9300 -> 8.0692 (boost 4.1392, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 5 | 0 | 5 | 0 | predicted_RBI: 1.1693 -> 1.2278 (boost 0.0585, 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_H: 1.8068 -> 2.0000 (boost 0.1932, better) | predicted_2B: 0.3163 -> 0.0000 (deboost -0.3163, worse) | AB rounded to 8 (raw=8.07), rates preserved: AVG=0.224 HR/AB=0.035 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.312) |
| 6 | consistency_constraints | 0 | 0 | 0 | 0 | 0 | - | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2948 -> 0.3330 (boost 0.0382, better) | predicted_SLG: 0.3670 -> 0.2500 (deboost -0.1170, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 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.3670 (boost 0.1170, better) | predicted_OBP: 0.3330 -> 0.2948 (deboost -0.0382, 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.176,
"predicted_3B": 0.0,
"predicted_AB": 3.93,
"predicted_AVG": 0.22,
"predicted_BB": 0.423,
"predicted_H": 0.86,
"predicted_HR": 0.13,
"predicted_OBP": 0.285,
"predicted_R": 0.505,
"predicted_RBI": 0.46,
"predicted_SLG": 0.358,
"predicted_SO": 1.347
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3163,
"predicted_3B": 0.0009,
"predicted_AB": 8.0692,
"predicted_AVG": 0.2186,
"predicted_BB": 0.8068,
"predicted_H": 1.7542,
"predicted_HBP": 0.186,
"predicted_HR": 0.2716,
"predicted_OBP": 0.2877,
"predicted_R": 0.958,
"predicted_RBI": 1.1693,
"predicted_SLG": 0.3571,
"predicted_SO": 3.0555
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.3163,
"delta": 0.1403,
"percent_delta": 0.7972,
"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.0692,
"delta": 4.1392,
"percent_delta": 1.0532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2186,
"delta": -0.0014,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.423,
"after": 0.8068,
"delta": 0.3838,
"percent_delta": 0.9073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 1.7542,
"delta": 0.8942,
"percent_delta": 1.0398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.2716,
"delta": 0.1416,
"percent_delta": 1.0892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2877,
"delta": 0.0027,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.505,
"after": 0.958,
"delta": 0.453,
"percent_delta": 0.897,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 1.1693,
"delta": 0.7093,
"percent_delta": 1.542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.3571,
"delta": -0.0009,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.347,
"after": 3.0555,
"delta": 1.7085,
"percent_delta": 1.2684,
"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.0692,
"delta": 4.1392,
"percent_delta": 1.0532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 3,
"last_10": 4,
"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.3163,
"predicted_3B": 0.0009,
"predicted_AB": 8.0692,
"predicted_AVG": 0.2239,
"predicted_BB": 0.8105,
"predicted_H": 1.8068,
"predicted_HBP": 0.186,
"predicted_HR": 0.2788,
"predicted_OBP": 0.2948,
"predicted_R": 1.0059,
"predicted_RBI": 1.2278,
"predicted_SLG": 0.367,
"predicted_SO": 3.0414
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3163,
"after": 0.3163,
"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.0692,
"after": 8.0692,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2186,
"after": 0.2239,
"delta": 0.0053,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8068,
"after": 0.8105,
"delta": 0.0037,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7542,
"after": 1.8068,
"delta": 0.0526,
"percent_delta": 0.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.186,
"after": 0.186,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2716,
"after": 0.2788,
"delta": 0.0072,
"percent_delta": 0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2877,
"after": 0.2948,
"delta": 0.0071,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.958,
"after": 1.0059,
"delta": 0.0479,
"percent_delta": 0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.1693,
"after": 1.2278,
"delta": 0.0585,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3571,
"after": 0.367,
"delta": 0.0099,
"percent_delta": 0.0277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0555,
"after": 3.0414,
"delta": -0.0141,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.1693,
"after": 1.2278,
"delta": 0.0585,
"percent_delta": 0.05,
"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.07), rates preserved: AVG=0.224 HR/AB=0.035",
"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.3163,
"after": 0.0,
"delta": -0.3163,
"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.0692,
"after": 8.0,
"delta": -0.0692,
"percent_delta": -0.0086,
"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.8068,
"after": 2.0,
"delta": 0.1932,
"percent_delta": 0.1069,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.186,
"after": 0.0,
"delta": -0.186,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2788,
"after": 0.0,
"delta": -0.2788,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2278,
"after": 1.0,
"delta": -0.2278,
"percent_delta": -0.1855,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0414,
"after": 3.0,
"delta": -0.0414,
"percent_delta": -0.0136,
"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.8068,
"after": 2.0,
"delta": 0.1932,
"percent_delta": 0.1069,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3163,
"after": 0.0,
"delta": -0.3163,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.312)",
"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": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.8609,
"bvp": 0.1391
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.0059,
"after": 1.0,
"delta": -0.0059,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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": 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.2239,
"after": 0.25,
"delta": 0.0261,
"percent_delta": 0.1166,
"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.2948,
"after": 0.333,
"delta": 0.0382,
"percent_delta": 0.1296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.25,
"delta": -0.117,
"percent_delta": -0.3188,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 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.2948,
"after": 0.333,
"delta": 0.0382,
"percent_delta": 0.1296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.25,
"delta": -0.117,
"percent_delta": -0.3188,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 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.2239,
"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.2948,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.367,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.2239,
"delta": -0.0261,
"percent_delta": -0.1043,
"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.2948,
"delta": -0.0382,
"percent_delta": -0.1149,
"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.367,
"delta": 0.117,
"percent_delta": 0.4679,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.367,
"delta": 0.117,
"percent_delta": 0.4679,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2948,
"delta": -0.0382,
"percent_delta": -0.1149,
"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.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.93,
"after": 4.0,
"delta": 0.07,
"percent_delta": 0.0178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2239,
"delta": 0.0039,
"percent_delta": 0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.86,
"after": 0.0,
"delta": -0.86,
"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.285,
"after": 0.2948,
"delta": 0.0098,
"percent_delta": 0.0344,
"direction": "boost",
"projection_effect": "better",
"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.46,
"after": 0.0,
"delta": -0.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.367,
"delta": 0.009,
"percent_delta": 0.0251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.347,
"after": 1.0,
"delta": -0.347,
"percent_delta": -0.2576,
"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_AB",
"before": 3.93,
"after": 4.0,
"delta": 0.07,
"percent_delta": 0.0178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.176 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.930 | - |
| predicted_AVG | 0.220 | - |
| predicted_BB | 0.423 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.505 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.358 | - |
| predicted_SO | 1.347 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.316 | 0.140 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 8.069 | 4.139 |
| predicted_AVG | 0.219 | -0.001 |
| predicted_BB | 0.807 | 0.384 |
| predicted_H | 1.754 | 0.894 |
| predicted_HBP | 0.186 | - |
| predicted_HR | 0.272 | 0.142 |
| predicted_OBP | 0.288 | 0.003 |
| predicted_R | 0.958 | 0.453 |
| predicted_RBI | 1.169 | 0.709 |
| predicted_SLG | 0.357 | -0.001 |
| predicted_SO | 3.055 | 1.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.316 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 8.069 | 0.000 |
| predicted_AVG | 0.224 | 0.005 |
| predicted_BB | 0.810 | 0.004 |
| predicted_H | 1.807 | 0.053 |
| predicted_HBP | 0.186 | 0.000 |
| predicted_HR | 0.279 | 0.007 |
| predicted_OBP | 0.295 | 0.007 |
| predicted_R | 1.006 | 0.048 |
| predicted_RBI | 1.228 | 0.058 |
| predicted_SLG | 0.367 | 0.010 |
| predicted_SO | 3.041 | -0.014 |
AB rounded to 8 (raw=8.07), rates preserved: AVG=0.224 HR/AB=0.035
| 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 | - |
Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.312)
| 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 | 3.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 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.316 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | -0.069 |
| predicted_AVG | 0.250 | 0.026 |
| predicted_BB | 1.000 | 0.190 |
| predicted_H | 2.000 | 0.193 |
| predicted_HR | 0.000 | -0.279 |
| predicted_OBP | 0.333 | 0.038 |
| predicted_R | 1.000 | -0.006 |
| predicted_RBI | 1.000 | -0.228 |
| predicted_SLG | 0.250 | -0.117 |
| predicted_SO | 3.000 | -0.041 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -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 | 3 | - | 20.000 | 4.000 | 0.000 | 0.000 | 0.000 | 3.000 | 1.000 | 1.000 | 11.000 | 0.2000 | 0.2381 | 0.2000 | 0.2000 | 0.0000 | 0.1500 | 0.0500 | 0.5500 |
| last_10 | 0.20 | 4 | - | 40.000 | 9.000 | 0.000 | 0.000 | 0.000 | 4.000 | 1.000 | 1.000 | 22.000 | 0.2250 | 0.2439 | 0.2250 | 0.2250 | 0.0000 | 0.1000 | 0.0250 | 0.5500 |
| season | 0.60 | 55 | - | 838.000 | 183.000 | 39.000 | 0.000 | 36.000 | 135.000 | 112.000 | 94.000 | 299.000 | 0.2184 | 0.3039 | 0.3938 | 0.2184 | 0.0430 | 0.1611 | 0.1122 | 0.3568 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4940 |
| predicted_3B | 0.0020 |
| predicted_AB | 13.3130 |
| predicted_AVG | 0.2169 |
| predicted_BB | 1.2930 |
| predicted_H | 2.8870 |
| predicted_HBP | 0.1860 |
| predicted_HR | 0.4510 |
| predicted_OBP | 0.2911 |
| predicted_R | 1.5320 |
| predicted_RBI | 2.0680 |
| predicted_SLG | 0.3559 |
| predicted_SO | 5.2200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.4940 | 0.3163 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.9300 | 13.3130 | 8.0692 | model_form_blend |
| predicted_AVG | 0.2200 | 0.2169 | 0.2186 | model_form_blend |
| predicted_BB | 0.4230 | 1.2930 | 0.8068 | model_form_blend |
| predicted_H | 0.8600 | 2.8870 | 1.7542 | model_form_blend |
| predicted_HBP | - | 0.1860 | 0.1860 | form_only |
| predicted_HR | 0.1300 | 0.4510 | 0.2716 | model_form_blend |
| predicted_OBP | 0.2850 | 0.2911 | 0.2877 | model_form_blend |
| predicted_R | 0.5050 | 1.5320 | 0.9580 | model_form_blend |
| predicted_RBI | 0.4600 | 2.0680 | 1.1693 | model_form_blend |
| predicted_SLG | 0.3580 | 0.3559 | 0.3571 | model_form_blend |
| predicted_SO | 1.3470 | 5.2200 | 3.0555 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 222 |
| Season rows before report date | 222 |
| Report year | 2026 |
| Profile rows used | 222 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.218 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | DH |
| gameID | 20260531_LAA@TB |
| game_type | full |
| mlbID | 624585 |
| playerID | 624585 |
| playerName | Jorge Soler |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-31 |
| sl_k_percent | 31.7 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.306 |
| sl_xwoba | 0.31 |
| sl_xba | 0.221 |
| sl_xslg | 0.398 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 11.5 |
| sl_hard_hit_percent | 43.1 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 14.3 |
| sl_whiff_percent | 35.6 |
| sl_swing_percent | 47.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.250 | 0.000 | 1.000 | Hitting_2B | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 4.400 | 3.000 | 9.000 | Hitting_AB | 3.946 | 4.000 | -0.946 | -1.000 |
| predicted_AVG | 0.223 | 0.000 | 0.222 | Hitting_AVG | 0.240 | 0.000 | -0.240 | 0.000 |
| predicted_BB | 0.600 | 0.000 | 1.000 | Hitting_BB | 0.600 | 0.000 | -0.600 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_H | 0.980 | 0.000 | 2.000 | Hitting_H | 0.946 | 0.000 | -0.946 | 0.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.173 | 0.000 | -0.173 | 0.000 |
| predicted_OBP | 0.332 | 0.250 | 0.300 | Hitting_OBP | 0.350 | 0.000 | -0.100 | 0.250 |
| predicted_R | 0.727 | 0.000 | 2.000 | Hitting_R | 0.727 | 0.000 | -0.727 | 0.000 |
| predicted_RBI | 0.480 | 0.000 | 1.000 | Hitting_RBI | 0.485 | 0.000 | -0.485 | 0.000 |
| predicted_SLG | 0.410 | 0.000 | 0.333 | Hitting_SLG | 0.444 | 0.000 | -0.444 | 0.000 |
| predicted_SO | 1.388 | 1.000 | 3.000 | Hitting_SO | 1.388 | 0.000 | -0.388 | 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_SLG: 0.4100 -> 0.4432 (boost 0.0332, better) |
| Biggest Deboost | predicted_AB: 4.4000 -> 3.0000 (deboost -1.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.4000 -> 8.6148 (boost 4.2148, 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.6332 -> 1.7149 (boost 0.0817, 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_AB: 8.6148 -> 9.0000 (boost 0.3852, better) | predicted_BB: 1.3450 -> 1.0000 (deboost -0.3450, worse) | AB rounded to 9 (raw=8.61), rates preserved: AVG=0.256 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.7149 -> 2.0000 (boost 0.2851, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4432 -> 0.3330 (deboost -0.1102, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 8 | 1 | 7 | 2 | 6 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 9.0000 -> 3.0000 (deboost -6.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3330 -> 0.4432 (boost 0.1102, 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.25,
"predicted_3B": 0.019,
"predicted_AB": 4.4,
"predicted_AVG": 0.223,
"predicted_BB": 0.6,
"predicted_H": 0.98,
"predicted_HR": 0.15,
"predicted_OBP": 0.332,
"predicted_R": 0.727,
"predicted_RBI": 0.48,
"predicted_SLG": 0.41,
"predicted_SO": 1.388
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.6686,
"predicted_3B": 0.0332,
"predicted_AB": 8.6148,
"predicted_AVG": 0.2386,
"predicted_BB": 1.3388,
"predicted_H": 2.1374,
"predicted_HBP": 0.212,
"predicted_HR": 0.2864,
"predicted_OBP": 0.3483,
"predicted_R": 1.6332,
"predicted_RBI": 1.0771,
"predicted_SLG": 0.4278,
"predicted_SO": 2.637
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.6686,
"delta": 0.4186,
"percent_delta": 1.6744,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0332,
"delta": 0.0142,
"percent_delta": 0.7474,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4,
"after": 8.6148,
"delta": 4.2148,
"percent_delta": 0.9579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2386,
"delta": 0.0156,
"percent_delta": 0.07,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6,
"after": 1.3388,
"delta": 0.7388,
"percent_delta": 1.2313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 2.1374,
"delta": 1.1574,
"percent_delta": 1.181,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.2864,
"delta": 0.1364,
"percent_delta": 0.9093,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3483,
"delta": 0.0163,
"percent_delta": 0.0491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.727,
"after": 1.6332,
"delta": 0.9062,
"percent_delta": 1.2465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 1.0771,
"delta": 0.5971,
"percent_delta": 1.244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.41,
"after": 0.4278,
"delta": 0.0178,
"percent_delta": 0.0434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.388,
"after": 2.637,
"delta": 1.249,
"percent_delta": 0.8999,
"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.4,
"after": 8.6148,
"delta": 4.2148,
"percent_delta": 0.9579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 60
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.6686,
"predicted_3B": 0.0332,
"predicted_AB": 8.6148,
"predicted_AVG": 0.2556,
"predicted_BB": 1.345,
"predicted_H": 2.2015,
"predicted_HBP": 0.212,
"predicted_HR": 0.294,
"predicted_OBP": 0.3561,
"predicted_R": 1.7149,
"predicted_RBI": 1.131,
"predicted_SLG": 0.4432,
"predicted_SO": 2.6249
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6686,
"after": 0.6686,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0332,
"after": 0.0332,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.6148,
"after": 8.6148,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2386,
"after": 0.2556,
"delta": 0.017,
"percent_delta": 0.0712,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.3388,
"after": 1.345,
"delta": 0.0062,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1374,
"after": 2.2015,
"delta": 0.0641,
"percent_delta": 0.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.212,
"after": 0.212,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2864,
"after": 0.294,
"delta": 0.0076,
"percent_delta": 0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3483,
"after": 0.3561,
"delta": 0.0078,
"percent_delta": 0.0224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.6332,
"after": 1.7149,
"delta": 0.0817,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0771,
"after": 1.131,
"delta": 0.0539,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4278,
"after": 0.4432,
"delta": 0.0154,
"percent_delta": 0.036,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.637,
"after": 2.6249,
"delta": -0.0121,
"percent_delta": -0.0046,
"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.6332,
"after": 1.7149,
"delta": 0.0817,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=8.61), rates preserved: AVG=0.256 HR/AB=0.034",
"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.6686,
"after": 1.0,
"delta": 0.3314,
"percent_delta": 0.4957,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0332,
"after": 0.0,
"delta": -0.0332,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.6148,
"after": 9.0,
"delta": 0.3852,
"percent_delta": 0.0447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.345,
"after": 1.0,
"delta": -0.345,
"percent_delta": -0.2565,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.2015,
"after": 2.0,
"delta": -0.2015,
"percent_delta": -0.0915,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.212,
"after": 0.0,
"delta": -0.212,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.294,
"after": 0.0,
"delta": -0.294,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.131,
"after": 1.0,
"delta": -0.131,
"percent_delta": -0.1158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.6249,
"after": 3.0,
"delta": 0.3751,
"percent_delta": 0.1429,
"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_AB",
"before": 8.6148,
"after": 9.0,
"delta": 0.3852,
"percent_delta": 0.0447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.345,
"after": 1.0,
"delta": -0.345,
"percent_delta": -0.2565,
"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": 2.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.7149,
"after": 2.0,
"delta": 0.2851,
"percent_delta": 0.1662,
"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.7149,
"after": 2.0,
"delta": 0.2851,
"percent_delta": 0.1662,
"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": 0.0,
"predicted_OBP": 0.3,
"predicted_R": 2.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.2556,
"after": 0.222,
"delta": -0.0336,
"percent_delta": -0.1315,
"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.3561,
"after": 0.3,
"delta": -0.0561,
"percent_delta": -0.1575,
"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.4432,
"after": 0.333,
"delta": -0.1102,
"percent_delta": -0.2486,
"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.4432,
"after": 0.333,
"delta": -0.1102,
"percent_delta": -0.2486,
"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": 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": 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": 3.0,
"delta": -6.0,
"percent_delta": -0.6667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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": 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": 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.2556,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3561,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4432,
"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.222,
"after": 0.2556,
"delta": 0.0336,
"percent_delta": 0.1511,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.3561,
"delta": 0.0561,
"percent_delta": 0.1869,
"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.4432,
"delta": 0.1102,
"percent_delta": 0.331,
"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.4432,
"delta": 0.1102,
"percent_delta": 0.331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"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.4,
"after": 3.0,
"delta": -1.4,
"percent_delta": -0.3182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2556,
"delta": 0.0326,
"percent_delta": 0.1462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6,
"after": 0.0,
"delta": -0.6,
"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.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3561,
"delta": 0.0241,
"percent_delta": 0.0726,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.727,
"after": 0.0,
"delta": -0.727,
"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.41,
"after": 0.4432,
"delta": 0.0332,
"percent_delta": 0.081,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.388,
"after": 1.0,
"delta": -0.388,
"percent_delta": -0.2795,
"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_SLG",
"before": 0.41,
"after": 0.4432,
"delta": 0.0332,
"percent_delta": 0.081,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.4,
"after": 3.0,
"delta": -1.4,
"percent_delta": -0.3182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.250 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 4.400 | - |
| predicted_AVG | 0.223 | - |
| predicted_BB | 0.600 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.332 | - |
| predicted_R | 0.727 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.410 | - |
| predicted_SO | 1.388 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.419 |
| predicted_3B | 0.033 | 0.014 |
| predicted_AB | 8.615 | 4.215 |
| predicted_AVG | 0.239 | 0.016 |
| predicted_BB | 1.339 | 0.739 |
| predicted_H | 2.137 | 1.157 |
| predicted_HBP | 0.212 | - |
| predicted_HR | 0.286 | 0.136 |
| predicted_OBP | 0.348 | 0.016 |
| predicted_R | 1.633 | 0.906 |
| predicted_RBI | 1.077 | 0.597 |
| predicted_SLG | 0.428 | 0.018 |
| predicted_SO | 2.637 | 1.249 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.669 | 0.000 |
| predicted_3B | 0.033 | 0.000 |
| predicted_AB | 8.615 | 0.000 |
| predicted_AVG | 0.256 | 0.017 |
| predicted_BB | 1.345 | 0.006 |
| predicted_H | 2.201 | 0.064 |
| predicted_HBP | 0.212 | 0.000 |
| predicted_HR | 0.294 | 0.008 |
| predicted_OBP | 0.356 | 0.008 |
| predicted_R | 1.715 | 0.082 |
| predicted_RBI | 1.131 | 0.054 |
| predicted_SLG | 0.443 | 0.015 |
| predicted_SO | 2.625 | -0.012 |
AB rounded to 9 (raw=8.61), rates preserved: AVG=0.256 HR/AB=0.034
| 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 | 2.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 3.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 1.000 | 0.331 |
| predicted_3B | 0.000 | -0.033 |
| predicted_AB | 9.000 | 0.385 |
| predicted_AVG | 0.222 | -0.034 |
| predicted_BB | 1.000 | -0.345 |
| predicted_H | 2.000 | -0.201 |
| predicted_HR | 0.000 | -0.294 |
| predicted_OBP | 0.300 | -0.056 |
| predicted_R | 2.000 | 0.285 |
| predicted_RBI | 1.000 | -0.131 |
| predicted_SLG | 0.333 | -0.110 |
| predicted_SO | 3.000 | 0.375 |
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 | -6.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -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 | 4 | - | 19.000 | 6.000 | 3.000 | 0.000 | 0.000 | 3.000 | 5.000 | 4.000 | 3.000 | 0.3158 | 0.4348 | 0.4737 | 0.3158 | 0.0000 | 0.1579 | 0.2105 | 0.1579 |
| last_10 | 0.20 | 5 | - | 39.000 | 12.000 | 6.000 | 0.000 | 0.000 | 6.000 | 8.000 | 7.000 | 7.000 | 0.3077 | 0.4130 | 0.4615 | 0.3077 | 0.0000 | 0.1538 | 0.1795 | 0.1795 |
| season | 0.60 | 60 | - | 1026.000 | 246.000 | 65.000 | 5.000 | 45.000 | 126.000 | 189.000 | 156.000 | 361.000 | 0.2398 | 0.3502 | 0.4444 | 0.2398 | 0.0439 | 0.1228 | 0.1520 | 0.3518 |
| Metric | Value |
|---|---|
| predicted_2B | 1.1950 |
| predicted_3B | 0.0510 |
| predicted_AB | 13.9160 |
| predicted_AVG | 0.2582 |
| predicted_BB | 2.2680 |
| predicted_H | 3.5930 |
| predicted_HBP | 0.2120 |
| predicted_HR | 0.4580 |
| predicted_OBP | 0.3689 |
| predicted_R | 2.7730 |
| predicted_RBI | 1.8280 |
| predicted_SLG | 0.4501 |
| predicted_SO | 4.2080 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2500 | 1.1950 | 0.6686 | model_form_blend |
| predicted_3B | 0.0190 | 0.0510 | 0.0332 | model_form_blend |
| predicted_AB | 4.4000 | 13.9160 | 8.6148 | model_form_blend |
| predicted_AVG | 0.2230 | 0.2582 | 0.2386 | model_form_blend |
| predicted_BB | 0.6000 | 2.2680 | 1.3388 | model_form_blend |
| predicted_H | 0.9800 | 3.5930 | 2.1374 | model_form_blend |
| predicted_HBP | - | 0.2120 | 0.2120 | form_only |
| predicted_HR | 0.1500 | 0.4580 | 0.2864 | model_form_blend |
| predicted_OBP | 0.3320 | 0.3689 | 0.3483 | model_form_blend |
| predicted_R | 0.7270 | 2.7730 | 1.6332 | model_form_blend |
| predicted_RBI | 0.4800 | 1.8280 | 1.0771 | model_form_blend |
| predicted_SLG | 0.4100 | 0.4501 | 0.4278 | model_form_blend |
| predicted_SO | 1.3880 | 4.2080 | 2.6370 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 260 |
| Season rows before report date | 260 |
| Report year | 2026 |
| Profile rows used | 260 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.24 |
| 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 | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260531_LAA@TB |
| game_type | full |
| mlbID | 687263 |
| playerID | 687263 |
| playerName | Zach Neto |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-31 |
| sl_k_percent | 30.4 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.346 |
| sl_xwoba | 0.328 |
| sl_xba | 0.216 |
| sl_xslg | 0.41 |
| sl_sweet_spot_percent | 38.3 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 38.3 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 22.5 |
| sl_whiff_percent | 30.0 |
| sl_swing_percent | 49.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.224 | 0.000 | 1.000 | Hitting_2B | 0.220 | 0.000 | -0.220 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.728 | 4.000 | 7.000 | Hitting_AB | 3.669 | 4.000 | 0.331 | 0.000 |
| predicted_AVG | 0.238 | 0.000 | 0.286 | Hitting_AVG | 0.247 | 0.250 | -0.247 | -0.250 |
| predicted_BB | 0.368 | 0.000 | 1.000 | Hitting_BB | 0.378 | 0.000 | -0.378 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.860 | 0.000 | 2.000 | Hitting_H | 0.906 | 1.000 | -0.906 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.102 | 0.000 | -0.102 | 0.000 |
| predicted_OBP | 0.312 | 0.000 | 0.375 | Hitting_OBP | 0.312 | 0.250 | -0.312 | -0.250 |
| predicted_R | 0.352 | 0.000 | 1.000 | Hitting_R | 0.346 | 0.000 | -0.346 | 0.000 |
| predicted_RBI | 0.650 | 0.000 | 2.000 | Hitting_RBI | 0.787 | 0.000 | -0.787 | 0.000 |
| predicted_SLG | 0.381 | 0.000 | 0.429 | Hitting_SLG | 0.391 | 0.250 | -0.391 | -0.250 |
| predicted_SO | 0.376 | 1.000 | 1.000 | Hitting_SO | 0.370 | 0.000 | 0.630 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.3760 -> 1.0000 (boost 0.6240, worse) |
| Biggest Deboost | predicted_H: 0.8600 -> 0.0000 (deboost -0.8600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.7280 -> 6.7536 (boost 3.0256, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 5 | 0 | 5 | 0 | predicted_RBI: 1.4762 -> 1.5500 (boost 0.0738, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 6 | 2 | 5 | 3 | predicted_2B: 0.5036 -> 1.0000 (boost 0.4964, better) | predicted_HR: 0.1610 -> 0.0000 (deboost -0.1610, worse) | AB rounded to 7 (raw=6.75), rates preserved: AVG=0.256 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7963 -> 1.0000 (boost 0.2037, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.3182 -> 0.3750 (boost 0.0568, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 0 | 6 | 0 | 6 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3750 -> 0.3182 (deboost -0.0568, 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.224,
"predicted_3B": 0.0,
"predicted_AB": 3.728,
"predicted_AVG": 0.238,
"predicted_BB": 0.368,
"predicted_H": 0.86,
"predicted_HR": 0.1,
"predicted_OBP": 0.312,
"predicted_R": 0.352,
"predicted_RBI": 0.65,
"predicted_SLG": 0.381,
"predicted_SO": 0.376
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.5036,
"predicted_3B": 0.0009,
"predicted_AB": 6.7536,
"predicted_AVG": 0.2461,
"predicted_BB": 0.6142,
"predicted_H": 1.6779,
"predicted_HBP": 0.152,
"predicted_HR": 0.1569,
"predicted_OBP": 0.3128,
"predicted_R": 0.7584,
"predicted_RBI": 1.4762,
"predicted_SLG": 0.3906,
"predicted_SO": 0.7785
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.224,
"after": 0.5036,
"delta": 0.2796,
"percent_delta": 1.2482,
"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.728,
"after": 6.7536,
"delta": 3.0256,
"percent_delta": 0.8116,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2461,
"delta": 0.0081,
"percent_delta": 0.034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.368,
"after": 0.6142,
"delta": 0.2462,
"percent_delta": 0.669,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 1.6779,
"delta": 0.8179,
"percent_delta": 0.951,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1569,
"delta": 0.0569,
"percent_delta": 0.569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3128,
"delta": 0.0008,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.352,
"after": 0.7584,
"delta": 0.4064,
"percent_delta": 1.1545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 1.4762,
"delta": 0.8262,
"percent_delta": 1.2711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.381,
"after": 0.3906,
"delta": 0.0096,
"percent_delta": 0.0252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.376,
"after": 0.7785,
"delta": 0.4025,
"percent_delta": 1.0705,
"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.728,
"after": 6.7536,
"delta": 3.0256,
"percent_delta": 0.8116,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 36
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.5036,
"predicted_3B": 0.0009,
"predicted_AB": 6.7536,
"predicted_AVG": 0.2559,
"predicted_BB": 0.617,
"predicted_H": 1.7282,
"predicted_HBP": 0.152,
"predicted_HR": 0.161,
"predicted_OBP": 0.3182,
"predicted_R": 0.7963,
"predicted_RBI": 1.55,
"predicted_SLG": 0.4023,
"predicted_SO": 0.7749
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5036,
"after": 0.5036,
"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.7536,
"after": 6.7536,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2461,
"after": 0.2559,
"delta": 0.0098,
"percent_delta": 0.0398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6142,
"after": 0.617,
"delta": 0.0028,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.6779,
"after": 1.7282,
"delta": 0.0503,
"percent_delta": 0.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.152,
"after": 0.152,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1569,
"after": 0.161,
"delta": 0.0041,
"percent_delta": 0.0261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3128,
"after": 0.3182,
"delta": 0.0054,
"percent_delta": 0.0173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7584,
"after": 0.7963,
"delta": 0.0379,
"percent_delta": 0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.4762,
"after": 1.55,
"delta": 0.0738,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3906,
"after": 0.4023,
"delta": 0.0117,
"percent_delta": 0.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7785,
"after": 0.7749,
"delta": -0.0036,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.4762,
"after": 1.55,
"delta": 0.0738,
"percent_delta": 0.05,
"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.75), rates preserved: AVG=0.256 HR/AB=0.024",
"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": 2.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5036,
"after": 1.0,
"delta": 0.4964,
"percent_delta": 0.9857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.7536,
"after": 7.0,
"delta": 0.2464,
"percent_delta": 0.0365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.617,
"after": 1.0,
"delta": 0.383,
"percent_delta": 0.6207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7282,
"after": 2.0,
"delta": 0.2718,
"percent_delta": 0.1573,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.152,
"after": 0.0,
"delta": -0.152,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.161,
"after": 0.0,
"delta": -0.161,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.55,
"after": 2.0,
"delta": 0.45,
"percent_delta": 0.2903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7749,
"after": 1.0,
"delta": 0.2251,
"percent_delta": 0.2905,
"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_2B",
"before": 0.5036,
"after": 1.0,
"delta": 0.4964,
"percent_delta": 0.9857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.161,
"after": 0.0,
"delta": -0.161,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 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.7963,
"after": 1.0,
"delta": 0.2037,
"percent_delta": 0.2558,
"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.7963,
"after": 1.0,
"delta": 0.2037,
"percent_delta": 0.2558,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SLG": 0.429,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2559,
"after": 0.286,
"delta": 0.0301,
"percent_delta": 0.1176,
"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.3182,
"after": 0.375,
"delta": 0.0568,
"percent_delta": 0.1785,
"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.4023,
"after": 0.429,
"delta": 0.0267,
"percent_delta": 0.0664,
"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.3182,
"after": 0.375,
"delta": 0.0568,
"percent_delta": 0.1785,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"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_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.2559,
"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.3182,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4023,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2559,
"delta": -0.0301,
"percent_delta": -0.1052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3182,
"delta": -0.0568,
"percent_delta": -0.1515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.4023,
"delta": -0.0267,
"percent_delta": -0.0623,
"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.375,
"after": 0.3182,
"delta": -0.0568,
"percent_delta": -0.1515,
"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.224,
"after": 0.0,
"delta": -0.224,
"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.728,
"after": 4.0,
"delta": 0.272,
"percent_delta": 0.073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2559,
"delta": 0.0179,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.368,
"after": 0.0,
"delta": -0.368,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.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.3182,
"delta": 0.0062,
"percent_delta": 0.0199,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.352,
"after": 0.0,
"delta": -0.352,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.381,
"after": 0.4023,
"delta": 0.0213,
"percent_delta": 0.0559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.376,
"after": 1.0,
"delta": 0.624,
"percent_delta": 1.6596,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.376,
"after": 1.0,
"delta": 0.624,
"percent_delta": 1.6596,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.224 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.728 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.368 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 0.352 | - |
| predicted_RBI | 0.650 | - |
| predicted_SLG | 0.381 | - |
| predicted_SO | 0.376 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.504 | 0.280 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.754 | 3.026 |
| predicted_AVG | 0.246 | 0.008 |
| predicted_BB | 0.614 | 0.246 |
| predicted_H | 1.678 | 0.818 |
| predicted_HBP | 0.152 | - |
| predicted_HR | 0.157 | 0.057 |
| predicted_OBP | 0.313 | 0.001 |
| predicted_R | 0.758 | 0.406 |
| predicted_RBI | 1.476 | 0.826 |
| predicted_SLG | 0.391 | 0.010 |
| predicted_SO | 0.778 | 0.402 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.504 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.754 | 0.000 |
| predicted_AVG | 0.256 | 0.010 |
| predicted_BB | 0.617 | 0.003 |
| predicted_H | 1.728 | 0.050 |
| predicted_HBP | 0.152 | 0.000 |
| predicted_HR | 0.161 | 0.004 |
| predicted_OBP | 0.318 | 0.005 |
| predicted_R | 0.796 | 0.038 |
| predicted_RBI | 1.550 | 0.074 |
| predicted_SLG | 0.402 | 0.012 |
| predicted_SO | 0.775 | -0.004 |
AB rounded to 7 (raw=6.75), rates preserved: AVG=0.256 HR/AB=0.024
| 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 | 2.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 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.496 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | 0.246 |
| predicted_AVG | 0.286 | 0.030 |
| predicted_BB | 1.000 | 0.383 |
| predicted_H | 2.000 | 0.272 |
| predicted_HR | 0.000 | -0.161 |
| predicted_OBP | 0.375 | 0.057 |
| predicted_R | 1.000 | 0.204 |
| predicted_RBI | 2.000 | 0.450 |
| predicted_SLG | 0.429 | 0.027 |
| predicted_SO | 1.000 | 0.225 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 20.000 | 6.000 | 3.000 | 0.000 | 0.000 | 7.000 | 4.000 | 1.000 | 3.000 | 0.3000 | 0.3333 | 0.4500 | 0.3000 | 0.0000 | 0.3500 | 0.0500 | 0.1500 |
| last_10 | 0.20 | 5 | - | 38.000 | 9.000 | 6.000 | 0.000 | 0.000 | 13.000 | 7.000 | 3.000 | 8.000 | 0.2368 | 0.2766 | 0.3947 | 0.2368 | 0.0000 | 0.3421 | 0.0790 | 0.2105 |
| season | 0.60 | 36 | - | 466.000 | 115.000 | 28.000 | 0.000 | 13.000 | 98.000 | 44.000 | 46.000 | 47.000 | 0.2468 | 0.3111 | 0.3906 | 0.2468 | 0.0279 | 0.2103 | 0.0987 | 0.1009 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8680 |
| predicted_3B | 0.0020 |
| predicted_AB | 10.6970 |
| predicted_AVG | 0.2566 |
| predicted_BB | 0.9350 |
| predicted_H | 2.7440 |
| predicted_HBP | 0.1520 |
| predicted_HR | 0.2310 |
| predicted_OBP | 0.3138 |
| predicted_R | 1.2880 |
| predicted_RBI | 2.5530 |
| predicted_SLG | 0.4030 |
| predicted_SO | 1.3030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2240 | 0.8680 | 0.5036 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.7280 | 10.6970 | 6.7536 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2566 | 0.2461 | model_form_blend |
| predicted_BB | 0.3680 | 0.9350 | 0.6142 | model_form_blend |
| predicted_H | 0.8600 | 2.7440 | 1.6779 | model_form_blend |
| predicted_HBP | - | 0.1520 | 0.1520 | form_only |
| predicted_HR | 0.1000 | 0.2310 | 0.1569 | model_form_blend |
| predicted_OBP | 0.3120 | 0.3138 | 0.3128 | model_form_blend |
| predicted_R | 0.3520 | 1.2880 | 0.7584 | model_form_blend |
| predicted_RBI | 0.6500 | 2.5530 | 1.4762 | model_form_blend |
| predicted_SLG | 0.3810 | 0.4030 | 0.3906 | model_form_blend |
| predicted_SO | 0.3760 | 1.3030 | 0.7785 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 127 |
| Season rows before report date | 127 |
| Report year | 2026 |
| Profile rows used | 125 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.247 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260531_LAA@TB |
| game_type | full |
| mlbID | 687093 |
| playerID | 687093 |
| playerName | Vaughn Grissom |
| pos | 2B |
| started | True |
| startingPosition | 1B |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-31 |
| sl_k_percent | 10.2 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.311 |
| sl_xwoba | 0.339 |
| sl_xba | 0.259 |
| sl_xslg | 0.417 |
| sl_sweet_spot_percent | 30.8 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 47.7 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 13.2 |
| sl_whiff_percent | 20.2 |
| sl_swing_percent | 45.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.198 | 0.000 | 1.000 | Hitting_2B | 0.198 | 0.000 | -0.198 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.910 | 4.000 | 8.000 | Hitting_AB | 3.534 | 4.000 | 0.466 | 0.000 |
| predicted_AVG | 0.244 | 0.250 | 0.250 | Hitting_AVG | 0.252 | 0.250 | -0.002 | 0.000 |
| predicted_BB | 0.984 | 0.000 | 3.000 | Hitting_BB | 0.984 | 0.000 | -0.984 | 0.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 | 0.889 | 1.000 | 0.111 | 0.000 |
| predicted_HR | 0.220 | 0.000 | 1.000 | Hitting_HR | 0.249 | 0.000 | -0.249 | 0.000 |
| predicted_OBP | 0.401 | 0.250 | 0.455 | Hitting_OBP | 0.422 | 0.250 | -0.172 | 0.000 |
| predicted_R | 0.775 | 1.000 | 2.000 | Hitting_R | 0.775 | 0.000 | 0.225 | 1.000 |
| predicted_RBI | 0.580 | 0.000 | 2.000 | Hitting_RBI | 0.585 | 0.000 | -0.585 | 0.000 |
| predicted_SLG | 0.491 | 0.250 | 0.750 | Hitting_SLG | 0.519 | 0.250 | -0.269 | 0.000 |
| predicted_SO | 1.024 | 2.000 | 2.000 | Hitting_SO | 1.024 | 2.000 | 0.976 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_SO: 1.0240 -> 2.0000 (boost 0.9760, worse) |
| Biggest Deboost | predicted_BB: 0.9840 -> 0.0000 (deboost -0.9840, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.9100 -> 7.6000 (boost 3.6900, 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.8027 -> 1.8928 (boost 0.0901, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 5 | 3 | 4 | 4 | predicted_HR: 0.4938 -> 1.0000 (boost 0.5062, better) | predicted_BB: 2.3602 -> 2.0000 (deboost -0.3602, worse) | AB rounded to 8 (raw=7.60), rates preserved: AVG=0.292 HR/AB=0.065 |
| 5 | bvp_blend | 1 | 1 | 0 | 1 | 0 | predicted_BB: 2.0000 -> 3.0000 (boost 1.0000, better) | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.8928 -> 2.0000 (boost 0.1072, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.5804 -> 0.7500 (boost 0.1696, better) | predicted_AVG: 0.2921 -> 0.2500 (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 | 0 | 7 | - | 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_AVG: 0.2500 -> 0.2921 (boost 0.0421, better) | predicted_SLG: 0.7500 -> 0.5804 (deboost -0.1696, 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.198,
"predicted_3B": 0.0,
"predicted_AB": 3.91,
"predicted_AVG": 0.244,
"predicted_BB": 0.984,
"predicted_H": 0.95,
"predicted_HR": 0.22,
"predicted_OBP": 0.401,
"predicted_R": 0.775,
"predicted_RBI": 0.58,
"predicted_SLG": 0.491,
"predicted_SO": 1.024
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.7083,
"predicted_3B": 0.0004,
"predicted_AB": 7.6,
"predicted_AVG": 0.2688,
"predicted_BB": 2.3494,
"predicted_H": 2.1556,
"predicted_HBP": 0.143,
"predicted_HR": 0.4811,
"predicted_OBP": 0.4322,
"predicted_R": 1.8027,
"predicted_RBI": 1.4417,
"predicted_SLG": 0.5432,
"predicted_SO": 1.9074
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.198,
"after": 0.7083,
"delta": 0.5103,
"percent_delta": 2.5773,
"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.91,
"after": 7.6,
"delta": 3.69,
"percent_delta": 0.9437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2688,
"delta": 0.0248,
"percent_delta": 0.1016,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.984,
"after": 2.3494,
"delta": 1.3654,
"percent_delta": 1.3876,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 2.1556,
"delta": 1.2056,
"percent_delta": 1.2691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.4811,
"delta": 0.2611,
"percent_delta": 1.1868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.401,
"after": 0.4322,
"delta": 0.0312,
"percent_delta": 0.0778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.775,
"after": 1.8027,
"delta": 1.0277,
"percent_delta": 1.3261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 1.4417,
"delta": 0.8617,
"percent_delta": 1.4857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.491,
"after": 0.5432,
"delta": 0.0522,
"percent_delta": 0.1063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.024,
"after": 1.9074,
"delta": 0.8834,
"percent_delta": 0.8627,
"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.91,
"after": 7.6,
"delta": 3.69,
"percent_delta": 0.9437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 59
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.7083,
"predicted_3B": 0.0004,
"predicted_AB": 7.6,
"predicted_AVG": 0.2921,
"predicted_BB": 2.3602,
"predicted_H": 2.2203,
"predicted_HBP": 0.143,
"predicted_HR": 0.4938,
"predicted_OBP": 0.4599,
"predicted_R": 1.8928,
"predicted_RBI": 1.5138,
"predicted_SLG": 0.5804,
"predicted_SO": 1.8986
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.7083,
"after": 0.7083,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.6,
"after": 7.6,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2688,
"after": 0.2921,
"delta": 0.0233,
"percent_delta": 0.0867,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.3494,
"after": 2.3602,
"delta": 0.0108,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1556,
"after": 2.2203,
"delta": 0.0647,
"percent_delta": 0.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.143,
"after": 0.143,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4811,
"after": 0.4938,
"delta": 0.0127,
"percent_delta": 0.0264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4322,
"after": 0.4599,
"delta": 0.0277,
"percent_delta": 0.0641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.8027,
"after": 1.8928,
"delta": 0.0901,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4417,
"after": 1.5138,
"delta": 0.0721,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5432,
"after": 0.5804,
"delta": 0.0372,
"percent_delta": 0.0685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9074,
"after": 1.8986,
"delta": -0.0088,
"percent_delta": -0.0046,
"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.8027,
"after": 1.8928,
"delta": 0.0901,
"percent_delta": 0.05,
"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.60), rates preserved: AVG=0.292 HR/AB=0.065",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 2.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.7083,
"after": 1.0,
"delta": 0.2917,
"percent_delta": 0.4118,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.6,
"after": 8.0,
"delta": 0.4,
"percent_delta": 0.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.3602,
"after": 2.0,
"delta": -0.3602,
"percent_delta": -0.1526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.2203,
"after": 2.0,
"delta": -0.2203,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.143,
"after": 0.0,
"delta": -0.143,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.4938,
"after": 1.0,
"delta": 0.5062,
"percent_delta": 1.0251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.5138,
"after": 2.0,
"delta": 0.4862,
"percent_delta": 0.3212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8986,
"after": 2.0,
"delta": 0.1014,
"percent_delta": 0.0534,
"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.4938,
"after": 1.0,
"delta": 0.5062,
"percent_delta": 1.0251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 2.3602,
"after": 2.0,
"delta": -0.3602,
"percent_delta": -0.1526,
"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.222)",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 3.0,
"predicted_H": 2.0,
"predicted_HR": 1.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": 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": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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_BB",
"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.9077,
"bvp": 0.0923
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 3.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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_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.8928,
"after": 2.0,
"delta": 0.1072,
"percent_delta": 0.0566,
"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.8928,
"after": 2.0,
"delta": 0.1072,
"percent_delta": 0.0566,
"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": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 3.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.455,
"predicted_R": 2.0,
"predicted_RBI": 2.0,
"predicted_SLG": 0.75,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2921,
"after": 0.25,
"delta": -0.0421,
"percent_delta": -0.1441,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_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.4599,
"after": 0.455,
"delta": -0.0049,
"percent_delta": -0.0107,
"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": 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.5804,
"after": 0.75,
"delta": 0.1696,
"percent_delta": 0.2922,
"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.5804,
"after": 0.75,
"delta": 0.1696,
"percent_delta": 0.2922,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2921,
"after": 0.25,
"delta": -0.0421,
"percent_delta": -0.1441,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 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": 3.0,
"after": 0.0,
"delta": -3.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 0,
"worse_metrics": 7,
"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.2921,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4599,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5804,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2921,
"delta": 0.0421,
"percent_delta": 0.1686,
"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.455,
"after": 0.4599,
"delta": 0.0049,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.75,
"after": 0.5804,
"delta": -0.1696,
"percent_delta": -0.2262,
"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.25,
"after": 0.2921,
"delta": 0.0421,
"percent_delta": 0.1686,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.75,
"after": 0.5804,
"delta": -0.1696,
"percent_delta": -0.2262,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.198,
"after": 0.0,
"delta": -0.198,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.91,
"after": 4.0,
"delta": 0.09,
"percent_delta": 0.023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2921,
"delta": 0.0481,
"percent_delta": 0.1971,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.984,
"after": 0.0,
"delta": -0.984,
"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.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.401,
"after": 0.4599,
"delta": 0.0589,
"percent_delta": 0.1469,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.775,
"after": 1.0,
"delta": 0.225,
"percent_delta": 0.2903,
"direction": "boost",
"projection_effect": "better",
"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.491,
"after": 0.5804,
"delta": 0.0894,
"percent_delta": 0.1821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.024,
"after": 2.0,
"delta": 0.976,
"percent_delta": 0.9531,
"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.024,
"after": 2.0,
"delta": 0.976,
"percent_delta": 0.9531,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.984,
"after": 0.0,
"delta": -0.984,
"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.198 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.910 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.984 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.401 | - |
| predicted_R | 0.775 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.491 | - |
| predicted_SO | 1.024 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.708 | 0.510 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.600 | 3.690 |
| predicted_AVG | 0.269 | 0.025 |
| predicted_BB | 2.349 | 1.365 |
| predicted_H | 2.156 | 1.206 |
| predicted_HBP | 0.143 | - |
| predicted_HR | 0.481 | 0.261 |
| predicted_OBP | 0.432 | 0.031 |
| predicted_R | 1.803 | 1.028 |
| predicted_RBI | 1.442 | 0.862 |
| predicted_SLG | 0.543 | 0.052 |
| predicted_SO | 1.907 | 0.883 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.708 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.600 | 0.000 |
| predicted_AVG | 0.292 | 0.023 |
| predicted_BB | 2.360 | 0.011 |
| predicted_H | 2.220 | 0.065 |
| predicted_HBP | 0.143 | 0.000 |
| predicted_HR | 0.494 | 0.013 |
| predicted_OBP | 0.460 | 0.028 |
| predicted_R | 1.893 | 0.090 |
| predicted_RBI | 1.514 | 0.072 |
| predicted_SLG | 0.580 | 0.037 |
| predicted_SO | 1.899 | -0.009 |
AB rounded to 8 (raw=7.60), rates preserved: AVG=0.292 HR/AB=0.065
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 2.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 1.000 | - |
| RBI | 2.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 3.000 | 1.000 |
| H | 2.000 | 0.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 | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 3.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.292 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 8.000 | 0.400 |
| predicted_AVG | 0.250 | -0.042 |
| predicted_BB | 3.000 | 0.640 |
| predicted_H | 2.000 | -0.220 |
| predicted_HR | 1.000 | 0.506 |
| predicted_OBP | 0.455 | -0.005 |
| predicted_R | 2.000 | 0.107 |
| predicted_RBI | 2.000 | 0.486 |
| predicted_SLG | 0.750 | 0.170 |
| predicted_SO | 2.000 | 0.101 |
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 | -3.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 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 16.000 | 7.000 | 4.000 | 0.000 | 1.000 | 5.000 | 6.000 | 8.000 | 2.000 | 0.4375 | 0.6250 | 0.8750 | 0.4375 | 0.0625 | 0.3125 | 0.5000 | 0.1250 |
| last_10 | 0.20 | 5 | - | 30.000 | 15.000 | 12.000 | 0.000 | 1.000 | 13.000 | 10.000 | 18.000 | 3.000 | 0.5000 | 0.6875 | 1.0000 | 0.5000 | 0.0333 | 0.4333 | 0.6000 | 0.1000 |
| season | 0.60 | 59 | - | 894.000 | 225.000 | 50.000 | 0.000 | 63.000 | 148.000 | 196.000 | 249.000 | 259.000 | 0.2517 | 0.4218 | 0.5190 | 0.2517 | 0.0705 | 0.1656 | 0.2785 | 0.2897 |
| Metric | Value |
|---|---|
| predicted_2B | 1.3510 |
| predicted_3B | 0.0010 |
| predicted_AB | 12.2470 |
| predicted_AVG | 0.3000 |
| predicted_BB | 4.0690 |
| predicted_H | 3.6740 |
| predicted_HBP | 0.1430 |
| predicted_HR | 0.8100 |
| predicted_OBP | 0.4716 |
| predicted_R | 3.0970 |
| predicted_RBI | 2.5270 |
| predicted_SLG | 0.6090 |
| predicted_SO | 3.0200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1980 | 1.3510 | 0.7083 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9100 | 12.2470 | 7.6000 | model_form_blend |
| predicted_AVG | 0.2440 | 0.3000 | 0.2688 | model_form_blend |
| predicted_BB | 0.9840 | 4.0690 | 2.3494 | model_form_blend |
| predicted_H | 0.9500 | 3.6740 | 2.1556 | model_form_blend |
| predicted_HBP | - | 0.1430 | 0.1430 | form_only |
| predicted_HR | 0.2200 | 0.8100 | 0.4811 | model_form_blend |
| predicted_OBP | 0.4010 | 0.4716 | 0.4322 | model_form_blend |
| predicted_R | 0.7750 | 3.0970 | 1.8027 | model_form_blend |
| predicted_RBI | 0.5800 | 2.5270 | 1.4417 | model_form_blend |
| predicted_SLG | 0.4910 | 0.6090 | 0.5432 | model_form_blend |
| predicted_SO | 1.0240 | 3.0200 | 1.9074 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 253 |
| Season rows before report date | 253 |
| Report year | 2026 |
| Profile rows used | 253 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.252 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| 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 | CF |
| gameID | 20260531_LAA@TB |
| game_type | full |
| mlbID | 545361 |
| playerID | 545361 |
| playerName | Mike Trout |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-31 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 21.4 |
| sl_woba | 0.397 |
| sl_xwoba | 0.424 |
| sl_xba | 0.258 |
| sl_xslg | 0.581 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 21.0 |
| sl_hard_hit_percent | 48.6 |
| sl_exit_velocity_avg | 91.1 |
| sl_launch_angle_avg | 20.8 |
| sl_whiff_percent | 21.7 |
| sl_swing_percent | 37.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.137 | 0.000 | 0.000 | Hitting_2B | 0.134 | 1.000 | -0.134 | -1.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_AB | 3.450 | 4.000 | 6.000 | Hitting_AB | 3.366 | 4.000 | 0.634 | 0.000 |
| predicted_AVG | 0.265 | 0.250 | 0.333 | Hitting_AVG | 0.283 | 0.250 | -0.033 | 0.000 |
| predicted_BB | 0.200 | 0.000 | 0.000 | Hitting_BB | 0.201 | 0.000 | -0.201 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 0.790 | 1.000 | 2.000 | Hitting_H | 0.951 | 1.000 | 0.049 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.165 | 0.000 | -0.165 | 0.000 |
| predicted_OBP | 0.320 | 0.250 | 0.333 | Hitting_OBP | 0.355 | 0.250 | -0.105 | 0.000 |
| predicted_R | 0.394 | 0.000 | 1.000 | Hitting_R | 0.384 | 0.000 | -0.384 | 0.000 |
| predicted_RBI | 0.340 | 0.000 | 1.000 | Hitting_RBI | 0.384 | 0.000 | -0.384 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.116 | 0.000 | -0.116 | 0.000 |
| predicted_SLG | 0.439 | 0.250 | 0.333 | Hitting_SLG | 0.476 | 0.500 | -0.226 | -0.250 |
| predicted_SO | 0.975 | 2.000 | 2.000 | Hitting_SO | 0.951 | 1.000 | 1.049 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.9750 -> 2.0000 (boost 1.0250, worse) |
| Biggest Deboost | predicted_R: 0.3940 -> 0.0000 (deboost -0.3940, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.4500 -> 5.8647 (boost 2.4147, 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.3251 -> 0.3021 (deboost -0.0230, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_H: 1.5741 -> 2.0000 (boost 0.4259, better) | predicted_HBP: 0.3730 -> 0.0000 (deboost -0.3730, worse) | AB rounded to 6 (raw=5.86), rates preserved: AVG=0.268 HR/AB=0.045 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6547 -> 1.0000 (boost 0.3453, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2684 -> 0.3330 (boost 0.0646, better) | predicted_SLG: 0.4509 -> 0.3330 (deboost -0.1179, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 6.0000 -> 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.4509 (boost 0.1179, better) | predicted_AVG: 0.3330 -> 0.2684 (deboost -0.0646, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672724",
"player_name": "Oswald Peraza",
"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.137,
"predicted_3B": 0.013,
"predicted_AB": 3.45,
"predicted_AVG": 0.265,
"predicted_BB": 0.2,
"predicted_H": 0.79,
"predicted_HR": 0.12,
"predicted_OBP": 0.32,
"predicted_R": 0.394,
"predicted_RBI": 0.34,
"predicted_SLG": 0.439,
"predicted_SO": 0.975
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2448,
"predicted_3B": 0.0178,
"predicted_AB": 5.8647,
"predicted_AVG": 0.2699,
"predicted_BB": 0.2816,
"predicted_H": 1.5283,
"predicted_HBP": 0.373,
"predicted_HR": 0.2566,
"predicted_OBP": 0.3251,
"predicted_R": 0.6235,
"predicted_RBI": 0.5726,
"predicted_SLG": 0.452,
"predicted_SO": 1.7526
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.137,
"after": 0.2448,
"delta": 0.1078,
"percent_delta": 0.7869,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0178,
"delta": 0.0048,
"percent_delta": 0.3692,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.45,
"after": 5.8647,
"delta": 2.4147,
"percent_delta": 0.6999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2699,
"delta": 0.0049,
"percent_delta": 0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2,
"after": 0.2816,
"delta": 0.0816,
"percent_delta": 0.408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 1.5283,
"delta": 0.7383,
"percent_delta": 0.9346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.2566,
"delta": 0.1366,
"percent_delta": 1.1383,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3251,
"delta": 0.0051,
"percent_delta": 0.0159,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.394,
"after": 0.6235,
"delta": 0.2295,
"percent_delta": 0.5825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.5726,
"delta": 0.2326,
"percent_delta": 0.6841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.452,
"delta": 0.013,
"percent_delta": 0.0296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.975,
"after": 1.7526,
"delta": 0.7776,
"percent_delta": 0.7975,
"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.45,
"after": 5.8647,
"delta": 2.4147,
"percent_delta": 0.6999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 6,
"season": 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.2448,
"predicted_3B": 0.0178,
"predicted_AB": 5.8647,
"predicted_AVG": 0.2684,
"predicted_BB": 0.2829,
"predicted_H": 1.5741,
"predicted_HBP": 0.373,
"predicted_HR": 0.2634,
"predicted_OBP": 0.3021,
"predicted_R": 0.6547,
"predicted_RBI": 0.6012,
"predicted_SLG": 0.4509,
"predicted_SO": 1.7445
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2448,
"after": 0.2448,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0178,
"after": 0.0178,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.8647,
"after": 5.8647,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2699,
"after": 0.2684,
"delta": -0.0015,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2816,
"after": 0.2829,
"delta": 0.0013,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5283,
"after": 1.5741,
"delta": 0.0458,
"percent_delta": 0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.373,
"after": 0.373,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2566,
"after": 0.2634,
"delta": 0.0068,
"percent_delta": 0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3251,
"after": 0.3021,
"delta": -0.023,
"percent_delta": -0.0707,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6235,
"after": 0.6547,
"delta": 0.0312,
"percent_delta": 0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5726,
"after": 0.6012,
"delta": 0.0286,
"percent_delta": 0.0499,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.452,
"after": 0.4509,
"delta": -0.0011,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.7526,
"after": 1.7445,
"delta": -0.0081,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3251,
"after": 0.3021,
"delta": -0.023,
"percent_delta": -0.0707,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.86), rates preserved: AVG=0.268 HR/AB=0.045",
"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.2448,
"after": 0.0,
"delta": -0.2448,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0178,
"after": 0.0,
"delta": -0.0178,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.8647,
"after": 6.0,
"delta": 0.1353,
"percent_delta": 0.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2829,
"after": 0.0,
"delta": -0.2829,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.5741,
"after": 2.0,
"delta": 0.4259,
"percent_delta": 0.2706,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.373,
"after": 0.0,
"delta": -0.373,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2634,
"after": 0.0,
"delta": -0.2634,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6012,
"after": 1.0,
"delta": 0.3988,
"percent_delta": 0.6633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7445,
"after": 2.0,
"delta": 0.2555,
"percent_delta": 0.1465,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.5741,
"after": 2.0,
"delta": 0.4259,
"percent_delta": 0.2706,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.373,
"after": 0.0,
"delta": -0.373,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6547,
"after": 1.0,
"delta": 0.3453,
"percent_delta": 0.5274,
"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.6547,
"after": 1.0,
"delta": 0.3453,
"percent_delta": 0.5274,
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2684,
"after": 0.333,
"delta": 0.0646,
"percent_delta": 0.2407,
"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.3021,
"after": 0.333,
"delta": 0.0309,
"percent_delta": 0.1023,
"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.4509,
"after": 0.333,
"delta": -0.1179,
"percent_delta": -0.2615,
"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.2684,
"after": 0.333,
"delta": 0.0646,
"percent_delta": 0.2407,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4509,
"after": 0.333,
"delta": -0.1179,
"percent_delta": -0.2615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 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.2684,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3021,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4509,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2684,
"delta": -0.0646,
"percent_delta": -0.194,
"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.3021,
"delta": -0.0309,
"percent_delta": -0.0929,
"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.4509,
"delta": 0.1179,
"percent_delta": 0.3542,
"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.4509,
"delta": 0.1179,
"percent_delta": 0.3542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2684,
"delta": -0.0646,
"percent_delta": -0.194,
"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.137,
"after": 0.0,
"delta": -0.137,
"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.45,
"after": 4.0,
"delta": 0.55,
"percent_delta": 0.1594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2684,
"delta": 0.0034,
"percent_delta": 0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 1.0,
"delta": 0.21,
"percent_delta": 0.2658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3021,
"delta": -0.0179,
"percent_delta": -0.0559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.394,
"after": 0.0,
"delta": -0.394,
"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.439,
"after": 0.4509,
"delta": 0.0119,
"percent_delta": 0.0271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.975,
"after": 2.0,
"delta": 1.025,
"percent_delta": 1.0513,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.975,
"after": 2.0,
"delta": 1.025,
"percent_delta": 1.0513,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.394,
"after": 0.0,
"delta": -0.394,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "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.013 | - |
| predicted_AB | 3.450 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.200 | - |
| predicted_H | 0.790 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.320 | - |
| predicted_R | 0.394 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.439 | - |
| predicted_SO | 0.975 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.245 | 0.108 |
| predicted_3B | 0.018 | 0.005 |
| predicted_AB | 5.865 | 2.415 |
| predicted_AVG | 0.270 | 0.005 |
| predicted_BB | 0.282 | 0.082 |
| predicted_H | 1.528 | 0.738 |
| predicted_HBP | 0.373 | - |
| predicted_HR | 0.257 | 0.137 |
| predicted_OBP | 0.325 | 0.005 |
| predicted_R | 0.624 | 0.230 |
| predicted_RBI | 0.573 | 0.233 |
| predicted_SLG | 0.452 | 0.013 |
| predicted_SO | 1.753 | 0.778 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.245 | 0.000 |
| predicted_3B | 0.018 | 0.000 |
| predicted_AB | 5.865 | 0.000 |
| predicted_AVG | 0.268 | -0.001 |
| predicted_BB | 0.283 | 0.001 |
| predicted_H | 1.574 | 0.046 |
| predicted_HBP | 0.373 | 0.000 |
| predicted_HR | 0.263 | 0.007 |
| predicted_OBP | 0.302 | -0.023 |
| predicted_R | 0.655 | 0.031 |
| predicted_RBI | 0.601 | 0.029 |
| predicted_SLG | 0.451 | -0.001 |
| predicted_SO | 1.744 | -0.008 |
AB rounded to 6 (raw=5.86), rates preserved: AVG=0.268 HR/AB=0.045
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 0.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.245 |
| predicted_3B | 0.000 | -0.018 |
| predicted_AB | 6.000 | 0.135 |
| predicted_AVG | 0.333 | 0.065 |
| predicted_BB | 0.000 | -0.283 |
| predicted_H | 2.000 | 0.426 |
| predicted_HR | 0.000 | -0.263 |
| predicted_OBP | 0.333 | 0.031 |
| predicted_R | 1.000 | 0.345 |
| predicted_RBI | 1.000 | 0.399 |
| predicted_SLG | 0.333 | -0.118 |
| predicted_SO | 2.000 | 0.256 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 17.000 | 5.000 | 1.000 | 0.000 | 1.000 | 1.000 | 1.000 | 0.000 | 6.000 | 0.2941 | 0.2941 | 0.5294 | 0.2941 | 0.0588 | 0.0588 | 0.0000 | 0.3529 |
| last_10 | 0.20 | 6 | - | 34.000 | 7.000 | 1.000 | 0.000 | 1.000 | 1.000 | 3.000 | 0.000 | 15.000 | 0.2059 | 0.2500 | 0.3235 | 0.2059 | 0.0294 | 0.0294 | 0.0000 | 0.4412 |
| season | 0.60 | 50 | - | 552.000 | 156.000 | 22.000 | 2.000 | 27.000 | 63.000 | 63.000 | 32.000 | 156.000 | 0.2826 | 0.3540 | 0.4764 | 0.2826 | 0.0489 | 0.1141 | 0.0580 | 0.2826 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3840 |
| predicted_3B | 0.0240 |
| predicted_AB | 8.9840 |
| predicted_AVG | 0.2762 |
| predicted_BB | 0.3870 |
| predicted_H | 2.4820 |
| predicted_HBP | 0.3730 |
| predicted_HR | 0.4330 |
| predicted_OBP | 0.3318 |
| predicted_R | 0.9200 |
| predicted_RBI | 0.8730 |
| predicted_SLG | 0.4689 |
| predicted_SO | 2.7570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1370 | 0.3840 | 0.2448 | model_form_blend |
| predicted_3B | 0.0130 | 0.0240 | 0.0178 | model_form_blend |
| predicted_AB | 3.4500 | 8.9840 | 5.8647 | model_form_blend |
| predicted_AVG | 0.2650 | 0.2762 | 0.2699 | model_form_blend |
| predicted_BB | 0.2000 | 0.3870 | 0.2816 | model_form_blend |
| predicted_H | 0.7900 | 2.4820 | 1.5283 | model_form_blend |
| predicted_HBP | - | 0.3730 | 0.3730 | form_only |
| predicted_HR | 0.1200 | 0.4330 | 0.2566 | model_form_blend |
| predicted_OBP | 0.3200 | 0.3318 | 0.3251 | model_form_blend |
| predicted_R | 0.3940 | 0.9200 | 0.6235 | model_form_blend |
| predicted_RBI | 0.3400 | 0.8730 | 0.5726 | model_form_blend |
| predicted_SLG | 0.4390 | 0.4689 | 0.4520 | model_form_blend |
| predicted_SO | 0.9750 | 2.7570 | 1.7526 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.283 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260531_LAA@TB |
| game_type | full |
| mlbID | 672724 |
| playerID | 672724 |
| playerName | Oswald Peraza |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-31 |
| sl_k_percent | 25.7 |
| sl_bb_percent | 5.3 |
| sl_woba | 0.356 |
| sl_xwoba | 0.326 |
| sl_xba | 0.262 |
| sl_xslg | 0.411 |
| sl_sweet_spot_percent | 40.2 |
| sl_barrel_batted_rate | 9.0 |
| sl_hard_hit_percent | 33.0 |
| sl_exit_velocity_avg | 86.4 |
| sl_launch_angle_avg | 12.1 |
| sl_whiff_percent | 30.5 |
| sl_swing_percent | 54.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.127 | 0.000 | 0.000 | Hitting_2B | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.990 | 3.000 | 8.000 | Hitting_AB | 3.937 | 4.000 | -0.937 | -1.000 |
| predicted_AVG | 0.222 | 0.667 | 0.250 | Hitting_AVG | 0.243 | 0.250 | 0.423 | 0.417 |
| predicted_BB | 0.131 | 1.000 | 0.000 | Hitting_BB | 0.131 | 0.000 | 0.869 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.890 | 2.000 | 2.000 | Hitting_H | 0.958 | 1.000 | 1.042 | 1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.139 | 0.000 | -0.139 | 0.000 |
| predicted_OBP | 0.263 | 0.750 | 0.250 | Hitting_OBP | 0.291 | 0.250 | 0.459 | 0.500 |
| predicted_R | 0.384 | 1.000 | 1.000 | Hitting_R | 0.384 | 0.000 | 0.616 | 1.000 |
| predicted_RBI | 0.550 | 0.000 | 1.000 | Hitting_RBI | 0.557 | 0.000 | -0.557 | 0.000 |
| predicted_SLG | 0.387 | 0.667 | 0.250 | Hitting_SLG | 0.382 | 0.250 | 0.285 | 0.417 |
| predicted_SO | 0.987 | 0.000 | 2.000 | Hitting_SO | 0.987 | 0.000 | -0.987 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.8900 -> 2.0000 (boost 1.1100, better) |
| Biggest Deboost | predicted_AB: 3.9900 -> 3.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 | 8 | 8 | 0 | 7 | 1 | predicted_AB: 3.9900 -> 7.8915 (boost 3.9015, 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_RBI: 1.1505 -> 1.2080 (boost 0.0575, better) | predicted_OBP: 0.2641 -> 0.2553 (deboost -0.0088, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_SO: 1.8285 -> 2.0000 (boost 0.1715, worse) | predicted_HBP: 0.3540 -> 0.0000 (deboost -0.3540, worse) | AB rounded to 8 (raw=7.89), rates preserved: AVG=0.234 HR/AB=0.038 |
| 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.8723 -> 1.0000 (boost 0.1277, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2342 -> 0.2500 (boost 0.0158, better) | predicted_SLG: 0.3931 -> 0.2500 (deboost -0.1431, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 8.0000 -> 3.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.2500 -> 0.3931 (boost 0.1431, better) | predicted_AVG: 0.2500 -> 0.2342 (deboost -0.0158, worse) | 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.127,
"predicted_3B": 0.0,
"predicted_AB": 3.99,
"predicted_AVG": 0.222,
"predicted_BB": 0.131,
"predicted_H": 0.89,
"predicted_HR": 0.15,
"predicted_OBP": 0.263,
"predicted_R": 0.384,
"predicted_RBI": 0.55,
"predicted_SLG": 0.387,
"predicted_SO": 0.987
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3451,
"predicted_3B": 0.0004,
"predicted_AB": 7.8915,
"predicted_AVG": 0.2251,
"predicted_BB": 0.2228,
"predicted_H": 1.7943,
"predicted_HBP": 0.354,
"predicted_HR": 0.2948,
"predicted_OBP": 0.2641,
"predicted_R": 0.8308,
"predicted_RBI": 1.1505,
"predicted_SLG": 0.3881,
"predicted_SO": 1.837
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.127,
"after": 0.3451,
"delta": 0.2181,
"percent_delta": 1.7173,
"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.99,
"after": 7.8915,
"delta": 3.9015,
"percent_delta": 0.9778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2251,
"delta": 0.0031,
"percent_delta": 0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.131,
"after": 0.2228,
"delta": 0.0918,
"percent_delta": 0.7008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 1.7943,
"delta": 0.9043,
"percent_delta": 1.0161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.2948,
"delta": 0.1448,
"percent_delta": 0.9653,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.263,
"after": 0.2641,
"delta": 0.0011,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.384,
"after": 0.8308,
"delta": 0.4468,
"percent_delta": 1.1635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 1.1505,
"delta": 0.6005,
"percent_delta": 1.0918,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.3881,
"delta": 0.0011,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.987,
"after": 1.837,
"delta": 0.85,
"percent_delta": 0.8612,
"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.99,
"after": 7.8915,
"delta": 3.9015,
"percent_delta": 0.9778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 60
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.3451,
"predicted_3B": 0.0004,
"predicted_AB": 7.8915,
"predicted_AVG": 0.2342,
"predicted_BB": 0.2238,
"predicted_H": 1.8481,
"predicted_HBP": 0.354,
"predicted_HR": 0.3026,
"predicted_OBP": 0.2553,
"predicted_R": 0.8723,
"predicted_RBI": 1.208,
"predicted_SLG": 0.3931,
"predicted_SO": 1.8285
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3451,
"after": 0.3451,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.8915,
"after": 7.8915,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2251,
"after": 0.2342,
"delta": 0.0091,
"percent_delta": 0.0404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2228,
"after": 0.2238,
"delta": 0.001,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7943,
"after": 1.8481,
"delta": 0.0538,
"percent_delta": 0.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.354,
"after": 0.354,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2948,
"after": 0.3026,
"delta": 0.0078,
"percent_delta": 0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2641,
"after": 0.2553,
"delta": -0.0088,
"percent_delta": -0.0333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8308,
"after": 0.8723,
"delta": 0.0415,
"percent_delta": 0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.1505,
"after": 1.208,
"delta": 0.0575,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3881,
"after": 0.3931,
"delta": 0.005,
"percent_delta": 0.0129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.837,
"after": 1.8285,
"delta": -0.0085,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.1505,
"after": 1.208,
"delta": 0.0575,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2641,
"after": 0.2553,
"delta": -0.0088,
"percent_delta": -0.0333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.89), rates preserved: AVG=0.234 HR/AB=0.038",
"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.3451,
"after": 0.0,
"delta": -0.3451,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.8915,
"after": 8.0,
"delta": 0.1085,
"percent_delta": 0.0137,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2238,
"after": 0.0,
"delta": -0.2238,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.8481,
"after": 2.0,
"delta": 0.1519,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.354,
"after": 0.0,
"delta": -0.354,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3026,
"after": 0.0,
"delta": -0.3026,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.208,
"after": 1.0,
"delta": -0.208,
"percent_delta": -0.1722,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8285,
"after": 2.0,
"delta": 0.1715,
"percent_delta": 0.0938,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.8285,
"after": 2.0,
"delta": 0.1715,
"percent_delta": 0.0938,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.354,
"after": 0.0,
"delta": -0.354,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.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": 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_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": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8723,
"after": 1.0,
"delta": 0.1277,
"percent_delta": 0.1464,
"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.8723,
"after": 1.0,
"delta": 0.1277,
"percent_delta": 0.1464,
"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": 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.2342,
"after": 0.25,
"delta": 0.0158,
"percent_delta": 0.0675,
"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.2553,
"after": 0.25,
"delta": -0.0053,
"percent_delta": -0.0208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3931,
"after": 0.25,
"delta": -0.1431,
"percent_delta": -0.364,
"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.2342,
"after": 0.25,
"delta": 0.0158,
"percent_delta": 0.0675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3931,
"after": 0.25,
"delta": -0.1431,
"percent_delta": -0.364,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 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": 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": 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": 1.0,
"after": 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": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"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.2342,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2553,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3931,
"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.2342,
"delta": -0.0158,
"percent_delta": -0.0632,
"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.25,
"after": 0.2553,
"delta": 0.0053,
"percent_delta": 0.0213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3931,
"delta": 0.1431,
"percent_delta": 0.5722,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3931,
"delta": 0.1431,
"percent_delta": 0.5722,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2342,
"delta": -0.0158,
"percent_delta": -0.0632,
"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.127,
"after": 0.0,
"delta": -0.127,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.99,
"after": 3.0,
"delta": -0.99,
"percent_delta": -0.2481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2342,
"delta": 0.0122,
"percent_delta": 0.055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.131,
"after": 1.0,
"delta": 0.869,
"percent_delta": 6.6336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 2.0,
"delta": 1.11,
"percent_delta": 1.2472,
"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.263,
"after": 0.2553,
"delta": -0.0077,
"percent_delta": -0.0293,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.384,
"after": 1.0,
"delta": 0.616,
"percent_delta": 1.6042,
"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.387,
"after": 0.3931,
"delta": 0.0061,
"percent_delta": 0.0158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.987,
"after": 0.0,
"delta": -0.987,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.89,
"after": 2.0,
"delta": 1.11,
"percent_delta": 1.2472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.99,
"after": 3.0,
"delta": -0.99,
"percent_delta": -0.2481,
"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.127 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.990 | - |
| predicted_AVG | 0.222 | - |
| predicted_BB | 0.131 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.263 | - |
| predicted_R | 0.384 | - |
| predicted_RBI | 0.550 | - |
| predicted_SLG | 0.387 | - |
| predicted_SO | 0.987 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.218 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.891 | 3.901 |
| predicted_AVG | 0.225 | 0.003 |
| predicted_BB | 0.223 | 0.092 |
| predicted_H | 1.794 | 0.904 |
| predicted_HBP | 0.354 | - |
| predicted_HR | 0.295 | 0.145 |
| predicted_OBP | 0.264 | 0.001 |
| predicted_R | 0.831 | 0.447 |
| predicted_RBI | 1.151 | 0.601 |
| predicted_SLG | 0.388 | 0.001 |
| predicted_SO | 1.837 | 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.345 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.891 | 0.000 |
| predicted_AVG | 0.234 | 0.009 |
| predicted_BB | 0.224 | 0.001 |
| predicted_H | 1.848 | 0.054 |
| predicted_HBP | 0.354 | 0.000 |
| predicted_HR | 0.303 | 0.008 |
| predicted_OBP | 0.255 | -0.009 |
| predicted_R | 0.872 | 0.041 |
| predicted_RBI | 1.208 | 0.057 |
| predicted_SLG | 0.393 | 0.005 |
| predicted_SO | 1.829 | -0.008 |
AB rounded to 8 (raw=7.89), rates preserved: AVG=0.234 HR/AB=0.038
| 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 | - |
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 | 8.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 | 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.345 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 8.000 | 0.109 |
| predicted_AVG | 0.250 | 0.016 |
| predicted_BB | 0.000 | -0.224 |
| predicted_H | 2.000 | 0.152 |
| predicted_HR | 0.000 | -0.303 |
| predicted_OBP | 0.250 | -0.005 |
| predicted_R | 1.000 | 0.128 |
| predicted_RBI | 1.000 | -0.208 |
| predicted_SLG | 0.250 | -0.143 |
| predicted_SO | 2.000 | 0.171 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -5.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 | 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 | 4 | - | 21.000 | 4.000 | 2.000 | 0.000 | 1.000 | 4.000 | 3.000 | 0.000 | 3.000 | 0.1905 | 0.1905 | 0.4286 | 0.1905 | 0.0476 | 0.1905 | 0.0000 | 0.1429 |
| last_10 | 0.20 | 5 | - | 38.000 | 6.000 | 4.000 | 0.000 | 1.000 | 4.000 | 5.000 | 0.000 | 8.000 | 0.1579 | 0.1579 | 0.3421 | 0.1579 | 0.0263 | 0.1053 | 0.0000 | 0.2105 |
| season | 0.60 | 60 | - | 933.000 | 227.000 | 30.000 | 0.000 | 33.000 | 132.000 | 91.000 | 31.000 | 234.000 | 0.2433 | 0.2907 | 0.3816 | 0.2433 | 0.0354 | 0.1415 | 0.0332 | 0.2508 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6210 |
| predicted_3B | 0.0010 |
| predicted_AB | 12.8260 |
| predicted_AVG | 0.2291 |
| predicted_BB | 0.3390 |
| predicted_H | 2.9380 |
| predicted_HBP | 0.3540 |
| predicted_HR | 0.4780 |
| predicted_OBP | 0.2655 |
| predicted_R | 1.3960 |
| predicted_RBI | 1.9100 |
| predicted_SLG | 0.3896 |
| predicted_SO | 2.9120 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1270 | 0.6210 | 0.3451 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9900 | 12.8260 | 7.8915 | model_form_blend |
| predicted_AVG | 0.2220 | 0.2291 | 0.2251 | model_form_blend |
| predicted_BB | 0.1310 | 0.3390 | 0.2228 | model_form_blend |
| predicted_H | 0.8900 | 2.9380 | 1.7943 | model_form_blend |
| predicted_HBP | - | 0.3540 | 0.3540 | form_only |
| predicted_HR | 0.1500 | 0.4780 | 0.2948 | model_form_blend |
| predicted_OBP | 0.2630 | 0.2655 | 0.2641 | model_form_blend |
| predicted_R | 0.3840 | 1.3960 | 0.8308 | model_form_blend |
| predicted_RBI | 0.5500 | 1.9100 | 1.1505 | model_form_blend |
| predicted_SLG | 0.3870 | 0.3896 | 0.3881 | model_form_blend |
| predicted_SO | 0.9870 | 2.9120 | 1.8370 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 237 |
| Season rows before report date | 237 |
| Report year | 2026 |
| Profile rows used | 237 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.243 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260531_LAA@TB |
| game_type | full |
| mlbID | 666176 |
| playerID | 666176 |
| playerName | Jo Adell |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-31 |
| sl_k_percent | 23.7 |
| sl_bb_percent | 2.9 |
| sl_woba | 0.298 |
| sl_xwoba | 0.335 |
| sl_xba | 0.268 |
| sl_xslg | 0.458 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 47.1 |
| sl_exit_velocity_avg | 91.2 |
| sl_launch_angle_avg | 19.3 |
| sl_whiff_percent | 26.5 |
| sl_swing_percent | 55.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.250 | 0.000 | 0.000 | Hitting_2B | 0.158 | 0.000 | -0.158 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 1.579 | 2.000 | 2.421 | 2.000 |
| predicted_AVG | 0.331 | 0.500 | 0.333 | Hitting_AVG | 0.267 | 0.500 | 0.233 | 0.000 |
| predicted_BB | 0.000 | 0.000 | 0.000 | Hitting_BB | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_H | 0.520 | 2.000 | 1.000 | Hitting_H | 0.421 | 1.000 | 1.579 | 1.000 |
| predicted_HR | 0.090 | 1.000 | 0.000 | Hitting_HR | 0.053 | 0.000 | 0.947 | 1.000 |
| predicted_OBP | 0.331 | 0.500 | 0.333 | Hitting_OBP | 0.290 | 0.500 | 0.210 | 0.000 |
| predicted_R | 0.500 | 1.000 | 1.000 | Hitting_R | 0.368 | 1.000 | 0.632 | 0.000 |
| predicted_RBI | 0.300 | 2.000 | 0.000 | Hitting_RBI | 0.105 | 0.000 | 1.895 | 2.000 |
| predicted_SLG | 0.476 | 1.250 | 0.333 | Hitting_SLG | 0.467 | 0.500 | 0.783 | 0.750 |
| predicted_SO | 1.083 | 0.000 | 1.000 | Hitting_SO | 0.684 | 1.000 | -0.684 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_RBI: 0.3000 -> 2.0000 (boost 1.7000, better) |
| Biggest Deboost | predicted_SO: 1.0830 -> 0.0000 (deboost -1.0830, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 2 | 2 | predicted_AB: 2.5000 -> 2.7877 (boost 0.2877, better) | predicted_AVG: 0.3310 -> 0.3129 (deboost -0.0181, 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.3129 -> 0.2387 (deboost -0.0742, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_H: 0.6655 -> 1.0000 (boost 0.3345, better) | predicted_RBI: 0.3457 -> 0.0000 (deboost -0.3457, worse) | AB rounded to 3 (raw=2.79), rates preserved: AVG=0.239 HR/AB=0.039 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5715 -> 1.0000 (boost 0.4285, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2387 -> 0.3330 (boost 0.0943, better) | predicted_SLG: 0.4476 -> 0.3330 (deboost -0.1146, 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 -> 2.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4476 (boost 0.1146, better) | predicted_AVG: 0.3330 -> 0.2387 (deboost -0.0943, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "642350",
"player_name": "Jose Siri",
"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.25,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.331,
"predicted_BB": 0.0,
"predicted_H": 0.52,
"predicted_HR": 0.09,
"predicted_OBP": 0.331,
"predicted_R": 0.5,
"predicted_RBI": 0.3,
"predicted_SLG": 0.476,
"predicted_SO": 1.083
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2515,
"predicted_3B": 0.0021,
"predicted_AB": 2.7877,
"predicted_AVG": 0.3129,
"predicted_BB": 0.0404,
"predicted_H": 0.6461,
"predicted_HBP": 0.016,
"predicted_HR": 0.1061,
"predicted_OBP": 0.3225,
"predicted_R": 0.5443,
"predicted_RBI": 0.3292,
"predicted_SLG": 0.4753,
"predicted_SO": 1.0827
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.2515,
"delta": 0.0015,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0021,
"delta": 0.0021,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.7877,
"delta": 0.2877,
"percent_delta": 0.1151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.331,
"after": 0.3129,
"delta": -0.0181,
"percent_delta": -0.0547,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0404,
"delta": 0.0404,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.52,
"after": 0.6461,
"delta": 0.1261,
"percent_delta": 0.2425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1061,
"delta": 0.0161,
"percent_delta": 0.1789,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3225,
"delta": -0.0085,
"percent_delta": -0.0257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.5443,
"delta": 0.0443,
"percent_delta": 0.0886,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.3292,
"delta": 0.0292,
"percent_delta": 0.0973,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.476,
"after": 0.4753,
"delta": -0.0007,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.083,
"after": 1.0827,
"delta": -0.0003,
"percent_delta": -0.0003,
"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_AB",
"before": 2.5,
"after": 2.7877,
"delta": 0.2877,
"percent_delta": 0.1151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.331,
"after": 0.3129,
"delta": -0.0181,
"percent_delta": -0.0547,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 7,
"season": 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.2515,
"predicted_3B": 0.0021,
"predicted_AB": 2.7877,
"predicted_AVG": 0.2387,
"predicted_BB": 0.0406,
"predicted_H": 0.6655,
"predicted_HBP": 0.016,
"predicted_HR": 0.1089,
"predicted_OBP": 0.2496,
"predicted_R": 0.5715,
"predicted_RBI": 0.3457,
"predicted_SLG": 0.4476,
"predicted_SO": 1.0777
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2515,
"after": 0.2515,
"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": 2.7877,
"after": 2.7877,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3129,
"after": 0.2387,
"delta": -0.0742,
"percent_delta": -0.2371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0404,
"after": 0.0406,
"delta": 0.0002,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6461,
"after": 0.6655,
"delta": 0.0194,
"percent_delta": 0.03,
"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.1061,
"after": 0.1089,
"delta": 0.0028,
"percent_delta": 0.0264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3225,
"after": 0.2496,
"delta": -0.0729,
"percent_delta": -0.226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5443,
"after": 0.5715,
"delta": 0.0272,
"percent_delta": 0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3292,
"after": 0.3457,
"delta": 0.0165,
"percent_delta": 0.0501,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4753,
"after": 0.4476,
"delta": -0.0277,
"percent_delta": -0.0583,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0827,
"after": 1.0777,
"delta": -0.005,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3129,
"after": 0.2387,
"delta": -0.0742,
"percent_delta": -0.2371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.79), rates preserved: AVG=0.239 HR/AB=0.039",
"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.2515,
"after": 0.0,
"delta": -0.2515,
"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": 2.7877,
"after": 3.0,
"delta": 0.2123,
"percent_delta": 0.0762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0406,
"after": 0.0,
"delta": -0.0406,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6655,
"after": 1.0,
"delta": 0.3345,
"percent_delta": 0.5026,
"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.1089,
"after": 0.0,
"delta": -0.1089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3457,
"after": 0.0,
"delta": -0.3457,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0777,
"after": 1.0,
"delta": -0.0777,
"percent_delta": -0.0721,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6655,
"after": 1.0,
"delta": 0.3345,
"percent_delta": 0.5026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3457,
"after": 0.0,
"delta": -0.3457,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5715,
"after": 1.0,
"delta": 0.4285,
"percent_delta": 0.7498,
"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.5715,
"after": 1.0,
"delta": 0.4285,
"percent_delta": 0.7498,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.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": 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.2387,
"after": 0.333,
"delta": 0.0943,
"percent_delta": 0.3951,
"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.2496,
"after": 0.333,
"delta": 0.0834,
"percent_delta": 0.3341,
"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.4476,
"after": 0.333,
"delta": -0.1146,
"percent_delta": -0.256,
"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.2387,
"after": 0.333,
"delta": 0.0943,
"percent_delta": 0.3951,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4476,
"after": 0.333,
"delta": -0.1146,
"percent_delta": -0.256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2387,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2496,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4476,
"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.2387,
"delta": -0.0943,
"percent_delta": -0.2831,
"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.333,
"after": 0.2496,
"delta": -0.0834,
"percent_delta": -0.2503,
"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.4476,
"delta": 0.1146,
"percent_delta": 0.3443,
"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.4476,
"delta": 0.1146,
"percent_delta": 0.3443,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2387,
"delta": -0.0943,
"percent_delta": -0.2831,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.331,
"after": 0.2387,
"delta": -0.0923,
"percent_delta": -0.2789,
"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.52,
"after": 2.0,
"delta": 1.48,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 1.0,
"delta": 0.91,
"percent_delta": 10.1111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.2496,
"delta": -0.0814,
"percent_delta": -0.2459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 2.0,
"delta": 1.7,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.476,
"after": 0.4476,
"delta": -0.0284,
"percent_delta": -0.0597,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.083,
"after": 0.0,
"delta": -1.083,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.3,
"after": 2.0,
"delta": 1.7,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.083,
"after": 0.0,
"delta": -1.083,
"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.250 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.331 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.520 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.476 | - |
| predicted_SO | 1.083 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.252 | 0.002 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.788 | 0.288 |
| predicted_AVG | 0.313 | -0.018 |
| predicted_BB | 0.040 | 0.040 |
| predicted_H | 0.646 | 0.126 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.106 | 0.016 |
| predicted_OBP | 0.323 | -0.009 |
| predicted_R | 0.544 | 0.044 |
| predicted_RBI | 0.329 | 0.029 |
| predicted_SLG | 0.475 | -0.001 |
| predicted_SO | 1.083 | -0.000 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.252 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.788 | 0.000 |
| predicted_AVG | 0.239 | -0.074 |
| predicted_BB | 0.041 | 0.000 |
| predicted_H | 0.665 | 0.019 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.109 | 0.003 |
| predicted_OBP | 0.250 | -0.073 |
| predicted_R | 0.572 | 0.027 |
| predicted_RBI | 0.346 | 0.017 |
| predicted_SLG | 0.448 | -0.028 |
| predicted_SO | 1.078 | -0.005 |
AB rounded to 3 (raw=2.79), rates preserved: AVG=0.239 HR/AB=0.039
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.252 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.212 |
| predicted_AVG | 0.333 | 0.094 |
| predicted_BB | 0.000 | -0.041 |
| predicted_H | 1.000 | 0.335 |
| predicted_HR | 0.000 | -0.109 |
| predicted_OBP | 0.333 | 0.083 |
| predicted_R | 1.000 | 0.428 |
| predicted_RBI | 0.000 | -0.346 |
| predicted_SLG | 0.333 | -0.115 |
| predicted_SO | 1.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 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 10.000 | 4.000 | 1.000 | 0.000 | 1.000 | 2.000 | 4.000 | 0.000 | 3.000 | 0.4000 | 0.4000 | 0.8000 | 0.4000 | 0.1000 | 0.2000 | 0.0000 | 0.3000 |
| last_10 | 0.20 | 7 | - | 23.000 | 5.000 | 2.000 | 0.000 | 1.000 | 2.000 | 5.000 | 0.000 | 11.000 | 0.2174 | 0.2174 | 0.4348 | 0.2174 | 0.0435 | 0.0870 | 0.0000 | 0.4783 |
| season | 0.60 | 9 | - | 30.000 | 8.000 | 3.000 | 0.000 | 1.000 | 2.000 | 6.000 | 0.000 | 13.000 | 0.2667 | 0.2667 | 0.4667 | 0.2667 | 0.0333 | 0.0667 | 0.0000 | 0.4333 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2550 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.4470 |
| predicted_AVG | 0.2713 |
| predicted_BB | 0.1330 |
| predicted_H | 0.9350 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.1430 |
| predicted_OBP | 0.3030 |
| predicted_R | 0.6460 |
| predicted_RBI | 0.3960 |
| predicted_SLG | 0.4737 |
| predicted_SO | 1.0820 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2500 | 0.2550 | 0.2515 | model_form_blend |
| predicted_3B | 0.0000 | 0.0070 | 0.0021 | model_form_blend |
| predicted_AB | 2.5000 | 3.4470 | 2.7877 | model_form_blend |
| predicted_AVG | 0.3310 | 0.2713 | 0.3129 | model_form_blend |
| predicted_BB | 0.0000 | 0.1330 | 0.0404 | model_form_blend |
| predicted_H | 0.5200 | 0.9350 | 0.6461 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0900 | 0.1430 | 0.1061 | model_form_blend |
| predicted_OBP | 0.3310 | 0.3030 | 0.3225 | model_form_blend |
| predicted_R | 0.5000 | 0.6460 | 0.5443 | model_form_blend |
| predicted_RBI | 0.3000 | 0.3960 | 0.3292 | model_form_blend |
| predicted_SLG | 0.4760 | 0.4737 | 0.4753 | model_form_blend |
| predicted_SO | 1.0830 | 1.0820 | 1.0827 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 19 |
| Season rows before report date | 19 |
| Report year | 2026 |
| Profile rows used | 14 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 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 | 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 | 1 |
| 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 | LF |
| gameID | 20260531_LAA@TB |
| game_type | full |
| mlbID | 642350 |
| playerID | 642350 |
| playerName | Jose Siri |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-31 |
| sl_k_percent | 35.3 |
| sl_bb_percent | 5.9 |
| sl_woba | 0.419 |
| sl_xwoba | 0.296 |
| sl_xba | 0.22 |
| sl_xslg | 0.424 |
| sl_sweet_spot_percent | 50.0 |
| sl_barrel_batted_rate | 20.0 |
| sl_hard_hit_percent | 40.0 |
| sl_exit_velocity_avg | 85.7 |
| sl_launch_angle_avg | 20.5 |
| sl_whiff_percent | 45.7 |
| sl_swing_percent | 53.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.121 | 1.000 | 0.000 | Hitting_2B | 0.119 | 1.000 | 0.881 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.395 | 4.000 | 6.000 | Hitting_AB | 3.341 | 4.000 | 0.659 | 0.000 |
| predicted_AVG | 0.239 | 0.500 | 0.167 | Hitting_AVG | 0.226 | 0.500 | 0.274 | 0.000 |
| predicted_BB | 0.395 | 0.000 | 1.000 | Hitting_BB | 0.389 | 0.000 | -0.389 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.680 | 2.000 | 1.000 | Hitting_H | 0.754 | 2.000 | 1.246 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.040 | 1.000 | -0.040 | -1.000 |
| predicted_OBP | 0.302 | 0.500 | 0.286 | Hitting_OBP | 0.320 | 0.500 | 0.180 | 0.000 |
| predicted_R | 0.427 | 1.000 | 1.000 | Hitting_R | 0.421 | 1.000 | 0.579 | 0.000 |
| predicted_RBI | 0.380 | 1.000 | 1.000 | Hitting_RBI | 0.373 | 1.000 | 0.627 | 0.000 |
| predicted_SLG | 0.369 | 0.750 | 0.167 | Hitting_SLG | 0.297 | 1.500 | 0.453 | -0.750 |
| predicted_SO | 0.831 | 1.000 | 1.000 | Hitting_SO | 0.817 | 1.000 | 0.183 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.6800 -> 2.0000 (boost 1.3200, better) |
| Biggest Deboost | predicted_BB: 0.3950 -> 0.0000 (deboost -0.3950, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3950 -> 6.2197 (boost 2.8247, better) | predicted_SLG: 0.3690 -> 0.3548 (deboost -0.0142, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3548 -> 0.3380 (deboost -0.0168, 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.6487 -> 1.0000 (boost 0.3513, better) | predicted_H: 1.3722 -> 1.0000 (deboost -0.3722, worse) | AB rounded to 6 (raw=6.22), rates preserved: AVG=0.221 HR/AB=0.024 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8349 -> 1.0000 (boost 0.1651, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3380 -> 0.1670 (deboost -0.1710, 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: 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.3380 (boost 0.1710, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681351",
"player_name": "Logan O'Hoppe",
"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.121,
"predicted_3B": 0.0,
"predicted_AB": 3.395,
"predicted_AVG": 0.239,
"predicted_BB": 0.395,
"predicted_H": 0.68,
"predicted_HR": 0.09,
"predicted_OBP": 0.302,
"predicted_R": 0.427,
"predicted_RBI": 0.38,
"predicted_SLG": 0.369,
"predicted_SO": 0.831
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.283,
"predicted_3B": 0.0009,
"predicted_AB": 6.2197,
"predicted_AVG": 0.2309,
"predicted_BB": 0.6457,
"predicted_H": 1.3322,
"predicted_HBP": 0.205,
"predicted_HR": 0.1446,
"predicted_OBP": 0.3011,
"predicted_R": 0.7951,
"predicted_RBI": 0.7035,
"predicted_SLG": 0.3548,
"predicted_SO": 1.329
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.121,
"after": 0.283,
"delta": 0.162,
"percent_delta": 1.3388,
"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.395,
"after": 6.2197,
"delta": 2.8247,
"percent_delta": 0.832,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2309,
"delta": -0.0081,
"percent_delta": -0.0339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.395,
"after": 0.6457,
"delta": 0.2507,
"percent_delta": 0.6347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 1.3322,
"delta": 0.6522,
"percent_delta": 0.9591,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1446,
"delta": 0.0546,
"percent_delta": 0.6067,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.3011,
"delta": -0.0009,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.427,
"after": 0.7951,
"delta": 0.3681,
"percent_delta": 0.8621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.7035,
"delta": 0.3235,
"percent_delta": 0.8513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3548,
"delta": -0.0142,
"percent_delta": -0.0385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.831,
"after": 1.329,
"delta": 0.498,
"percent_delta": 0.5993,
"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.395,
"after": 6.2197,
"delta": 2.8247,
"percent_delta": 0.832,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3548,
"delta": -0.0142,
"percent_delta": -0.0385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 3,
"last_10": 5,
"season": 36
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.283,
"predicted_3B": 0.0009,
"predicted_AB": 6.2197,
"predicted_AVG": 0.2206,
"predicted_BB": 0.6487,
"predicted_H": 1.3722,
"predicted_HBP": 0.205,
"predicted_HR": 0.1484,
"predicted_OBP": 0.2942,
"predicted_R": 0.8349,
"predicted_RBI": 0.7387,
"predicted_SLG": 0.338,
"predicted_SO": 1.3229
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.283,
"after": 0.283,
"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.2197,
"after": 6.2197,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2309,
"after": 0.2206,
"delta": -0.0103,
"percent_delta": -0.0446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6457,
"after": 0.6487,
"delta": 0.003,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3322,
"after": 1.3722,
"delta": 0.04,
"percent_delta": 0.03,
"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.1446,
"after": 0.1484,
"delta": 0.0038,
"percent_delta": 0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3011,
"after": 0.2942,
"delta": -0.0069,
"percent_delta": -0.0229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7951,
"after": 0.8349,
"delta": 0.0398,
"percent_delta": 0.0501,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7035,
"after": 0.7387,
"delta": 0.0352,
"percent_delta": 0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3548,
"after": 0.338,
"delta": -0.0168,
"percent_delta": -0.0474,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.329,
"after": 1.3229,
"delta": -0.0061,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3548,
"after": 0.338,
"delta": -0.0168,
"percent_delta": -0.0474,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.22), rates preserved: AVG=0.221 HR/AB=0.024",
"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.283,
"after": 0.0,
"delta": -0.283,
"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.2197,
"after": 6.0,
"delta": -0.2197,
"percent_delta": -0.0353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6487,
"after": 1.0,
"delta": 0.3513,
"percent_delta": 0.5415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3722,
"after": 1.0,
"delta": -0.3722,
"percent_delta": -0.2712,
"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.1484,
"after": 0.0,
"delta": -0.1484,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7387,
"after": 1.0,
"delta": 0.2613,
"percent_delta": 0.3537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3229,
"after": 1.0,
"delta": -0.3229,
"percent_delta": -0.2441,
"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.6487,
"after": 1.0,
"delta": 0.3513,
"percent_delta": 0.5415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.3722,
"after": 1.0,
"delta": -0.3722,
"percent_delta": -0.2712,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9333,
"bvp": 0.0667
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8349,
"after": 1.0,
"delta": 0.1651,
"percent_delta": 0.1977,
"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.8349,
"after": 1.0,
"delta": 0.1651,
"percent_delta": 0.1977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2206,
"after": 0.167,
"delta": -0.0536,
"percent_delta": -0.243,
"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.2942,
"after": 0.286,
"delta": -0.0082,
"percent_delta": -0.0279,
"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.338,
"after": 0.167,
"delta": -0.171,
"percent_delta": -0.5059,
"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.338,
"after": 0.167,
"delta": -0.171,
"percent_delta": -0.5059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2206,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2942,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.338,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.2206,
"delta": 0.0536,
"percent_delta": 0.3211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2942,
"delta": 0.0082,
"percent_delta": 0.0288,
"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.338,
"delta": 0.171,
"percent_delta": 1.0239,
"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.338,
"delta": 0.171,
"percent_delta": 1.0239,
"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.121,
"after": 1.0,
"delta": 0.879,
"percent_delta": 7.2645,
"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.395,
"after": 4.0,
"delta": 0.605,
"percent_delta": 0.1782,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2206,
"delta": -0.0184,
"percent_delta": -0.077,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.395,
"after": 0.0,
"delta": -0.395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 2.0,
"delta": 1.32,
"percent_delta": 1.9412,
"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.302,
"after": 0.2942,
"delta": -0.0078,
"percent_delta": -0.0258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.427,
"after": 1.0,
"delta": 0.573,
"percent_delta": 1.3419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 1.0,
"delta": 0.62,
"percent_delta": 1.6316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.338,
"delta": -0.031,
"percent_delta": -0.084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.831,
"after": 1.0,
"delta": 0.169,
"percent_delta": 0.2034,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.68,
"after": 2.0,
"delta": 1.32,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.395,
"after": 0.0,
"delta": -0.395,
"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.121 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.395 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.395 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.302 | - |
| predicted_R | 0.427 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.369 | - |
| predicted_SO | 0.831 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.283 | 0.162 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.220 | 2.825 |
| predicted_AVG | 0.231 | -0.008 |
| predicted_BB | 0.646 | 0.251 |
| predicted_H | 1.332 | 0.652 |
| predicted_HBP | 0.205 | - |
| predicted_HR | 0.145 | 0.055 |
| predicted_OBP | 0.301 | -0.001 |
| predicted_R | 0.795 | 0.368 |
| predicted_RBI | 0.704 | 0.324 |
| predicted_SLG | 0.355 | -0.014 |
| predicted_SO | 1.329 | 0.498 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.283 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.220 | 0.000 |
| predicted_AVG | 0.221 | -0.010 |
| predicted_BB | 0.649 | 0.003 |
| predicted_H | 1.372 | 0.040 |
| predicted_HBP | 0.205 | 0.000 |
| predicted_HR | 0.148 | 0.004 |
| predicted_OBP | 0.294 | -0.007 |
| predicted_R | 0.835 | 0.040 |
| predicted_RBI | 0.739 | 0.035 |
| predicted_SLG | 0.338 | -0.017 |
| predicted_SO | 1.323 | -0.006 |
AB rounded to 6 (raw=6.22), rates preserved: AVG=0.221 HR/AB=0.024
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.283 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | -0.220 |
| predicted_AVG | 0.167 | -0.054 |
| predicted_BB | 1.000 | 0.351 |
| predicted_H | 1.000 | -0.372 |
| predicted_HR | 0.000 | -0.148 |
| predicted_OBP | 0.286 | -0.008 |
| predicted_R | 1.000 | 0.165 |
| predicted_RBI | 1.000 | 0.261 |
| predicted_SLG | 0.167 | -0.171 |
| predicted_SO | 1.000 | -0.323 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -2.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 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 | - | 16.000 | 2.000 | 1.000 | 0.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 0.1250 | 0.1765 | 0.3750 | 0.1250 | 0.0625 | 0.0625 | 0.0625 | 0.0625 |
| last_10 | 0.20 | 5 | - | 36.000 | 11.000 | 5.000 | 0.000 | 1.000 | 7.000 | 9.000 | 1.000 | 2.000 | 0.3056 | 0.3243 | 0.5278 | 0.3056 | 0.0278 | 0.1944 | 0.0278 | 0.0556 |
| season | 0.60 | 36 | - | 421.000 | 95.000 | 15.000 | 0.000 | 5.000 | 47.000 | 53.000 | 49.000 | 103.000 | 0.2257 | 0.3203 | 0.2969 | 0.2256 | 0.0119 | 0.1116 | 0.1164 | 0.2447 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4950 |
| predicted_3B | 0.0020 |
| predicted_AB | 9.9180 |
| predicted_AVG | 0.2204 |
| predicted_BB | 0.9740 |
| predicted_H | 2.1860 |
| predicted_HBP | 0.2050 |
| predicted_HR | 0.2160 |
| predicted_OBP | 0.3000 |
| predicted_R | 1.2770 |
| predicted_RBI | 1.1270 |
| predicted_SLG | 0.3361 |
| predicted_SO | 1.9810 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1210 | 0.4950 | 0.2830 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.3950 | 9.9180 | 6.2197 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2204 | 0.2309 | model_form_blend |
| predicted_BB | 0.3950 | 0.9740 | 0.6457 | model_form_blend |
| predicted_H | 0.6800 | 2.1860 | 1.3322 | model_form_blend |
| predicted_HBP | - | 0.2050 | 0.2050 | form_only |
| predicted_HR | 0.0900 | 0.2160 | 0.1446 | model_form_blend |
| predicted_OBP | 0.3020 | 0.3000 | 0.3011 | model_form_blend |
| predicted_R | 0.4270 | 1.2770 | 0.7951 | model_form_blend |
| predicted_RBI | 0.3800 | 1.1270 | 0.7035 | model_form_blend |
| predicted_SLG | 0.3690 | 0.3361 | 0.3548 | model_form_blend |
| predicted_SO | 0.8310 | 1.9810 | 1.3290 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 126 |
| Season rows before report date | 126 |
| Report year | 2026 |
| Profile rows used | 124 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.226 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 6 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260531_LAA@TB |
| game_type | full |
| mlbID | 681351 |
| playerID | 681351 |
| playerName | Logan O'Hoppe |
| pos | C |
| started | True |
| startingPosition | C |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-31 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 10.1 |
| sl_woba | 0.259 |
| sl_xwoba | 0.279 |
| sl_xba | 0.189 |
| sl_xslg | 0.313 |
| sl_sweet_spot_percent | 26.2 |
| sl_barrel_batted_rate | 9.5 |
| sl_hard_hit_percent | 35.7 |
| sl_exit_velocity_avg | 85.8 |
| sl_launch_angle_avg | 16.6 |
| sl_whiff_percent | 28.0 |
| sl_swing_percent | 48.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_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.000 | 3.000 | 3.000 | Hitting_AB | 2.000 | 2.000 | 1.000 | 1.000 |
| predicted_AVG | 0.296 | 0.333 | 0.333 | Hitting_AVG | 0.333 | 0.000 | 0.000 | 0.333 |
| 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.333 | 0.000 | -0.333 | 0.000 |
| predicted_H | 0.540 | 1.000 | 1.000 | Hitting_H | 0.667 | 0.000 | 0.333 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.312 | 0.333 | 0.333 | Hitting_OBP | 0.429 | 0.000 | -0.095 | 0.333 |
| predicted_R | 0.000 | 1.000 | 0.000 | Hitting_R | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_RBI | 0.270 | 2.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 2.000 | 2.000 |
| predicted_SLG | 0.390 | 0.333 | 0.333 | Hitting_SLG | 0.333 | 0.000 | 0.000 | 0.333 |
| predicted_SO | 0.500 | 1.000 | 0.000 | Hitting_SO | 0.333 | 0.000 | 0.667 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 4 |
| Better Metrics | 3 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.2700 -> 2.0000 (boost 1.7300, better) |
| Biggest Deboost | predicted_SLG: 0.3900 -> 0.2936 (deboost -0.0964, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 3 | 2 | predicted_AB: 3.0000 -> 3.1491 (boost 0.1491, better) | predicted_AVG: 0.2960 -> 0.2894 (deboost -0.0066, 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.3911 -> 0.2936 (deboost -0.0975, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 2 | 3 | 1 | 4 | predicted_SO: 0.5566 -> 1.0000 (boost 0.4434, worse) | predicted_RBI: 0.3132 -> 0.0000 (deboost -0.3132, worse) | AB rounded to 3 (raw=3.15), rates preserved: AVG=0.207 HR/AB=0.025 |
| 5 | bvp_blend | 1 | 0 | 1 | 1 | 0 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.571) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.0858 -> 0.0000 (deboost -0.0858, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2065 -> 0.3330 (boost 0.1265, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 3 | 0 | 2 | 1 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2065 (deboost -0.1265, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663611",
"player_name": "Nick Madrigal",
"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.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.296,
"predicted_BB": 0.0,
"predicted_H": 0.54,
"predicted_HR": 0.07,
"predicted_OBP": 0.312,
"predicted_R": 0.0,
"predicted_RBI": 0.27,
"predicted_SLG": 0.39,
"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.0314,
"predicted_3B": 0.0025,
"predicted_AB": 3.1491,
"predicted_AVG": 0.2894,
"predicted_BB": 0.0495,
"predicted_H": 0.6314,
"predicted_HBP": 0.028,
"predicted_HR": 0.0772,
"predicted_OBP": 0.313,
"predicted_R": 0.0817,
"predicted_RBI": 0.2983,
"predicted_SLG": 0.3911,
"predicted_SO": 0.5592
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0314,
"delta": 0.0314,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0025,
"delta": 0.0025,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.1491,
"delta": 0.1491,
"percent_delta": 0.0497,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.2894,
"delta": -0.0066,
"percent_delta": -0.0223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0495,
"delta": 0.0495,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.54,
"after": 0.6314,
"delta": 0.0914,
"percent_delta": 0.1693,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0772,
"delta": 0.0072,
"percent_delta": 0.1029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.313,
"delta": 0.001,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0817,
"delta": 0.0817,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.2983,
"delta": 0.0283,
"percent_delta": 0.1048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.3911,
"delta": 0.0011,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5,
"after": 0.5592,
"delta": 0.0592,
"percent_delta": 0.1184,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 3.1491,
"delta": 0.1491,
"percent_delta": 0.0497,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.2894,
"delta": -0.0066,
"percent_delta": -0.0223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 2,
"last_10": 2,
"season": 2
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0314,
"predicted_3B": 0.0025,
"predicted_AB": 3.1491,
"predicted_AVG": 0.2065,
"predicted_BB": 0.0497,
"predicted_H": 0.6503,
"predicted_HBP": 0.028,
"predicted_HR": 0.0792,
"predicted_OBP": 0.2189,
"predicted_R": 0.0858,
"predicted_RBI": 0.3132,
"predicted_SLG": 0.2936,
"predicted_SO": 0.5566
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0314,
"after": 0.0314,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0025,
"after": 0.0025,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1491,
"after": 3.1491,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2894,
"after": 0.2065,
"delta": -0.0829,
"percent_delta": -0.2865,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0495,
"after": 0.0497,
"delta": 0.0002,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6314,
"after": 0.6503,
"delta": 0.0189,
"percent_delta": 0.0299,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.028,
"after": 0.028,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0772,
"after": 0.0792,
"delta": 0.002,
"percent_delta": 0.0259,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.2189,
"delta": -0.0941,
"percent_delta": -0.3006,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0817,
"after": 0.0858,
"delta": 0.0041,
"percent_delta": 0.0502,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2983,
"after": 0.3132,
"delta": 0.0149,
"percent_delta": 0.0499,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3911,
"after": 0.2936,
"delta": -0.0975,
"percent_delta": -0.2493,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5592,
"after": 0.5566,
"delta": -0.0026,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3911,
"after": 0.2936,
"delta": -0.0975,
"percent_delta": -0.2493,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.15), rates preserved: AVG=0.207 HR/AB=0.025",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0314,
"after": 0.0,
"delta": -0.0314,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0025,
"after": 0.0,
"delta": -0.0025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1491,
"after": 3.0,
"delta": -0.1491,
"percent_delta": -0.0473,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0497,
"after": 0.0,
"delta": -0.0497,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6503,
"after": 1.0,
"delta": 0.3497,
"percent_delta": 0.5378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.028,
"after": 0.0,
"delta": -0.028,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0792,
"after": 0.0,
"delta": -0.0792,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3132,
"after": 0.0,
"delta": -0.3132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5566,
"after": 1.0,
"delta": 0.4434,
"percent_delta": 0.7966,
"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.5566,
"after": 1.0,
"delta": 0.4434,
"percent_delta": 0.7966,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3132,
"after": 0.0,
"delta": -0.3132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.571)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"model_expectation": 0.9243,
"bvp": 0.0757
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0858,
"after": 0.0,
"delta": -0.0858,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.0858,
"after": 0.0,
"delta": -0.0858,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2065,
"after": 0.333,
"delta": 0.1265,
"percent_delta": 0.6126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2189,
"after": 0.333,
"delta": 0.1141,
"percent_delta": 0.5212,
"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.2936,
"after": 0.333,
"delta": 0.0394,
"percent_delta": 0.1342,
"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.2065,
"after": 0.333,
"delta": 0.1265,
"percent_delta": 0.6126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.2065,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2189,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2936,
"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.333,
"after": 0.2065,
"delta": -0.1265,
"percent_delta": -0.3798,
"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.2189,
"delta": -0.1141,
"percent_delta": -0.3428,
"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.2936,
"delta": -0.0394,
"percent_delta": -0.1184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2065,
"delta": -0.1265,
"percent_delta": -0.3798,
"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.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.2065,
"delta": -0.0895,
"percent_delta": -0.3024,
"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.54,
"after": 1.0,
"delta": 0.46,
"percent_delta": 0.8519,
"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.312,
"after": 0.2189,
"delta": -0.0931,
"percent_delta": -0.2984,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.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.2936,
"delta": -0.0964,
"percent_delta": -0.2472,
"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": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"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_SLG",
"before": 0.39,
"after": 0.2936,
"delta": -0.0964,
"percent_delta": -0.2472,
"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.000 | - |
| predicted_AVG | 0.296 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.540 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 0.000 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.390 | - |
| 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.031 | 0.031 |
| predicted_3B | 0.003 | 0.003 |
| predicted_AB | 3.149 | 0.149 |
| predicted_AVG | 0.289 | -0.007 |
| predicted_BB | 0.050 | 0.050 |
| predicted_H | 0.631 | 0.091 |
| predicted_HBP | 0.028 | - |
| predicted_HR | 0.077 | 0.007 |
| predicted_OBP | 0.313 | 0.001 |
| predicted_R | 0.082 | 0.082 |
| predicted_RBI | 0.298 | 0.028 |
| predicted_SLG | 0.391 | 0.001 |
| predicted_SO | 0.559 | 0.059 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.031 | 0.000 |
| predicted_3B | 0.003 | 0.000 |
| predicted_AB | 3.149 | 0.000 |
| predicted_AVG | 0.206 | -0.083 |
| predicted_BB | 0.050 | 0.000 |
| predicted_H | 0.650 | 0.019 |
| predicted_HBP | 0.028 | 0.000 |
| predicted_HR | 0.079 | 0.002 |
| predicted_OBP | 0.219 | -0.094 |
| predicted_R | 0.086 | 0.004 |
| predicted_RBI | 0.313 | 0.015 |
| predicted_SLG | 0.294 | -0.097 |
| predicted_SO | 0.557 | -0.003 |
AB rounded to 3 (raw=3.15), rates preserved: AVG=0.207 HR/AB=0.025
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.571)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 0.000 | -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 | 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.031 |
| predicted_3B | 0.000 | -0.003 |
| predicted_AB | 3.000 | -0.149 |
| predicted_AVG | 0.333 | 0.127 |
| predicted_BB | 0.000 | -0.050 |
| predicted_H | 1.000 | 0.350 |
| predicted_HR | 0.000 | -0.079 |
| predicted_OBP | 0.333 | 0.114 |
| predicted_R | 0.000 | -0.086 |
| predicted_RBI | 0.000 | -0.313 |
| predicted_SLG | 0.333 | 0.039 |
| predicted_SO | 0.000 | -0.557 |
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 | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 1.000 | 1.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 | - | 6.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.3333 | 0.3333 | 0.3333 | 0.3333 | 0.0000 | 0.0000 | 0.0000 | 0.1667 |
| last_10 | 0.20 | 2 | - | 6.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.3333 | 0.3333 | 0.3333 | 0.3333 | 0.0000 | 0.0000 | 0.0000 | 0.1667 |
| season | 0.60 | 2 | - | 6.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.3333 | 0.3333 | 0.3333 | 0.3333 | 0.0000 | 0.0000 | 0.0000 | 0.1667 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1520 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.7230 |
| predicted_AVG | 0.2640 |
| predicted_BB | 0.2400 |
| predicted_H | 0.9830 |
| predicted_HBP | 0.0280 |
| predicted_HR | 0.1050 |
| predicted_OBP | 0.3168 |
| predicted_R | 0.3960 |
| predicted_RBI | 0.4070 |
| predicted_SLG | 0.3955 |
| predicted_SO | 0.7870 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1520 | 0.0314 | model_form_blend |
| predicted_3B | 0.0000 | 0.0120 | 0.0025 | model_form_blend |
| predicted_AB | 3.0000 | 3.7230 | 3.1491 | model_form_blend |
| predicted_AVG | 0.2960 | 0.2640 | 0.2894 | model_form_blend |
| predicted_BB | 0.0000 | 0.2400 | 0.0495 | model_form_blend |
| predicted_H | 0.5400 | 0.9830 | 0.6314 | model_form_blend |
| predicted_HBP | - | 0.0280 | 0.0280 | form_only |
| predicted_HR | 0.0700 | 0.1050 | 0.0772 | model_form_blend |
| predicted_OBP | 0.3120 | 0.3168 | 0.3130 | model_form_blend |
| predicted_R | 0.0000 | 0.3960 | 0.0817 | model_form_blend |
| predicted_RBI | 0.2700 | 0.4070 | 0.2983 | model_form_blend |
| predicted_SLG | 0.3900 | 0.3955 | 0.3911 | model_form_blend |
| predicted_SO | 0.5000 | 0.7870 | 0.5592 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 2 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.333 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 20260531_LAA@TB |
| game_type | full |
| mlbID | 663611 |
| playerID | 663611 |
| playerName | Nick Madrigal |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-31 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.505 |
| sl_xwoba | 0.417 |
| sl_xba | 0.359 |
| sl_xslg | 0.397 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 0.0 |
| sl_exit_velocity_avg | 83.4 |
| sl_launch_angle_avg | 4.8 |
| sl_whiff_percent | 11.1 |
| sl_swing_percent | 75.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 2.583 | 4.000 | -1.583 | -3.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.750 | 3.000 | -0.750 | -2.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 4.250 | 7.000 | 0.750 | -2.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 5.808 | 5.000 | 0.192 | 1.000 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 6.500 | 4.000 | -3.500 | -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: 2.0000 -> 3.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: 2.0000 -> 6.0000 (boost 4.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 | 0 | 1 | - | predicted_SO: 6.0000 -> 3.0000 (deboost -3.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "667755",
"player_name": "José Soriano",
"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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 6.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_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": 1.0,
"predicted_H": 5.0,
"predicted_HR": 0.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 6.0,
"delta": 4.0,
"percent_delta": 2.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": 2.0,
"after": 6.0,
"delta": 4.0,
"percent_delta": 2.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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_R": 1.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 3.0,
"delta": -3.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": 6.0,
"after": 3.0,
"delta": -3.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.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": "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": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.000 | - |
| predicted_SO | 2.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 5.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.000 | 0.000 |
| predicted_SO | 6.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 | 28.200 | 17.000 | 27.000 | 15.000 | 29.000 | 3.000 | 5.3372 | 1.4651 | 0.5930 | 0.9419 | 0.5233 | 1.0116 | 0.1047 |
| last_10 | 0.35 | 10 | 59.100 | 21.000 | 47.000 | 25.000 | 67.000 | 6.000 | 3.1854 | 1.2135 | 0.3539 | 0.7921 | 0.4214 | 1.1292 | 0.1011 |
| season | 0.20 | 12 | 71.100 | 21.000 | 51.000 | 31.000 | 78.000 | 6.000 | 2.6495 | 1.1495 | 0.2944 | 0.7149 | 0.4346 | 1.0935 | 0.0841 |
| Metric | Value |
|---|---|
| predicted_BB | 2.5940 |
| predicted_ER | 2.6970 |
| predicted_ERA | 4.1174 |
| predicted_H | 5.1590 |
| predicted_HR | 0.6450 |
| predicted_IP | 6.0000 |
| predicted_SO | 6.0790 |
| predicted_WHIP | 1.3153 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 2.5940 | 1.8380 | model_form_blend |
| predicted_ER | 1.0000 | 2.6970 | 1.8922 | model_form_blend |
| predicted_ERA | - | 4.1174 | 4.1174 | form_only |
| predicted_H | 5.0000 | 5.1590 | 5.0836 | model_form_blend |
| predicted_HR | 0.0000 | 0.6450 | 0.3391 | model_form_blend |
| predicted_IP | 6.0000 | 6.0000 | 6.0000 | model_form_blend |
| predicted_SO | 2.0000 | 6.0790 | 4.1445 | model_form_blend |
| predicted_WHIP | - | 1.3153 | 1.3153 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 12 |
| Season rows before report date | 12 |
| Report year | 2026 |
| Profile rows used | 12 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.0 |
| H | 5 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 3 |
| 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 | 4 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 24 |
| Pitching_ER | 3 |
| Pitching_ERA | 2.65 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 4 |
| Pitching_H | 7 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 105 |
| Pitching_R | 3 |
| Pitching_SO | 4 |
| Pitching_Strikes | 61 |
| Pitching_Wild Pitch | 1 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260527_LAA@DET |
| game_type | full |
| mlbID | 667755 |
| playerID | 667755 |
| playerName | José Soriano |
| pos | P |
| started | True |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-27 |
| game_pk | 824270.0 |
| sl_k_percent | 27.0 |
| sl_bb_percent | 10.7 |
| sl_woba | 0.265 |
| sl_xwoba | 0.308 |
| sl_sweet_spot_percent | 33.0 |
| sl_barrel_batted_rate | 9.0 |
| sl_hard_hit_percent | 36.3 |
| sl_whiff_percent | 33.3 |
| sl_swing_percent | 46.3 |
| sv_pitch_count | 105.0 |
| sv_outs_recorded_est | 14.0 |
| sv_release_speed | 91.10857142857142 |
| sv_release_spin_rate | 2004.9809523809524 |
| sv_effective_speed | 92.50666666666667 |
| sv_launch_speed | 82.02258064516128 |
| sv_launch_angle | 13.451612903225806 |
| sv_woba_value | 10.55 |
| sv_woba_denom | 24.0 |
| sv_delta_run_exp | 1.197 |
| sv_delta_home_win_exp | 0.0919999999999999 |
| sl_avg_best_speed | 77.966378876 |
| sl_avg_hyper_speed | 93.56349774 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.667 | 1.000 | -0.667 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.810 | 0.000 | -0.810 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.171 | 1.100 | -0.071 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.381 | 1.000 | -1.381 | -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": "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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.000 | 0.000 | 5.000 | 4.000 | 5.000 | 0.000 | 0.0000 | 1.5000 | 0.0000 | 0.8333 | 0.6667 | 0.8333 | 0.0000 |
| last_10 | 0.35 | 10 | 13.000 | 1.000 | 7.000 | 4.000 | 14.000 | 1.000 | 0.6923 | 0.8462 | 0.0769 | 0.5385 | 0.3077 | 1.0769 | 0.0769 |
| season | 0.20 | 21 | 28.100 | 7.000 | 17.000 | 14.000 | 29.000 | 2.000 | 2.2235 | 1.0941 | 0.2471 | 0.6000 | 0.4941 | 1.0235 | 0.0706 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5880 |
| predicted_ER | 0.3540 |
| predicted_ERA | 2.3869 |
| predicted_H | 1.0790 |
| predicted_HR | 0.1130 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.2650 |
| predicted_WHIP | 1.2507 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5880 | 0.2649 | model_form_blend |
| predicted_ER | 0.0000 | 0.3540 | 0.1595 | model_form_blend |
| predicted_ERA | - | 2.3869 | 2.3869 | form_only |
| predicted_H | 0.0000 | 1.0790 | 0.4861 | model_form_blend |
| predicted_HR | 0.0000 | 0.1130 | 0.0509 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.2650 | 1.1194 | model_form_blend |
| predicted_WHIP | - | 1.2507 | 1.2507 | 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.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.22 |
| 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 | 22 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 1 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260530_LAA@TB |
| game_type | full |
| mlbID | 696147 |
| playerID | 696147 |
| playerName | Sam Bachman |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-30 |
| sl_k_percent | 25.4 |
| sl_bb_percent | 12.3 |
| sl_woba | 0.26 |
| sl_xwoba | 0.259 |
| sl_sweet_spot_percent | 27.1 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 30.0 |
| sl_whiff_percent | 34.9 |
| sl_swing_percent | 43.2 |
| sl_avg_best_speed | 75.173055882 |
| sl_avg_hyper_speed | 92.644273971 |
| 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.375 | 0.000 | 0.625 | 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.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": 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": 0.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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 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.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.4230 |
| predicted_ER | 0.4310 |
| predicted_ERA | 3.8833 |
| predicted_H | 0.8090 |
| predicted_HR | 0.1460 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0240 |
| predicted_WHIP | 1.2317 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4230 | 0.1364 | model_form_blend |
| predicted_ER | 1.0000 | 0.4310 | 0.8166 | model_form_blend |
| predicted_ERA | - | 3.8833 | 3.8833 | form_only |
| predicted_H | 2.0000 | 0.8090 | 1.6161 | model_form_blend |
| predicted_HR | 0.0000 | 0.1460 | 0.0471 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0240 | 0.3301 | model_form_blend |
| predicted_WHIP | - | 1.2317 | 1.2317 | 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 | 2 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 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.857 | 1.000 | -0.857 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.810 | 4.000 | -0.810 | -4.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.857 | 3.000 | -0.857 | -3.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 1.100 | 0.100 | -0.900 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.476 | 0.000 | -1.476 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "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.6667,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 3.200 | 6.000 | 4.000 | 5.000 | 2.000 | 3.000 | 14.7273 | 2.4545 | 1.6364 | 1.0909 | 1.3636 | 0.5454 | 0.8182 |
| last_10 | 0.35 | 10 | 9.100 | 7.000 | 7.000 | 10.000 | 10.000 | 3.000 | 6.7500 | 1.8214 | 0.7500 | 0.7500 | 1.0714 | 1.0714 | 0.3214 |
| season | 0.20 | 21 | 25.200 | 17.000 | 18.000 | 18.000 | 31.000 | 3.000 | 5.9610 | 1.4026 | 0.6623 | 0.7013 | 0.7013 | 1.2078 | 0.1169 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5950 |
| predicted_ER | 0.6390 |
| predicted_ERA | 7.2537 |
| predicted_H | 0.7300 |
| predicted_HR | 0.2540 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7140 |
| predicted_WHIP | 1.6728 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5950 | 0.2619 | model_form_blend |
| predicted_ER | 0.0000 | 0.6390 | 0.2812 | model_form_blend |
| predicted_ERA | - | 7.2537 | 7.2537 | form_only |
| predicted_H | 0.0000 | 0.7300 | 0.3213 | model_form_blend |
| predicted_HR | 0.0000 | 0.2540 | 0.1118 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7140 | 0.3142 | model_form_blend |
| predicted_WHIP | - | 1.6728 | 1.6728 | 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 | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 2 |
| Pitches | 2 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 4 |
| Pitching_ERA | 5.96 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 19 |
| Pitching_R | 4 |
| Pitching_SO | 0 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260529_LAA@TB |
| game_type | full |
| mlbID | 666171 |
| playerID | 666171 |
| playerName | Ryan Zeferjahn |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-29 |
| sl_k_percent | 26.3 |
| sl_bb_percent | 14.4 |
| sl_woba | 0.321 |
| sl_xwoba | 0.306 |
| sl_sweet_spot_percent | 27.0 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 38.1 |
| sl_whiff_percent | 29.6 |
| sl_swing_percent | 40.1 |
| sl_avg_best_speed | 79.617999355 |
| sl_avg_hyper_speed | 93.56561129 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | DET 1 - 2 TB | TB | 0.536 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | DET 1 - 2 TB | TB | - | 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.6000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5360 |
| 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 | 1.776 | 3.159 | - | Base ML historical model prediction |
| 2 | variance_applied | 2 | 3 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 1 | 2 | 0.5360 | 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.6336563414634147,
"base_low_score_probability": 0.42784552845528456,
"low_score_signal_threshold": 0.5078455284552845,
"low_score_signal_strength": 0.2058108130081301,
"confidence": 0.84052,
"factors": {
"environmental": 1.02,
"pitcher_form": 1.4520000000000002,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.4810400000000001
},
"prediction": "low_scoring",
"expected_total_runs": 3,
"pre_simulation_expected_total_runs": 6.6,
"low_score_model_expected_total_runs": 6.6,
"final_simulation_total_runs": 3,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 70,
"near_bucket_sample_size": 70,
"medium_bucket_sample_size": 74,
"wide_bucket_sample_size": 74,
"global_sample_size": 74,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5429,
"bayesian_hit_rate": 0.5341,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.7955,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5488,
"calibrated_pick_probability": 0.536,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "TB",
"games": 56,
"wins": 36,
"losses": 20,
"win_pct": 0.6428571428571429,
"runs_scored": 262,
"runs_allowed": 243,
"run_differential": 19,
"run_differential_per_game": 0.3392857142857143,
"available": true
},
"away": {
"team": "DET",
"games": 60,
"wins": 22,
"losses": 38,
"win_pct": 0.36666666666666664,
"runs_scored": 223,
"runs_allowed": 262,
"run_differential": -39,
"run_differential_per_game": -0.65,
"available": true
},
"run_differential_edge_per_game": 0.9893,
"win_pct_edge": 0.2762,
"quality_edge": 1.4036,
"margin_adjustment": 0.5895,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 0.735,
"home_runs": 1.309,
"home_win_probability": 0.5488
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "TB",
"guardrail_predicted_team": "TB",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "TB",
"output_opponent_team": "DET",
"final_score_winner": "TB",
"pre_simulation_winner": "TB",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 2,
"score_text": "DET 1 - 2 TB",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 2,
"score_text": "DET 1 - 2 TB",
"winner": "TB"
},
"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": "TB",
"games": 56,
"wins": 36,
"losses": 20,
"win_pct": 0.6428571428571429,
"runs_scored": 262,
"runs_allowed": 243,
"run_differential": 19,
"run_differential_per_game": 0.3392857142857143,
"available": true
},
"away": {
"team": "DET",
"games": 60,
"wins": 22,
"losses": 38,
"win_pct": 0.36666666666666664,
"runs_scored": 223,
"runs_allowed": 262,
"run_differential": -39,
"run_differential_per_game": -0.65,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.5741,
"final_margin": 0.5741,
"margin_cap": 4.25,
"season_quality_edge": 1.4036,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.535975,
"final_confidence": 0.535975,
"confidence_cap": 0.66,
"score_gap": 0.5741,
"calibration_sample_size": 70,
"calibration_empirical_hit_rate": 0.5429,
"calibration_bayesian_hit_rate": 0.5341,
"calibration_sparse_bucket": false,
"season_quality_edge": 1.4036,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is close",
"local calibration sample has at least 30 games",
"local calibration sample has at least 60 games",
"season run-differential edge supports the pick",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 2,
"score_text": "DET 1 - 2 TB",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 2,
"score_text": "DET 1 - 2 TB",
"winner": "TB"
},
"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.535975,
"home_win_probability": 0.535975,
"away_win_probability": 0.464025,
"predicted_score_text": "DET 1 - 2 TB",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "DET",
"original_runs": 1,
"run_delta": 0.2131,
"adjusted_runs": 1,
"lineup": {
"players_used": 9,
"total_weight": 56.0,
"quality": 0.2704146624113675,
"contact": 0.0904852371682238,
"power": 0.32003276710269074,
"discipline": 0.11004370918121634,
"xwoba": 0.32326785714285716,
"recent_xwoba": 0.32326785714285716,
"barrel": 9.635714285714284,
"ab_hard_contact": 0.330607723006172,
"ab_bat_speed": 70.76868672668239,
"ab_strikeout_rate": 0.23022086255656962,
"available_players": 9,
"top_players": [
{
"player_id": "693307",
"player_name": "Dillon Dingler",
"position": "C",
"weight": 8.0,
"quality": 1.0093187873063818,
"contact": 1.2051711352855006,
"power": 1.2587347189279436,
"discipline": 0.16273551844980416,
"xwoba": 0.385,
"recent_xwoba": 0.385,
"barrel": 12.6,
"ab_hard_contact": 0.8512658071302749,
"ab_bat_speed": 70.76914492225461,
"ab_strikeout_rate": 0.22267573696145126,
"available": 1.0
},
{
"player_id": "656716",
"player_name": "Zach McKinstry",
"position": "RF",
"weight": 5.0,
"quality": -0.5755181565088433,
"contact": -1.4589028775809556,
"power": -1.6190560947500783,
"discipline": 0.538420183982684,
"xwoba": 0.244,
"recent_xwoba": 0.244,
"barrel": 1.2,
"ab_hard_contact": -0.7194076092873045,
"ab_bat_speed": 67.8376129032258,
"ab_strikeout_rate": 0.1765625,
"available": 1.0
},
{
"player_id": "682985",
"player_name": "Riley Greene",
"position": "DH",
"weight": 8.0,
"quality": 0.6987266621850359,
"contact": 0.7772235486906893,
"power": 0.9612571352185387,
"discipline": 0.02769696969696967,
"xwoba": 0.362,
"recent_xwoba": 0.362,
"barrel": 11.9,
"ab_hard_contact": 0.6944760377040827,
"ab_bat_speed": 73.88058946608946,
"ab_strikeout_rate": 0.275,
"available": 1.0
},
{
"player_id": "805808",
"player_name": "Kevin McGonigle",
"position": "SS",
"weight": 8.0,
"quality": 0.5694180694981525,
"contact": 0.6834889478439468,
"power": 0.3266272627020057,
"discipline": 1.1854832829644149,
"xwoba": 0.36,
"recent_xwoba": 0.36,
"barrel": 8.9,
"ab_hard_contact": 0.43730715880200405,
"ab_bat_speed": 70.23888689228312,
"ab_strikeout_rate": 0.13228511530398324,
"available": 1.0
},
{
"player_id": "679529",
"player_name": "Spencer Torkelson",
"position": "1B",
"weight": 7.0,
"quality": 0.23210091210724118,
"contact": -0.10657155356199624,
"power": 0.7538364966736987,
"discipline": -0.15040179573512905,
"xwoba": 0.322,
"recent_xwoba": 0.322,
"barrel": 14.2,
"ab_hard_contact": 0.3931108858549034,
"ab_bat_speed": 71.87393518518519,
"ab_strikeout_rate": 0.33209876543209876,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "643377",
"player_name": "Griffin Jax",
"quality": -0.026541783948238907,
"contact": -0.19843046898650432,
"command": -0.032056026326205356,
"movement": 0.7719794482915517,
"xwoba": 0.324,
"whiff": 29.5,
"faced_est_woba": 0.3715405098393963,
"faced_launch_speed": 82.21235588793921,
"faced_strikeout_rate": 0.2349877450980392,
"faced_run_exp": -0.006656905856092442
}
},
"home": {
"team": "TB",
"original_runs": 2,
"run_delta": -0.2495,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 59.0,
"quality": 0.04507395502925577,
"contact": 0.06388937512044375,
"power": -0.14640923403176373,
"discipline": 0.4236895857908083,
"xwoba": 0.32311864406779656,
"recent_xwoba": 0.3231186440677966,
"barrel": 6.988135593220338,
"ab_hard_contact": -0.025682780607658152,
"ab_bat_speed": 68.5210318052949,
"ab_strikeout_rate": 0.1797361974654833,
"available_players": 9,
"top_players": [
{
"player_id": "670764",
"player_name": "Taylor Walls",
"position": "SS",
"weight": 7.0,
"quality": -0.9698586729540699,
"contact": -1.8780804541003802,
"power": -1.8590674300092875,
"discipline": 0.3830503531556162,
"xwoba": 0.23899999999999996,
"recent_xwoba": 0.23900000000000002,
"barrel": 2.2,
"ab_hard_contact": -1.3346819335190845,
"ab_bat_speed": 61.07811038011696,
"ab_strikeout_rate": 0.24078947368421053,
"available": 1.0
},
{
"player_id": "666018",
"player_name": "Jonathan Aranda",
"position": "1B",
"weight": 8.0,
"quality": 1.0959135974431773,
"contact": 1.2014649572649585,
"power": 1.223066783937784,
"discipline": 0.7059643689643689,
"xwoba": 0.387,
"recent_xwoba": 0.387,
"barrel": 13.0,
"ab_hard_contact": 1.2034309168508983,
"ab_bat_speed": 69.23668742368741,
"ab_strikeout_rate": 0.2310897435897436,
"available": 1.0
},
{
"player_id": "802415",
"player_name": "Chandler Simpson",
"position": "LF",
"weight": 8.0,
"quality": -0.9538465481061525,
"contact": -0.770350129144081,
"power": -1.585056259659094,
"discipline": 0.4135032255326372,
"xwoba": 0.26,
"recent_xwoba": 0.26,
"barrel": 0.0,
"ab_hard_contact": -1.3182680503247446,
"ab_bat_speed": 62.22826333333333,
"ab_strikeout_rate": 0.09626517273576098,
"available": 1.0
},
{
"player_id": "691406",
"player_name": "Junior Caminero",
"position": "3B",
"weight": 8.0,
"quality": 1.0853467506318744,
"contact": 1.2072901301211634,
"power": 1.1906133059562554,
"discipline": 0.8783654678654678,
"xwoba": 0.36999999999999994,
"recent_xwoba": 0.37,
"barrel": 12.3,
"ab_hard_contact": 1.0625518334108017,
"ab_bat_speed": 78.56293650793651,
"ab_strikeout_rate": 0.16254578754578755,
"available": 1.0
},
{
"player_id": "656775",
"player_name": "Cedric Mullins",
"position": "CF",
"weight": 7.0,
"quality": -0.8140321666394436,
"contact": -1.2520262249023841,
"power": -1.244424494701136,
"discipline": 0.15072342472342462,
"xwoba": 0.244,
"recent_xwoba": 0.244,
"barrel": 1.3999999999999997,
"ab_hard_contact": -0.9917279892608408,
"ab_bat_speed": 66.68995943562611,
"ab_strikeout_rate": 0.17925925925925926,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "680744",
"player_name": "Ty Madden",
"quality": 0.15114118557610895,
"contact": 1.4105477422450647,
"command": 0.6765288242807039,
"movement": 0.2741451971531225,
"xwoba": 0.244,
"whiff": 26.3,
"faced_est_woba": 0.24181461904761903,
"faced_launch_speed": 85.25797930283224,
"faced_strikeout_rate": 0.294047619047619,
"faced_run_exp": 0.02051617913832198
}
}
},
"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": "DET 1 - 2 TB",
"confidence": 0.535975,
"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": "DET 1 - 2 TB",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 2,
"score_text": "DET 1 - 2 TB",
"winner": "TB"
},
"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 DET | True | 1.0261 | 1.0261 | 1 | 9 | 0 |
| Home TB | True | 1.0086 | 1.0086 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LF | Kerry Carpenter | 418 | 1.0045 | 0.0604 | neutral | 0.3010 | 0.2050 | 0.3980 | 11.10 | 50 | 92 | 20.70 | 34.20 | 34.20 | 9.40 | -0.7429 |
| SS | Kevin McGonigle | 4 | 1.0610 | 0.8130 | neutral | 0.3600 | 0.2660 | 0.4480 | 8.90 | 37.20 | 88.10 | 20.10 | 14 | 14 | 13.20 | 0.0571 |
| DH | Riley Greene | 90 | 1.0775 | 1.0336 | neutral | 0.3620 | 0.2650 | 0.4650 | 11.90 | 50.30 | 90.70 | 15.70 | 29.60 | 28.30 | 12.30 | -0.3429 |
| C | Dillon Dingler | 57 | 1.1121 | 1.4950 | positive_batter_regression | 0.3850 | 0.2850 | 0.5270 | 12.60 | 47.90 | 89.90 | 14.80 | 21.50 | 21.30 | 9.30 | 1.2857 |
| 3B | Colt Keith | 372 | 1.0095 | 0.1265 | neutral | 0.3100 | 0.2660 | 0.3950 | 4.90 | 40.30 | 89.10 | 14.60 | 22.50 | 20.60 | 5.90 | 0.1429 |
| 1B | Spencer Torkelson | 494 | 1.0405 | 0.5402 | neutral | 0.3220 | 0.2120 | 0.4080 | 14.20 | 46.30 | 90.50 | 19.10 | 29.40 | 32.30 | 12.10 | 0.0857 |
| CF | Wenceel Pérez | 528 | 0.9755 | -0.3270 | neutral | 0.2670 | 0.2030 | 0.3390 | 7.10 | 34.50 | 87.40 | 14.40 | 17.10 | 14.50 | 7.60 | 0.5714 |
| 2B | Hao-Yu Lee | 520 | 0.9978 | -0.0299 | positive_batter_regression | 0.2790 | 0.2100 | 0.3960 | 11.10 | 31.50 | 88.50 | 19 | 31.10 | 28.40 | 4.90 | 1.1714 |
| RF | Zach McKinstry | 531 | 0.9567 | -0.5775 | positive_batter_regression | 0.2440 | 0.1950 | 0.2610 | 1.20 | 22.10 | 84.20 | 13.40 | 15.80 | 19 | 9.90 | 0.8857 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2B | Richie Palacios | 192 | 0.9852 | -0.1967 | neutral | 0.3070 | 0.2330 | 0.3170 | 3.90 | 27.30 | 87.30 | 10.80 | 23.50 | 22.10 | 12.30 | -0.6000 |
| DH | Yandy Díaz | 41 | 1.0715 | 0.9533 | negative_batter_regression | 0.3730 | 0.2910 | 0.4860 | 9.50 | 45.80 | 90.60 | 5.70 | 14.40 | 13.20 | 8.80 | -0.9143 |
| 1B | Jonathan Aranda | 98 | 1.1088 | 1.4501 | neutral | 0.3870 | 0.2760 | 0.5020 | 13 | 47.30 | 91 | 15.80 | 21.70 | 23.40 | 14.20 | 0.1143 |
| 3B | Junior Caminero | 88 | 1.0867 | 1.1565 | neutral | 0.3700 | 0.2760 | 0.4870 | 12.30 | 48 | 92.70 | 10.10 | 20.80 | 15.70 | 13.20 | -0.2286 |
| LF | Chandler Simpson | 135 | 0.9169 | -1.1075 | negative_batter_regression | 0.2600 | 0.2520 | 0.2900 | 0 | 16 | 84.10 | 2.20 | 10.80 | 10.80 | 5.20 | -1.1143 |
| RF | Victor Mesa Jr. | 267 | 1.0755 | 1.0067 | positive_batter_regression | 0.4640 | 0.3490 | 0.7060 | 20 | 50 | 94.10 | 20.10 | 29 | 21.40 | 7.10 | 2 |
| CF | Cedric Mullins | 444 | 0.9308 | -0.9232 | neutral | 0.2440 | 0.1840 | 0.2800 | 1.40 | 28.80 | 87.80 | 29.20 | 19.20 | 16.80 | 7.30 | -0.1429 |
| C | Hunter Feduccia | 197 | 0.9792 | -0.2768 | negative_batter_regression | 0.2930 | 0.2230 | 0.3250 | 2.30 | 25.60 | 88.70 | 20.30 | 25.20 | 30.70 | 9.30 | -0.9143 |
| SS | Taylor Walls | 72 | 0.9232 | -1.0237 | negative_batter_regression | 0.2390 | 0.1700 | 0.2210 | 2.20 | 14.90 | 82.70 | 19.90 | 21.10 | 25.20 | 11.90 | -0.9143 |
{
"home": {
"applied": true,
"offense_factor": 1.0086,
"raw_average_factor": 1.0086,
"team_espn_average_rank": 170.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "2B",
"player_id": "680700",
"player_name": "Richie Palacios",
"offense_factor": 0.9852,
"quality_score": -0.1967,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680700",
"espn_id": 41359,
"player_name": "Richie Palacios",
"team": "TB",
"role": "batter",
"espn_rank": 192,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 192,
"gp_value": 41.0,
"gp_rank": 243,
"ab_value": 106.0,
"ab_rank": 270,
"r_value": 16.0,
"r_rank": 213,
"h_value": 27.0,
"h_rank": 238,
"avg_value": 0.2547169,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 298,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 1.0,
"hr_rank": 317,
"rbi_value": 17.0,
"rbi_rank": 196,
"tb_value": 35.0,
"tb_rank": 1585,
"bb_value": 17.0,
"bb_rank": 140,
"so_value": 28.0,
"so_rank": 232,
"sb_value": 7.0,
"sb_rank": 46,
"obp_value": 0.3700787,
"obp_rank": "-",
"slg_value": 0.3301886,
"slg_rank": "-",
"ops_value": 0.7002673,
"ops_rank": null,
"war_value": 0.44,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 113.0,
"k_percent": 22.1,
"bb_percent": 12.3,
"woba": 0.328,
"xwoba": 0.307,
"xba": 0.233,
"xslg": 0.317,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 3.9,
"hard_hit_percent": 27.3,
"exit_velocity_avg": 87.3,
"launch_angle_avg": 10.8,
"whiff_percent": 23.5,
"swing_percent": 43.6
},
"components": {
"expected_quality": -0.3476,
"regression_edge": -0.6,
"xwoba_edge": 0.0571,
"xba_edge": -0.1714,
"xslg_edge": -0.8143,
"barrel_edge": -0.6667,
"hard_hit_edge": -1.6714,
"exit_velocity_edge": -0.6,
"sweet_spot_edge": 0.3,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "650490",
"player_name": "Yandy Díaz",
"offense_factor": 1.0715,
"quality_score": 0.9533,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "650490",
"espn_id": 33481,
"player_name": "Yandy Diaz",
"team": "TB",
"role": "batter",
"espn_rank": 41,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 41,
"gp_value": 53.0,
"gp_rank": 134,
"ab_value": 203.0,
"ab_rank": 86,
"r_value": 31.0,
"r_rank": 56,
"h_value": 63.0,
"h_rank": 14,
"avg_value": 0.3103448,
"avg_rank": 6.0,
"2b_value": 9.0,
"2b_rank": 97,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 11.0,
"hr_rank": 35,
"rbi_value": 38.0,
"rbi_rank": 15,
"tb_value": 107.0,
"tb_rank": 314,
"bb_value": 21.0,
"bb_rank": 86,
"so_value": 30.0,
"so_rank": 214,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.3922413,
"obp_rank": "12",
"slg_value": 0.5270935,
"slg_rank": "19",
"ops_value": 0.9193348,
"ops_rank": 10.0,
"war_value": 1.82,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 214.0,
"k_percent": 13.2,
"bb_percent": 8.8,
"woba": 0.405,
"xwoba": 0.373,
"xba": 0.291,
"xslg": 0.486,
"sweet_spot_percent": 27.6,
"barrel_batted_rate": 9.5,
"hard_hit_percent": 45.8,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 5.7,
"whiff_percent": 14.4,
"swing_percent": 46.9
},
"components": {
"expected_quality": 1.2883,
"regression_edge": -0.9143,
"xwoba_edge": 1.9429,
"xba_edge": 1.4857,
"xslg_edge": 1.6,
"barrel_edge": 0.5778,
"hard_hit_edge": 0.9714,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": -0.95,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "666018",
"player_name": "Jonathan Aranda",
"offense_factor": 1.1088,
"quality_score": 1.4501,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666018",
"espn_id": 40810,
"player_name": "Jonathan Aranda",
"team": "TB",
"role": "batter",
"espn_rank": 98,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 98,
"gp_value": 56.0,
"gp_rank": 72,
"ab_value": 200.0,
"ab_rank": 92,
"r_value": 34.0,
"r_rank": 40,
"h_value": 58.0,
"h_rank": 39,
"avg_value": 0.29,
"avg_rank": 26.0,
"2b_value": 9.0,
"2b_rank": 97,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 11.0,
"hr_rank": 35,
"rbi_value": 43.0,
"rbi_rank": 6,
"tb_value": 100.0,
"tb_rank": 557,
"bb_value": 35.0,
"bb_rank": 16,
"so_value": 57.0,
"so_rank": 43,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3934426,
"obp_rank": "11",
"slg_value": 0.5,
"slg_rank": "25",
"ops_value": 0.8934426,
"ops_rank": 17.0,
"war_value": 1.12,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 222.0,
"k_percent": 23.4,
"bb_percent": 14.2,
"woba": 0.383,
"xwoba": 0.387,
"xba": 0.276,
"xslg": 0.502,
"sweet_spot_percent": 40.4,
"barrel_batted_rate": 13.0,
"hard_hit_percent": 47.3,
"exit_velocity_avg": 91.0,
"launch_angle_avg": 15.8,
"whiff_percent": 21.7,
"swing_percent": 43.9
},
"components": {
"expected_quality": 1.6675,
"regression_edge": 0.1143,
"xwoba_edge": 2.3429,
"xba_edge": 1.0571,
"xslg_edge": 1.8286,
"barrel_edge": 1.3556,
"hard_hit_edge": 1.1857,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": 1.1833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "691406",
"player_name": "Junior Caminero",
"offense_factor": 1.0867,
"quality_score": 1.1565,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691406",
"espn_id": 4905921,
"player_name": "Junior Caminero",
"team": "TB",
"role": "batter",
"espn_rank": 88,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 88,
"gp_value": 56.0,
"gp_rank": 72,
"ab_value": 212.0,
"ab_rank": 55,
"r_value": 34.0,
"r_rank": 40,
"h_value": 59.0,
"h_rank": 35,
"avg_value": 0.2783018,
"avg_rank": 44.0,
"2b_value": 8.0,
"2b_rank": 139,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 13.0,
"hr_rank": 16,
"rbi_value": 28.0,
"rbi_rank": 71,
"tb_value": 106.0,
"tb_rank": 538,
"bb_value": 34.0,
"bb_rank": 18,
"so_value": 38.0,
"so_rank": 151,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3765182,
"obp_rank": "26",
"slg_value": 0.5,
"slg_rank": "25",
"ops_value": 0.8765182,
"ops_rank": 24.0,
"war_value": 1.21,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 15.7,
"bb_percent": 13.2,
"woba": 0.378,
"xwoba": 0.37,
"xba": 0.276,
"xslg": 0.487,
"sweet_spot_percent": 25.0,
"barrel_batted_rate": 12.3,
"hard_hit_percent": 48.0,
"exit_velocity_avg": 92.7,
"launch_angle_avg": 10.1,
"whiff_percent": 20.8,
"swing_percent": 41.9
},
"components": {
"expected_quality": 1.382,
"regression_edge": -0.2286,
"xwoba_edge": 1.8571,
"xba_edge": 1.0571,
"xslg_edge": 1.6143,
"barrel_edge": 1.2,
"hard_hit_edge": 1.2857,
"exit_velocity_edge": 1.56,
"sweet_spot_edge": -1.3833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "802415",
"player_name": "Chandler Simpson",
"offense_factor": 0.9169,
"quality_score": -1.1075,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "802415",
"espn_id": 4679983,
"player_name": "Chandler Simpson",
"team": "TB",
"role": "batter",
"espn_rank": 135,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 135,
"gp_value": 55.0,
"gp_rank": 100,
"ab_value": 220.0,
"ab_rank": 31,
"r_value": 30.0,
"r_rank": 58,
"h_value": 62.0,
"h_rank": 19,
"avg_value": 0.2818181,
"avg_rank": 39.0,
"2b_value": 4.0,
"2b_rank": 260,
"3b_value": 4.0,
"3b_rank": 2,
"hr_value": 0.0,
"hr_rank": 401,
"rbi_value": 12.0,
"rbi_rank": 255,
"tb_value": 74.0,
"tb_rank": 1486,
"bb_value": 12.0,
"bb_rank": 212,
"so_value": 25.0,
"so_rank": 260,
"sb_value": 14.0,
"sb_rank": 6,
"obp_value": 0.3162393,
"obp_rank": "111",
"slg_value": 0.3363636,
"slg_rank": "145",
"ops_value": 0.6526029,
"ops_rank": 135.0,
"war_value": 0.81,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 216.0,
"k_percent": 10.8,
"bb_percent": 5.2,
"woba": 0.299,
"xwoba": 0.26,
"xba": 0.252,
"xslg": 0.29,
"sweet_spot_percent": 27.7,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 16.0,
"exit_velocity_avg": 84.1,
"launch_angle_avg": 2.2,
"whiff_percent": 10.8,
"swing_percent": 46.8
},
"components": {
"expected_quality": -1.1303,
"regression_edge": -1.1143,
"xwoba_edge": -1.2857,
"xba_edge": 0.3714,
"xslg_edge": -1.2,
"barrel_edge": -1.5333,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.88,
"sweet_spot_edge": -0.9333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "683748",
"player_name": "Victor Mesa Jr.",
"offense_factor": 1.0755,
"quality_score": 1.0067,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "683748",
"espn_id": 4917849,
"player_name": "Victor Mesa Jr.",
"team": "TB",
"role": "batter",
"espn_rank": 267,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 267,
"gp_value": 5.0,
"gp_rank": 495,
"ab_value": 16.0,
"ab_rank": 478,
"r_value": 2.0,
"r_rank": 442,
"h_value": 4.0,
"h_rank": 446,
"avg_value": 0.25,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 455,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 1.0,
"hr_rank": 317,
"rbi_value": 3.0,
"rbi_rank": 410,
"tb_value": 7.0,
"tb_rank": 2168,
"bb_value": 1.0,
"bb_rank": 443,
"so_value": 5.0,
"so_rank": 461,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.2941176,
"obp_rank": "-",
"slg_value": 0.4375,
"slg_rank": "-",
"ops_value": 0.7316176,
"ops_rank": null,
"war_value": 0.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 11.0,
"k_percent": 21.4,
"bb_percent": 7.1,
"woba": 0.352,
"xwoba": 0.464,
"xba": 0.349,
"xslg": 0.706,
"sweet_spot_percent": 60.0,
"barrel_batted_rate": 20.0,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 94.1,
"launch_angle_avg": 20.1,
"whiff_percent": 29.0,
"swing_percent": 62.0
},
"components": {
"expected_quality": 2.2757,
"regression_edge": 2.0,
"xwoba_edge": 2.5,
"xba_edge": 2.5,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": 1.5714,
"exit_velocity_edge": 2.12,
"sweet_spot_edge": 2.5,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "CF",
"player_id": "656775",
"player_name": "Cedric Mullins",
"offense_factor": 0.9308,
"quality_score": -0.9232,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656775",
"espn_id": 35578,
"player_name": "Cedric Mullins",
"team": "TB",
"role": "batter",
"espn_rank": 444,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 444,
"gp_value": 50.0,
"gp_rank": 169,
"ab_value": 172.0,
"ab_rank": 144,
"r_value": 18.0,
"r_rank": 182,
"h_value": 32.0,
"h_rank": 202,
"avg_value": 0.1860465,
"avg_rank": 166.0,
"2b_value": 4.0,
"2b_rank": 260,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 3.0,
"hr_rank": 201,
"rbi_value": 16.0,
"rbi_rank": 208,
"tb_value": 47.0,
"tb_rank": 1163,
"bb_value": 15.0,
"bb_rank": 162,
"so_value": 33.0,
"so_rank": 190,
"sb_value": 10.0,
"sb_rank": 18,
"obp_value": 0.2617801,
"obp_rank": "167",
"slg_value": 0.2732558,
"slg_rank": "170",
"ops_value": 0.5350359,
"ops_rank": 170.0,
"war_value": -0.28,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 176.0,
"k_percent": 16.8,
"bb_percent": 7.3,
"woba": 0.249,
"xwoba": 0.244,
"xba": 0.184,
"xslg": 0.28,
"sweet_spot_percent": 28.4,
"barrel_batted_rate": 1.4,
"hard_hit_percent": 28.8,
"exit_velocity_avg": 87.8,
"launch_angle_avg": 29.2,
"whiff_percent": 19.2,
"swing_percent": 48.8
},
"components": {
"expected_quality": -1.3186,
"regression_edge": -0.1429,
"xwoba_edge": -1.7429,
"xba_edge": -1.5714,
"xslg_edge": -1.3429,
"barrel_edge": -1.2222,
"hard_hit_edge": -1.4571,
"exit_velocity_edge": -0.4,
"sweet_spot_edge": -0.8167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "676439",
"player_name": "Hunter Feduccia",
"offense_factor": 0.9792,
"quality_score": -0.2768,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "676439",
"espn_id": 41801,
"player_name": "Hunter Feduccia",
"team": "TB",
"role": "batter",
"espn_rank": 197,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 197,
"gp_value": 32.0,
"gp_rank": 310,
"ab_value": 66.0,
"ab_rank": 354,
"r_value": 8.0,
"r_rank": 335,
"h_value": 18.0,
"h_rank": 314,
"avg_value": 0.2727272,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 353,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 1.0,
"hr_rank": 317,
"rbi_value": 6.0,
"rbi_rank": 352,
"tb_value": 23.0,
"tb_rank": 1934,
"bb_value": 8.0,
"bb_rank": 280,
"so_value": 24.0,
"so_rank": 275,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3552631,
"obp_rank": "-",
"slg_value": 0.3484848,
"slg_rank": "-",
"ops_value": 0.7037479,
"ops_rank": null,
"war_value": 0.41,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 69.0,
"k_percent": 30.7,
"bb_percent": 9.3,
"woba": 0.325,
"xwoba": 0.293,
"xba": 0.223,
"xslg": 0.325,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 2.3,
"hard_hit_percent": 25.6,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 20.3,
"whiff_percent": 25.2,
"swing_percent": 47.5
},
"components": {
"expected_quality": -0.5663,
"regression_edge": -0.9143,
"xwoba_edge": -0.3429,
"xba_edge": -0.4571,
"xslg_edge": -0.7,
"barrel_edge": -1.0222,
"hard_hit_edge": -1.9143,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": 0.5167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "670764",
"player_name": "Taylor Walls",
"offense_factor": 0.9232,
"quality_score": -1.0237,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "670764",
"espn_id": 40576,
"player_name": "Taylor Walls",
"team": "TB",
"role": "batter",
"espn_rank": 72,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 72,
"gp_value": 43.0,
"gp_rank": 221,
"ab_value": 130.0,
"ab_rank": 218,
"r_value": 19.0,
"r_rank": 175,
"h_value": 27.0,
"h_rank": 238,
"avg_value": 0.2076923,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 195,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 0.0,
"hr_rank": 401,
"rbi_value": 14.0,
"rbi_rank": 232,
"tb_value": 37.0,
"tb_rank": 1656,
"bb_value": 19.0,
"bb_rank": 115,
"so_value": 38.0,
"so_rank": 151,
"sb_value": 6.0,
"sb_rank": 58,
"obp_value": 0.3133333,
"obp_rank": "-",
"slg_value": 0.2846153,
"slg_rank": "-",
"ops_value": 0.5979486,
"ops_rank": null,
"war_value": 1.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 139.0,
"k_percent": 25.2,
"bb_percent": 11.9,
"woba": 0.271,
"xwoba": 0.239,
"xba": 0.17,
"xslg": 0.221,
"sweet_spot_percent": 27.7,
"barrel_batted_rate": 2.2,
"hard_hit_percent": 14.9,
"exit_velocity_avg": 82.7,
"launch_angle_avg": 19.9,
"whiff_percent": 21.1,
"swing_percent": 43.2
},
"components": {
"expected_quality": -1.7352,
"regression_edge": -0.9143,
"xwoba_edge": -1.8857,
"xba_edge": -1.9714,
"xslg_edge": -2.1857,
"barrel_edge": -1.0444,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -2.44,
"sweet_spot_edge": -0.9333,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0261,
"raw_average_factor": 1.0261,
"team_espn_average_rank": 334.89,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "LF",
"player_id": "681481",
"player_name": "Kerry Carpenter",
"offense_factor": 1.0045,
"quality_score": 0.0604,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681481",
"espn_id": 42714,
"player_name": "Kerry Carpenter",
"team": "DET",
"role": "batter",
"espn_rank": 418,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 418,
"gp_value": 38.0,
"gp_rank": 265,
"ab_value": 104.0,
"ab_rank": 274,
"r_value": 11.0,
"r_rank": 285,
"h_value": 23.0,
"h_rank": 269,
"avg_value": 0.2211538,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 353,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 6.0,
"hr_rank": 107,
"rbi_value": 17.0,
"rbi_rank": 196,
"tb_value": 47.0,
"tb_rank": 963,
"bb_value": 11.0,
"bb_rank": 230,
"so_value": 41.0,
"so_rank": 133,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.302521,
"obp_rank": "-",
"slg_value": 0.451923,
"slg_rank": "-",
"ops_value": 0.754444,
"ops_rank": null,
"war_value": -0.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 116.0,
"k_percent": 34.2,
"bb_percent": 9.4,
"woba": 0.327,
"xwoba": 0.301,
"xba": 0.205,
"xslg": 0.398,
"sweet_spot_percent": 35.9,
"barrel_batted_rate": 11.1,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 92.0,
"launch_angle_avg": 20.7,
"whiff_percent": 34.2,
"swing_percent": 46.3
},
"components": {
"expected_quality": 0.2541,
"regression_edge": -0.7429,
"xwoba_edge": -0.1143,
"xba_edge": -0.9714,
"xslg_edge": 0.3429,
"barrel_edge": 0.9333,
"hard_hit_edge": 1.5714,
"exit_velocity_edge": 1.28,
"sweet_spot_edge": 0.4333,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "SS",
"player_id": "805808",
"player_name": "Kevin McGonigle",
"offense_factor": 1.061,
"quality_score": 0.813,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805808",
"espn_id": 5149072,
"player_name": "Kevin McGonigle",
"team": "DET",
"role": "batter",
"espn_rank": 4,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 4,
"gp_value": 58.0,
"gp_rank": 37,
"ab_value": 217.0,
"ab_rank": 38,
"r_value": 36.0,
"r_rank": 29,
"h_value": 62.0,
"h_rank": 19,
"avg_value": 0.2857142,
"avg_rank": 34.0,
"2b_value": 12.0,
"2b_rank": 32,
"3b_value": 3.0,
"3b_rank": 4,
"hr_value": 3.0,
"hr_rank": 201,
"rbi_value": 21.0,
"rbi_rank": 141,
"tb_value": 89.0,
"tb_rank": 662,
"bb_value": 35.0,
"bb_rank": 16,
"so_value": 35.0,
"so_rank": 174,
"sb_value": 9.0,
"sb_rank": 28,
"obp_value": 0.3897637,
"obp_rank": "18",
"slg_value": 0.4101382,
"slg_rank": "89",
"ops_value": 0.7999019,
"ops_rank": 55.0,
"war_value": 3.15,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 237.0,
"k_percent": 14.0,
"bb_percent": 13.2,
"woba": 0.358,
"xwoba": 0.36,
"xba": 0.266,
"xslg": 0.448,
"sweet_spot_percent": 38.3,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 37.2,
"exit_velocity_avg": 88.1,
"launch_angle_avg": 20.1,
"whiff_percent": 14.0,
"swing_percent": 41.6
},
"components": {
"expected_quality": 0.936,
"regression_edge": 0.0571,
"xwoba_edge": 1.5714,
"xba_edge": 0.7714,
"xslg_edge": 1.0571,
"barrel_edge": 0.4444,
"hard_hit_edge": -0.2571,
"exit_velocity_edge": -0.28,
"sweet_spot_edge": 0.8333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "682985",
"player_name": "Riley Greene",
"offense_factor": 1.0775,
"quality_score": 1.0336,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682985",
"espn_id": 42179,
"player_name": "Riley Greene",
"team": "DET",
"role": "batter",
"espn_rank": 90,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 90,
"gp_value": 60.0,
"gp_rank": 2,
"ab_value": 216.0,
"ab_rank": 40,
"r_value": 30.0,
"r_rank": 58,
"h_value": 65.0,
"h_rank": 6,
"avg_value": 0.3009259,
"avg_rank": 14.0,
"2b_value": 15.0,
"2b_rank": 8,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 4.0,
"hr_rank": 163,
"rbi_value": 25.0,
"rbi_rank": 101,
"tb_value": 92.0,
"tb_rank": 819,
"bb_value": 30.0,
"bb_rank": 31,
"so_value": 70.0,
"so_rank": 18,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.391129,
"obp_rank": "14",
"slg_value": 0.4259259,
"slg_rank": "80",
"ops_value": 0.8170549,
"ops_rank": 48.0,
"war_value": 1.2,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 232.0,
"k_percent": 28.3,
"bb_percent": 12.3,
"woba": 0.374,
"xwoba": 0.362,
"xba": 0.265,
"xslg": 0.465,
"sweet_spot_percent": 40.6,
"barrel_batted_rate": 11.9,
"hard_hit_percent": 50.3,
"exit_velocity_avg": 90.7,
"launch_angle_avg": 15.7,
"whiff_percent": 29.6,
"swing_percent": 44.9
},
"components": {
"expected_quality": 1.2577,
"regression_edge": -0.3429,
"xwoba_edge": 1.6286,
"xba_edge": 0.7429,
"xslg_edge": 1.3,
"barrel_edge": 1.1111,
"hard_hit_edge": 1.6143,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": 1.2167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "693307",
"player_name": "Dillon Dingler",
"offense_factor": 1.1121,
"quality_score": 1.495,
"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": 57,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 57,
"gp_value": 53.0,
"gp_rank": 134,
"ab_value": 190.0,
"ab_rank": 117,
"r_value": 23.0,
"r_rank": 124,
"h_value": 43.0,
"h_rank": 131,
"avg_value": 0.2263157,
"avg_rank": 128.0,
"2b_value": 11.0,
"2b_rank": 51,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 11.0,
"hr_rank": 35,
"rbi_value": 34.0,
"rbi_rank": 30,
"tb_value": 87.0,
"tb_rank": 603,
"bb_value": 20.0,
"bb_rank": 98,
"so_value": 46.0,
"so_rank": 94,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3130841,
"obp_rank": "116",
"slg_value": 0.4578947,
"slg_rank": "51",
"ops_value": 0.7709788,
"ops_rank": 71.0,
"war_value": 1.63,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 203.0,
"k_percent": 21.3,
"bb_percent": 9.3,
"woba": 0.34,
"xwoba": 0.385,
"xba": 0.285,
"xslg": 0.527,
"sweet_spot_percent": 40.3,
"barrel_batted_rate": 12.6,
"hard_hit_percent": 47.9,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 14.8,
"whiff_percent": 21.5,
"swing_percent": 47.0
},
"components": {
"expected_quality": 1.6747,
"regression_edge": 1.2857,
"xwoba_edge": 2.2857,
"xba_edge": 1.3143,
"xslg_edge": 2.1857,
"barrel_edge": 1.2667,
"hard_hit_edge": 1.2714,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": 1.1667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "690993",
"player_name": "Colt Keith",
"offense_factor": 1.0095,
"quality_score": 0.1265,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "690993",
"espn_id": 4683384,
"player_name": "Colt Keith",
"team": "DET",
"role": "batter",
"espn_rank": 372,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 372,
"gp_value": 55.0,
"gp_rank": 100,
"ab_value": 161.0,
"ab_rank": 168,
"r_value": 21.0,
"r_rank": 154,
"h_value": 45.0,
"h_rank": 117,
"avg_value": 0.2795031,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 139,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 0.0,
"hr_rank": 401,
"rbi_value": 7.0,
"rbi_rank": 332,
"tb_value": 55.0,
"tb_rank": 1557,
"bb_value": 10.0,
"bb_rank": 247,
"so_value": 35.0,
"so_rank": 174,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.3236994,
"obp_rank": "-",
"slg_value": 0.3416149,
"slg_rank": "-",
"ops_value": 0.6653143,
"ops_rank": null,
"war_value": -0.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 160.0,
"k_percent": 20.6,
"bb_percent": 5.9,
"woba": 0.305,
"xwoba": 0.31,
"xba": 0.266,
"xslg": 0.395,
"sweet_spot_percent": 36.3,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 40.3,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 14.6,
"whiff_percent": 22.5,
"swing_percent": 42.1
},
"components": {
"expected_quality": 0.1791,
"regression_edge": 0.1429,
"xwoba_edge": 0.1429,
"xba_edge": 0.7714,
"xslg_edge": 0.3,
"barrel_edge": -0.4444,
"hard_hit_edge": 0.1857,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 0.5,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "679529",
"player_name": "Spencer Torkelson",
"offense_factor": 1.0405,
"quality_score": 0.5402,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "679529",
"espn_id": 4424286,
"player_name": "Spencer Torkelson",
"team": "DET",
"role": "batter",
"espn_rank": 494,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 494,
"gp_value": 59.0,
"gp_rank": 19,
"ab_value": 196.0,
"ab_rank": 106,
"r_value": 18.0,
"r_rank": 182,
"h_value": 42.0,
"h_rank": 139,
"avg_value": 0.2142857,
"avg_rank": 146.0,
"2b_value": 13.0,
"2b_rank": 22,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 8.0,
"hr_rank": 61,
"rbi_value": 22.0,
"rbi_rank": 134,
"tb_value": 79.0,
"tb_rank": 660,
"bb_value": 27.0,
"bb_rank": 42,
"so_value": 73.0,
"so_rank": 11,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3171806,
"obp_rank": "109",
"slg_value": 0.4030612,
"slg_rank": "93",
"ops_value": 0.7202418,
"ops_rank": 100.0,
"war_value": -0.48,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 213.0,
"k_percent": 32.3,
"bb_percent": 12.1,
"woba": 0.319,
"xwoba": 0.322,
"xba": 0.212,
"xslg": 0.408,
"sweet_spot_percent": 46.3,
"barrel_batted_rate": 14.2,
"hard_hit_percent": 46.3,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 19.1,
"whiff_percent": 29.4,
"swing_percent": 41.5
},
"components": {
"expected_quality": 0.6349,
"regression_edge": 0.0857,
"xwoba_edge": 0.4857,
"xba_edge": -0.7714,
"xslg_edge": 0.4857,
"barrel_edge": 1.6222,
"hard_hit_edge": 1.0429,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": 2.1667,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "CF",
"player_id": "672761",
"player_name": "Wenceel Pérez",
"offense_factor": 0.9755,
"quality_score": -0.327,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672761",
"espn_id": 41586,
"player_name": "Wenceel Perez",
"team": "DET",
"role": "batter",
"espn_rank": 528,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 528,
"gp_value": 44.0,
"gp_rank": 214,
"ab_value": 138.0,
"ab_rank": 210,
"r_value": 17.0,
"r_rank": 199,
"h_value": 23.0,
"h_rank": 269,
"avg_value": 0.1666666,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 260,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 5.0,
"hr_rank": 133,
"rbi_value": 11.0,
"rbi_rank": 269,
"tb_value": 42.0,
"tb_rank": 1244,
"bb_value": 11.0,
"bb_rank": 230,
"so_value": 22.0,
"so_rank": 293,
"sb_value": 3.0,
"sb_rank": 126,
"obp_value": 0.2281879,
"obp_rank": "-",
"slg_value": 0.3043478,
"slg_rank": "-",
"ops_value": 0.5325357,
"ops_rank": null,
"war_value": -0.91,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 135.0,
"k_percent": 14.5,
"bb_percent": 7.6,
"woba": 0.247,
"xwoba": 0.267,
"xba": 0.203,
"xslg": 0.339,
"sweet_spot_percent": 22.1,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 34.5,
"exit_velocity_avg": 87.4,
"launch_angle_avg": 14.4,
"whiff_percent": 17.1,
"swing_percent": 47.2
},
"components": {
"expected_quality": -0.7126,
"regression_edge": 0.5714,
"xwoba_edge": -1.0857,
"xba_edge": -1.0286,
"xslg_edge": -0.5,
"barrel_edge": 0.0444,
"hard_hit_edge": -0.6429,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": -1.8667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "701678",
"player_name": "Hao-Yu Lee",
"offense_factor": 0.9978,
"quality_score": -0.0299,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "701678",
"espn_id": 5124113,
"player_name": "Hao-Yu Lee",
"team": "DET",
"role": "batter",
"espn_rank": 520,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 520,
"gp_value": 31.0,
"gp_rank": 317,
"ab_value": 78.0,
"ab_rank": 328,
"r_value": 4.0,
"r_rank": 397,
"h_value": 15.0,
"h_rank": 342,
"avg_value": 0.1923076,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 298,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 1.0,
"hr_rank": 317,
"rbi_value": 8.0,
"rbi_rank": 314,
"tb_value": 23.0,
"tb_rank": 1689,
"bb_value": 4.0,
"bb_rank": 373,
"so_value": 24.0,
"so_rank": 275,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.2317073,
"obp_rank": "-",
"slg_value": 0.2948717,
"slg_rank": "-",
"ops_value": 0.526579,
"ops_rank": null,
"war_value": -0.71,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 72.0,
"k_percent": 28.4,
"bb_percent": 4.9,
"woba": 0.238,
"xwoba": 0.279,
"xba": 0.21,
"xslg": 0.396,
"sweet_spot_percent": 38.9,
"barrel_batted_rate": 11.1,
"hard_hit_percent": 31.5,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 19.0,
"whiff_percent": 31.1,
"swing_percent": 47.2
},
"components": {
"expected_quality": -0.2679,
"regression_edge": 1.1714,
"xwoba_edge": -0.7429,
"xba_edge": -0.8286,
"xslg_edge": 0.3143,
"barrel_edge": 0.9333,
"hard_hit_edge": -1.0714,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": 0.9333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "656716",
"player_name": "Zach McKinstry",
"offense_factor": 0.9567,
"quality_score": -0.5775,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "656716",
"espn_id": 38420,
"player_name": "Zach McKinstry",
"team": "DET",
"role": "batter",
"espn_rank": 531,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 531,
"gp_value": 38.0,
"gp_rank": 265,
"ab_value": 108.0,
"ab_rank": 267,
"r_value": 2.0,
"r_rank": 442,
"h_value": 17.0,
"h_rank": 324,
"avg_value": 0.1574074,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 298,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 1.0,
"hr_rank": 317,
"rbi_value": 9.0,
"rbi_rank": 298,
"tb_value": 23.0,
"tb_rank": 1889,
"bb_value": 13.0,
"bb_rank": 193,
"so_value": 23.0,
"so_rank": 285,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.2439024,
"obp_rank": "-",
"slg_value": 0.2129629,
"slg_rank": "-",
"ops_value": 0.4568653,
"ops_rank": null,
"war_value": -1.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 111.0,
"k_percent": 19.0,
"bb_percent": 9.9,
"woba": 0.213,
"xwoba": 0.244,
"xba": 0.195,
"xslg": 0.261,
"sweet_spot_percent": 29.1,
"barrel_batted_rate": 1.2,
"hard_hit_percent": 22.1,
"exit_velocity_avg": 84.2,
"launch_angle_avg": 13.4,
"whiff_percent": 15.8,
"swing_percent": 50.3
},
"components": {
"expected_quality": -1.475,
"regression_edge": 0.8857,
"xwoba_edge": -1.7429,
"xba_edge": -1.2571,
"xslg_edge": -1.6143,
"barrel_edge": -1.2667,
"hard_hit_edge": -2.4143,
"exit_velocity_edge": -1.84,
"sweet_spot_edge": -0.7,
"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 DET | True | 187 | 0.4047 | 0.4500 | 0.9656 | 1.0149 | 0.9586 | 0.9608 | negative_pitcher_regression | 0.2440 | 0.2060 | 27.90 | 4.70 | 26.30 | 6.90 | 34.50 | |
| Home TB | True | 447 | 0.0012 | 0.4520 | 0.9999 | 1.0057 | 1.0217 | 0.9867 | neutral | 0.3240 | 0.3160 | 21.10 | 11.70 | 29.50 | 5.80 | 36 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away DET | True | None | 84 | 89.12 | 2350 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0325 | |
| Home TB | True | None | 52 | 92.16 | 2603 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1380 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1 |
| home_runs_vs_away_pitcher | 0.9845 |
| home_pitcher_quality_edge | -0.4035 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "643377",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 113.0,
"k_percent": 21.1,
"bb_percent": 11.7,
"woba": 0.316,
"xwoba": 0.324,
"sweet_spot_percent": 25.6,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 36.0,
"avg_best_speed": 76.1762,
"avg_hyper_speed": 94.1763,
"whiff_percent": 29.5,
"swing_percent": 46.5
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.0406,
"command_and_miss": -0.0314,
"regression_edge": -0.2286,
"xwoba_edge": -0.3429,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.3714,
"whiff_edge": 0.5286,
"bb_edge": -0.6,
"pitch_design_score": 0.138
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "643377",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 52,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 52,
"pitch_usage": 0.0,
"release_speed": 92.15999217444877,
"release_spin_rate": 2603.000569710109,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 52,
"pitch_usage": 0.0,
"release_speed": 92.15999217444877,
"release_spin_rate": 2603.000569710109,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.16,
"release_spin_rate": 2603.0006,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.138,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9859,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0012,
"sample_weight": 0.452,
"run_prevention_factor": 0.9999,
"strikeout_factor": 1.0057,
"walk_factor": 1.0217,
"homer_factor": 0.9867,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643377",
"espn_id": 42604,
"player_name": "Griffin Jax",
"team": "TB",
"role": "pitcher",
"espn_rank": 447,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 447,
"gp_value": 17.0,
"gp_rank": 168,
"gs_value": 6.0,
"gs_rank": 142,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 3.6,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 3.0,
"l_rank": 75,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 2.0,
"hld_rank": 154,
"ip_value": 30.0,
"ip_rank": 170,
"h_value": 27.0,
"h_rank": 174,
"er_value": 12.0,
"er_rank": 210,
"hr_value": 4.0,
"hr_rank": 150,
"bb_value": 15.0,
"bb_rank": 143,
"k_value": 27.0,
"k_rank": 209,
"k_per_9_value": 8.1,
"k_per_9_rank": 33,
"whip_value": 1.4,
"whip_rank": null,
"war_value": -0.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "680744",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 41.0,
"k_percent": 27.9,
"bb_percent": 4.7,
"woba": 0.206,
"xwoba": 0.244,
"sweet_spot_percent": 13.8,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 34.5,
"avg_best_speed": 76.4433,
"avg_hyper_speed": 93.1688,
"whiff_percent": 26.3,
"swing_percent": 45.7
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.5277,
"command_and_miss": 0.5957,
"regression_edge": -1.0857,
"xwoba_edge": 1.9429,
"barrel_edge": 0.0667,
"hard_hit_edge": 0.5857,
"whiff_edge": 0.0714,
"bb_edge": 1.15,
"pitch_design_score": -0.0325
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "680744",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 84,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 84,
"pitch_usage": 0.0,
"release_speed": 89.11549595572583,
"release_spin_rate": 2349.679012345679,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 84,
"pitch_usage": 0.0,
"release_speed": 89.11549595572583,
"release_spin_rate": 2349.679012345679,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1155,
"release_spin_rate": 2349.679,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0325,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2319,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.4047,
"sample_weight": 0.45,
"run_prevention_factor": 0.9656,
"strikeout_factor": 1.0149,
"walk_factor": 0.9586,
"homer_factor": 0.9608,
"woba_minus_xwoba": -0.038,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "680744",
"espn_id": 4414347,
"player_name": "Ty Madden",
"team": "DET",
"role": "pitcher",
"espn_rank": 187,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 187,
"gp_value": 3.0,
"gp_rank": 506,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.3823,
"era_rank": null,
"w_value": 0.0,
"w_rank": 368,
"l_value": 0.0,
"l_rank": 390,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 11.1,
"ip_rank": 430,
"h_value": 7.0,
"h_rank": 485,
"er_value": 3.0,
"er_rank": 505,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 2.0,
"bb_rank": 532,
"k_value": 12.0,
"k_rank": 398,
"k_per_9_value": 9.529412,
"k_per_9_rank": 24,
"whip_value": 0.7941,
"whip_rank": null,
"war_value": 0.42,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0,
"home_runs_vs_away_pitcher": 0.9845,
"home_pitcher_quality_edge": -0.4035
},
"score_before": {
"away_runs": 1.0,
"home_runs": 1.0
},
"score_after": {
"away_runs": 1.0,
"home_runs": 0.9845,
"home_win_probability": 0.4914
},
"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 DET | 15-44 | 0.254 | 0.90 | 3.20 | -132 | cold | strong | |
| Home TB | 16-38 | 0.296 | 1.20 | 2.90 | -95 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away DET | 22-38 | 0.367 | -39 | -0.650 | True |
| Home TB | 36-20 | 0.643 | 19 | 0.339 | True |
| Signal | - | - | 0.989 | 1.404 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target DET | - | - | 1 | - | - | - | - |
| Game target TB | - | - | 2 | - | - | - | - |
| Player finalized DET | 56 | 13 | 6 | 0 | 6 | 7 | 15 |
| Player finalized TB | 59 | 14 | 9 | 2 | 8 | 8 | 11 |
| Player model fractional DET | 56.23 | 11.94 | 5.26 | 1.56 | 5.36 | 6.58 | 14.90 |
| Player model fractional TB | 59.68 | 14.81 | 8.52 | 1.78 | 7.16 | 7.80 | 13.01 |
| Simulation box DET | 34 | 7 | 1 | 0 | 1 | 4 | 10 |
| Simulation box TB | 28 | 4 | 2 | 1 | 2 | 4 | 9 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away DET | Starter | Ty Madden | 3.20 | 1 | 5 | 3 | 2 | 3.57 | 1.12 | True |
| Away DET | Middle Reliever | Drew Anderson | 1.10 | 0 | 1 | 0 | 2 | 3.40 | 1.22 | True |
| Away DET | Middle Reliever | Kyle Finnegan | 2 | 0 | 1 | 0 | 0 | 3.50 | 1.56 | True |
| Away DET | Middle Reliever | Will Vest | 1 | 1 | 2 | 1 | 0 | 6.09 | 1.40 | True |
| Home TB | Starter | Griffin Jax | 5 | 1 | 6 | 6 | 4 | 3.21 | 1.28 | True |
| Home TB | Middle Reliever | Ian Seymour | 1.10 | 0 | 1 | 0 | 0 | 3.63 | 1.20 | True |
| Home TB | Middle Reliever | Bryan Baker | 1 | 0 | 0 | 0 | 0 | 2.72 | 1.25 | True |
| Home TB | Middle Reliever | Kevin Kelly | 1 | 0 | 1 | 0 | 0 | 3.56 | 1.16 | True |
| Home TB | Middle Reliever | Garrett Cleavinger | 0.20 | 0 | 2 | 1 | 0 | 4.07 | 1.30 | True |
| Home TB | Middle Reliever | Casey Legumina | 0 | 0 | 0 | 0 | 0 | 3.58 | 1.25 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | DET | pitcher | Starter | Ty Madden | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -2.1333 | deboost | worse |
| away | DET | batter | C | Dillon Dingler | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 2.1300 | boost | worse |
| away | DET | batter | 2B | Hao-Yu Lee | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 2.1180 | boost | worse |
| home | TB | batter | CF | Cedric Mullins | worse | 11 | 5 | 6 | 4 | 7 | predicted_RBI | 1.6600 | boost | better |
| home | TB | batter | DH | Yandy Díaz | worse | 11 | 4 | 7 | 5 | 6 | predicted_AB | -1.3600 | deboost | worse |
| away | DET | batter | 1B | Spencer Torkelson | worse | 11 | 1 | 10 | 2 | 9 | predicted_SO | -1.3260 | deboost | better |
| home | TB | batter | 1B | Jonathan Aranda | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | -1.0900 | deboost | worse |
| home | TB | batter | RF | Victor Mesa Jr. | worse | 10 | 1 | 9 | 0 | 10 | predicted_SO | 1.0710 | boost | worse |
| home | TB | batter | 3B | Junior Caminero | worse | 11 | 6 | 5 | 5 | 6 | predicted_AB | -1.0600 | deboost | worse |
| home | TB | batter | C | Hunter Feduccia | worse | 10 | 3 | 7 | 4 | 6 | predicted_SO | -1.0140 | deboost | better |
| away | DET | pitcher | Middle Reliever | Kyle Finnegan | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.0000 | boost | better |
| home | TB | pitcher | Starter | Griffin Jax | better | 1 | 1 | 0 | 1 | 0 | predicted_SO | 1.0000 | boost | better |
| home | TB | pitcher | Middle Reliever | Casey Legumina | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -1.0000 | deboost | worse |
| away | DET | batter | SS | Kevin McGonigle | worse | 11 | 3 | 8 | 4 | 7 | predicted_H | 0.9800 | boost | better |
| home | TB | batter | SS | Taylor Walls | worse | 11 | 1 | 10 | 0 | 11 | predicted_SO | 0.9660 | boost | worse |
| away | DET | pitcher | Middle Reliever | Will Vest | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.9000 | boost | better |
| away | DET | batter | DH | Riley Greene | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_AB | -0.8400 | deboost | worse |
| away | DET | batter | RF | Zach McKinstry | worse | 11 | 2 | 9 | 3 | 8 | predicted_AB | 0.8390 | boost | better |
| home | TB | batter | 2B | Richie Palacios | worse | 10 | 1 | 9 | 2 | 8 | predicted_SO | -0.8210 | deboost | better |
| away | DET | batter | 3B | Colt Keith | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | 0.7640 | boost | better |
| away | DET | batter | LF | Kerry Carpenter | worse | 11 | 4 | 7 | 5 | 6 | predicted_BB | 0.6610 | boost | better |
| home | TB | batter | LF | Chandler Simpson | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | 0.6300 | boost | better |
| away | DET | batter | CF | Wenceel Pérez | worse | 10 | 3 | 7 | 2 | 8 | predicted_AB | 0.5110 | boost | better |
| home | TB | pitcher | Middle Reliever | Garrett Cleavinger | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | DET | pitcher | Middle Reliever | Drew Anderson | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | TB | pitcher | Middle Reliever | Ian Seymour | 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 | Ty Madden |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4047 |
| ESPN Rank | 187 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0325 |
| Avg Velo | 89.1155 |
| Avg Spin | 2349.6790 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 3.2000 |
| Pre ER | 1 |
| Pre H | 3 |
| Pre BB | 2 |
| Pre SO | 5 |
| Season ERA | 2.3824 |
| Season WHIP | 0.7941 |
| Role Avg IP | 5.5000 |
| Recent Avg IP | 5.5000 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 66,
"wins": 24,
"losses": 42,
"win_pct": 0.3636,
"runs_scored": 247.0,
"runs_allowed": 284.0,
"run_differential": -37.0,
"run_differential_per_game": -0.5606,
"avg_runs_scored": 3.7424,
"avg_runs_allowed": 4.303,
"offense_index": 0.8416,
"defense_index": 1.0334,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 4.3,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.2903
},
"opponent": {
"team": "TB",
"games": 64,
"wins": 39,
"losses": 25,
"win_pct": 0.6094,
"runs_scored": 279.0,
"runs_allowed": 270.0,
"run_differential": 9.0,
"run_differential_per_game": 0.1406,
"avg_runs_scored": 4.3594,
"avg_runs_allowed": 4.2188,
"offense_index": 0.9803,
"defense_index": 1.0541,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.4,
"run_differential": -19.0
},
"available": true,
"quality_score": 0.0754
},
"edges": {
"quality_edge": -0.3657,
"offense_edge": -0.1584,
"opponent_offense_edge": -0.0197,
"defense_strength": 0.0334,
"opponent_defense_weakness": -0.0541,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9872,
"run_prevention": 1.0118,
"strikeout": 0.9906
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "680744",
"profile": {
"available": true,
"pitcher_id": "680744",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 41.0,
"k_percent": 27.9,
"bb_percent": 4.7,
"woba": 0.206,
"xwoba": 0.244,
"sweet_spot_percent": 13.8,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 34.5,
"avg_best_speed": 76.4433,
"avg_hyper_speed": 93.1688,
"whiff_percent": 26.3,
"swing_percent": 45.7
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.5277,
"command_and_miss": 0.5957,
"regression_edge": -1.0857,
"xwoba_edge": 1.9429,
"barrel_edge": 0.0667,
"hard_hit_edge": 0.5857,
"whiff_edge": 0.0714,
"bb_edge": 1.15,
"pitch_design_score": -0.0325
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "680744",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 84,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 84,
"pitch_usage": 0.0,
"release_speed": 89.11549595572583,
"release_spin_rate": 2349.679012345679,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 84,
"pitch_usage": 0.0,
"release_speed": 89.11549595572583,
"release_spin_rate": 2349.679012345679,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1155,
"release_spin_rate": 2349.679,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0325,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2319,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.4047,
"sample_weight": 0.45,
"run_prevention_factor": 0.9656,
"strikeout_factor": 1.0149,
"walk_factor": 0.9586,
"homer_factor": 0.9608,
"woba_minus_xwoba": -0.038,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "680744",
"espn_id": 4414347,
"player_name": "Ty Madden",
"team": "DET",
"role": "pitcher",
"espn_rank": 187,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 187,
"gp_value": 3.0,
"gp_rank": 506,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.3823,
"era_rank": null,
"w_value": 0.0,
"w_rank": 368,
"l_value": 0.0,
"l_rank": 390,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 11.1,
"ip_rank": 430,
"h_value": 7.0,
"h_rank": 485,
"er_value": 3.0,
"er_rank": 505,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 2.0,
"bb_rank": 532,
"k_value": 12.0,
"k_rank": 398,
"k_per_9_value": 9.529412,
"k_per_9_rank": 24,
"whip_value": 0.7941,
"whip_rank": null,
"war_value": 0.42,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9845,
"adjusted": 1
},
"predicted_H": {
"original": 3.0,
"factor": 0.9845,
"adjusted": 3
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9814,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9824,
"adjusted": 0
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0067,
"adjusted": 6
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "insufficient_data"
},
"pitching": {
"IP": 11.1,
"ER": 3,
"H": 7,
"BB": 2,
"SO": 12,
"HR": 1,
"ERA": 2.382352941176471,
"WHIP": 0.7941176470588236,
"K9": 9.529411764705884,
"HR9": 0.7941176470588236,
"games_pitched": 3,
"quality_starts": 1,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 3,
"error_prone": false
},
"games_count": 3,
"latest_game_date": "2026-05-15T00:00:00"
}{
"available": true,
"pitcher_id": "680744",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 84,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 84,
"pitch_usage": 0.0,
"release_speed": 89.11549595572583,
"release_spin_rate": 2349.679012345679,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 84,
"pitch_usage": 0.0,
"release_speed": 89.11549595572583,
"release_spin_rate": 2349.679012345679,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1155,
"release_spin_rate": 2349.679,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0325,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2319,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.375,
"prior_weight": 0.625
},
"role": "pitcher",
"player_id": "680744",
"report_date": "20260601_D",
"season_year": 2026,
"rows_used": 3,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 3,
"totals": {
"IP": 11.1,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 2.0,
"SO": 12.0,
"HR": 1.0,
"BF": 43.0,
"Pitches": 175.0
},
"per_game": {
"IP": 3.2,
"ER": 1.0,
"R": 1.0,
"H": 2.3333,
"BB": 0.6667,
"SO": 4.0,
"HR": 0.3333,
"BF": 14.3333,
"Pitches": 58.3333
},
"rates": {
"ERA": 2.3824,
"WHIP": 0.7941,
"ER_per_IP": 0.26471,
"H_per_IP": 0.61765,
"BB_per_IP": 0.17647,
"SO_per_IP": 1.05882,
"HR_per_IP": 0.08824
}
},
"last_10": {
"games": 3,
"totals": {
"IP": 11.1,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 2.0,
"SO": 12.0,
"HR": 1.0,
"BF": 43.0,
"Pitches": 175.0
},
"per_game": {
"IP": 3.2,
"ER": 1.0,
"R": 1.0,
"H": 2.3333,
"BB": 0.6667,
"SO": 4.0,
"HR": 0.3333,
"BF": 14.3333,
"Pitches": 58.3333
},
"rates": {
"ERA": 2.3824,
"WHIP": 0.7941,
"ER_per_IP": 0.26471,
"H_per_IP": 0.61765,
"BB_per_IP": 0.17647,
"SO_per_IP": 1.05882,
"HR_per_IP": 0.08824
}
},
"season": {
"games": 3,
"totals": {
"IP": 11.1,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 2.0,
"SO": 12.0,
"HR": 1.0,
"BF": 43.0,
"Pitches": 175.0
},
"per_game": {
"IP": 3.2,
"ER": 1.0,
"R": 1.0,
"H": 2.3333,
"BB": 0.6667,
"SO": 4.0,
"HR": 0.3333,
"BF": 14.3333,
"Pitches": 58.3333
},
"rates": {
"ERA": 2.3824,
"WHIP": 0.7941,
"ER_per_IP": 0.26471,
"H_per_IP": 0.61765,
"BB_per_IP": 0.17647,
"SO_per_IP": 1.05882,
"HR_per_IP": 0.08824
}
}
},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 1.869,
"predicted_H": 3.887,
"predicted_BB": 1.396,
"predicted_SO": 4.638,
"predicted_HR": 0.549,
"predicted_ERA": 3.5732,
"predicted_WHIP": 1.1219
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6141,
"form_weight": 0.3859,
"form_reliability": 0.375,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.375,
"prior_weight": 0.625
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 4.2,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 1.869,
"final": 1.3354,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 3.887,
"final": 3.3423,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.396,
"final": 1.7669,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 4.638,
"final": 4.8603,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.549,
"final": 0.8259,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5732,
"final": 3.5732,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1219,
"final": 1.1219,
"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.2643 |
| ESPN Rank | 177 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0090 |
| Avg Velo | 89.5338 |
| Avg Spin | 2103.0079 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 2 |
| Pre SO | 1 |
| Season ERA | 4.0263 |
| Season WHIP | 1.2632 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 66,
"wins": 24,
"losses": 42,
"win_pct": 0.3636,
"runs_scored": 247.0,
"runs_allowed": 284.0,
"run_differential": -37.0,
"run_differential_per_game": -0.5606,
"avg_runs_scored": 3.7424,
"avg_runs_allowed": 4.303,
"offense_index": 0.8416,
"defense_index": 1.0334,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 4.3,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.2903
},
"opponent": {
"team": "TB",
"games": 64,
"wins": 39,
"losses": 25,
"win_pct": 0.6094,
"runs_scored": 279.0,
"runs_allowed": 270.0,
"run_differential": 9.0,
"run_differential_per_game": 0.1406,
"avg_runs_scored": 4.3594,
"avg_runs_allowed": 4.2188,
"offense_index": 0.9803,
"defense_index": 1.0541,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.4,
"run_differential": -19.0
},
"available": true,
"quality_score": 0.0754
},
"edges": {
"quality_edge": -0.3657,
"offense_edge": -0.1584,
"opponent_offense_edge": -0.0197,
"defense_strength": 0.0334,
"opponent_defense_weakness": -0.0541,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9872,
"run_prevention": 1.0118,
"strikeout": 0.9906
},
"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": 131.0,
"k_percent": 29.5,
"bb_percent": 10.9,
"woba": 0.289,
"xwoba": 0.271,
"sweet_spot_percent": 26.1,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 39.1,
"avg_best_speed": 80.401,
"avg_hyper_speed": 94.331,
"whiff_percent": 30.1,
"swing_percent": 48.4
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.5415,
"command_and_miss": 0.5786,
"regression_edge": 0.5143,
"xwoba_edge": 1.1714,
"barrel_edge": -0.1111,
"hard_hit_edge": -0.0714,
"whiff_edge": 0.6143,
"bb_edge": -0.4,
"pitch_design_score": -0.009
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "623454",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 42,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 42,
"pitch_usage": 0.0,
"release_speed": 89.53375993787307,
"release_spin_rate": 2103.007949377056,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 42,
"pitch_usage": 0.0,
"release_speed": 89.53375993787307,
"release_spin_rate": 2103.007949377056,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5338,
"release_spin_rate": 2103.0079,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.009,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0646,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2643,
"sample_weight": 0.524,
"run_prevention_factor": 0.9775,
"strikeout_factor": 1.0335,
"walk_factor": 1.0168,
"homer_factor": 0.9877,
"woba_minus_xwoba": 0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "623454",
"espn_id": 28617,
"player_name": "Drew Anderson",
"team": "MIL",
"role": "pitcher",
"espn_rank": 177,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 177,
"gp_value": 20.0,
"gp_rank": 134,
"gs_value": 1.0,
"gs_rank": 220,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 4.0263,
"era_rank": null,
"w_value": 2.0,
"w_rank": 141,
"l_value": 3.0,
"l_rank": 75,
"sv_value": 2.0,
"sv_rank": 50,
"hld_value": 2.0,
"hld_rank": 154,
"ip_value": 38.0,
"ip_rank": 141,
"h_value": 32.0,
"h_rank": 148,
"er_value": 17.0,
"er_rank": 137,
"hr_value": 5.0,
"hr_rank": 113,
"bb_value": 16.0,
"bb_rank": 126,
"k_value": 46.0,
"k_rank": 91,
"k_per_9_value": 10.894736,
"k_per_9_rank": 17,
"whip_value": 1.2631,
"whip_rank": null,
"war_value": 0.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9882,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9882,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0088,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9936,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0176,
"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": 21.0,
"ER": 6,
"H": 18,
"BB": 7,
"SO": 27,
"HR": 2,
"ERA": 2.5714285714285716,
"WHIP": 1.1904761904761905,
"K9": 11.571428571428571,
"HR9": 0.8571428571428571,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-31T00:00:00"
}{
"available": true,
"pitcher_id": "623454",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 42,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 42,
"pitch_usage": 0.0,
"release_speed": 89.53375993787307,
"release_spin_rate": 2103.007949377056,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 42,
"pitch_usage": 0.0,
"release_speed": 89.53375993787307,
"release_spin_rate": 2103.007949377056,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5338,
"release_spin_rate": 2103.0079,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.009,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0646,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.499,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6,
"prior_weight": 0.4
},
"role": "pitcher",
"player_id": "623454",
"report_date": "20260601_D",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 11.0,
"ER": 3.0,
"R": 4.0,
"H": 8.0,
"BB": 4.0,
"SO": 15.0,
"HR": 2.0,
"BF": 45.0,
"Pitches": 178.0
},
"per_game": {
"IP": 2.1,
"ER": 0.6,
"R": 0.8,
"H": 1.6,
"BB": 0.8,
"SO": 3.0,
"HR": 0.4,
"BF": 9.0,
"Pitches": 35.6
},
"rates": {
"ERA": 2.4545,
"WHIP": 1.0909,
"ER_per_IP": 0.27273,
"H_per_IP": 0.72727,
"BB_per_IP": 0.36364,
"SO_per_IP": 1.36364,
"HR_per_IP": 0.18182
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 21.0,
"ER": 6.0,
"R": 8.0,
"H": 18.0,
"BB": 7.0,
"SO": 27.0,
"HR": 2.0,
"BF": 87.0,
"Pitches": 338.0
},
"per_game": {
"IP": 2.0,
"ER": 0.6,
"R": 0.8,
"H": 1.8,
"BB": 0.7,
"SO": 2.7,
"HR": 0.2,
"BF": 8.7,
"Pitches": 33.8
},
"rates": {
"ERA": 2.5714,
"WHIP": 1.1905,
"ER_per_IP": 0.28571,
"H_per_IP": 0.85714,
"BB_per_IP": 0.33333,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.09524
}
},
"season": {
"games": 20,
"totals": {
"IP": 38.0,
"ER": 17.0,
"R": 19.0,
"H": 32.0,
"BB": 16.0,
"SO": 46.0,
"HR": 5.0,
"BF": 161.0,
"Pitches": 637.0
},
"per_game": {
"IP": 2.0,
"ER": 0.85,
"R": 0.95,
"H": 1.6,
"BB": 0.8,
"SO": 2.3,
"HR": 0.25,
"BF": 8.05,
"Pitches": 31.85
},
"rates": {
"ERA": 4.0263,
"WHIP": 1.2632,
"ER_per_IP": 0.44737,
"H_per_IP": 0.84211,
"BB_per_IP": 0.42105,
"SO_per_IP": 1.21053,
"HR_per_IP": 0.13158
}
}
},
"weighted_prediction": {
"predicted_IP": 1.2,
"predicted_ER": 0.689,
"predicted_H": 1.563,
"predicted_BB": 0.668,
"predicted_SO": 2.115,
"predicted_HR": 0.252,
"predicted_ERA": 3.4009,
"predicted_WHIP": 1.2236
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.519,
"form_weight": 0.481,
"form_reliability": 0.6,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.499,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6,
"prior_weight": 0.4
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.2,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.689,
"final": 0.3314,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.563,
"final": 0.7518,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.668,
"final": 1.3593,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 2.115,
"final": 1.5363,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.252,
"final": 0.1212,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4009,
"final": 3.4009,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2236,
"final": 1.2236,
"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.2021 |
| ESPN Rank | 63 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1385 |
| Avg Velo | 92.1677 |
| Avg Spin | 1824.9197 |
| 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 | 1.3500 |
| Season WHIP | 1.4250 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 66,
"wins": 24,
"losses": 42,
"win_pct": 0.3636,
"runs_scored": 247.0,
"runs_allowed": 284.0,
"run_differential": -37.0,
"run_differential_per_game": -0.5606,
"avg_runs_scored": 3.7424,
"avg_runs_allowed": 4.303,
"offense_index": 0.8416,
"defense_index": 1.0334,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 4.3,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.2903
},
"opponent": {
"team": "TB",
"games": 64,
"wins": 39,
"losses": 25,
"win_pct": 0.6094,
"runs_scored": 279.0,
"runs_allowed": 270.0,
"run_differential": 9.0,
"run_differential_per_game": 0.1406,
"avg_runs_scored": 4.3594,
"avg_runs_allowed": 4.2188,
"offense_index": 0.9803,
"defense_index": 1.0541,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.4,
"run_differential": -19.0
},
"available": true,
"quality_score": 0.0754
},
"edges": {
"quality_edge": -0.3657,
"offense_edge": -0.1584,
"opponent_offense_edge": -0.0197,
"defense_strength": 0.0334,
"opponent_defense_weakness": -0.0541,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9872,
"run_prevention": 1.0118,
"strikeout": 0.9906
},
"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": 103.0,
"k_percent": 13.3,
"bb_percent": 16.8,
"woba": 0.348,
"xwoba": 0.334,
"sweet_spot_percent": 26.6,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 40.5,
"avg_best_speed": 77.0725,
"avg_hyper_speed": 94.2219,
"whiff_percent": 21.2,
"swing_percent": 45.1
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.3347,
"command_and_miss": -1.2029,
"regression_edge": 0.4,
"xwoba_edge": -0.6286,
"barrel_edge": 0.2,
"hard_hit_edge": -0.2714,
"whiff_edge": -0.6571,
"bb_edge": -1.875,
"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.16768136813744,
"release_spin_rate": 1824.9196510122501,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.16768136813744,
"release_spin_rate": 1824.9196510122501,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1677,
"release_spin_rate": 1824.9197,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.989,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2021,
"sample_weight": 0.45,
"run_prevention_factor": 1.0172,
"strikeout_factor": 0.9643,
"walk_factor": 1.0675,
"homer_factor": 1.0062,
"woba_minus_xwoba": 0.014,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "640448",
"espn_id": 36543,
"player_name": "Kyle Finnegan",
"team": "DET",
"role": "pitcher",
"espn_rank": 63,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 63,
"gp_value": 26.0,
"gp_rank": 31,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.025,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 0.0,
"l_rank": 390,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 6.0,
"hld_rank": 51,
"ip_value": 26.2,
"ip_rank": 209,
"h_value": 23.0,
"h_rank": 226,
"er_value": 6.0,
"er_rank": 389,
"hr_value": 2.0,
"hr_rank": 258,
"bb_value": 19.0,
"bb_rank": 78,
"k_value": 15.0,
"k_rank": 360,
"k_per_9_value": 5.0625,
"k_per_9_rank": 46,
"whip_value": 1.575,
"whip_rank": null,
"war_value": 1.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0077,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0077,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0304,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0028,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 0.9839,
"adjusted": 0
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 3,
"H": 10,
"BB": 8,
"SO": 2,
"HR": 1,
"ERA": 2.7,
"WHIP": 1.8,
"K9": 1.8,
"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-29T00: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.16768136813744,
"release_spin_rate": 1824.9196510122501,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.16768136813744,
"release_spin_rate": 1824.9196510122501,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1677,
"release_spin_rate": 1824.9197,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.989,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.263,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5128,
"prior_weight": 0.4872
},
"role": "pitcher",
"player_id": "640448",
"report_date": "20260601_D",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 3.0,
"SO": 1.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 88.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.4,
"BB": 0.6,
"SO": 0.2,
"HR": 0.0,
"BF": 4.8,
"Pitches": 17.6
},
"rates": {
"ERA": 3.6,
"WHIP": 2.0,
"ER_per_IP": 0.4,
"H_per_IP": 1.4,
"BB_per_IP": 0.6,
"SO_per_IP": 0.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 3.0,
"R": 3.0,
"H": 11.0,
"BB": 8.0,
"SO": 3.0,
"HR": 1.0,
"BF": 47.0,
"Pitches": 160.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 1.1,
"BB": 0.8,
"SO": 0.3,
"HR": 0.1,
"BF": 4.7,
"Pitches": 16.0
},
"rates": {
"ERA": 2.4545,
"WHIP": 1.7273,
"ER_per_IP": 0.27273,
"H_per_IP": 1.0,
"BB_per_IP": 0.72727,
"SO_per_IP": 0.27273,
"HR_per_IP": 0.09091
}
},
"season": {
"games": 25,
"totals": {
"IP": 26.2,
"ER": 4.0,
"R": 4.0,
"H": 20.0,
"BB": 18.0,
"SO": 15.0,
"HR": 2.0,
"BF": 109.0,
"Pitches": 416.0
},
"per_game": {
"IP": 1.0,
"ER": 0.16,
"R": 0.16,
"H": 0.8,
"BB": 0.72,
"SO": 0.6,
"HR": 0.08,
"BF": 4.36,
"Pitches": 16.64
},
"rates": {
"ERA": 1.35,
"WHIP": 1.425,
"ER_per_IP": 0.15,
"H_per_IP": 0.75,
"BB_per_IP": 0.675,
"SO_per_IP": 0.5625,
"HR_per_IP": 0.075
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.389,
"predicted_H": 1.042,
"predicted_BB": 0.518,
"predicted_SO": 0.611,
"predicted_HR": 0.089,
"predicted_ERA": 3.4987,
"predicted_WHIP": 1.5601
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5558,
"form_weight": 0.4442,
"form_reliability": 0.5128,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.263,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5128,
"prior_weight": 0.4872
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.389,
"final": 0.1728,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.042,
"final": 0.4628,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.518,
"final": 0.2301,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.611,
"final": 0.8272,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.089,
"final": 0.0395,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4987,
"final": 3.4987,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5601,
"final": 1.5601,
"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.1272 |
| ESPN Rank | 638 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1670 |
| Avg Velo | 92.6782 |
| Avg Spin | 2287.3980 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 7.4118 |
| Season WHIP | 1.4706 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 66,
"wins": 24,
"losses": 42,
"win_pct": 0.3636,
"runs_scored": 247.0,
"runs_allowed": 284.0,
"run_differential": -37.0,
"run_differential_per_game": -0.5606,
"avg_runs_scored": 3.7424,
"avg_runs_allowed": 4.303,
"offense_index": 0.8416,
"defense_index": 1.0334,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 4.3,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.2903
},
"opponent": {
"team": "TB",
"games": 64,
"wins": 39,
"losses": 25,
"win_pct": 0.6094,
"runs_scored": 279.0,
"runs_allowed": 270.0,
"run_differential": 9.0,
"run_differential_per_game": 0.1406,
"avg_runs_scored": 4.3594,
"avg_runs_allowed": 4.2188,
"offense_index": 0.9803,
"defense_index": 1.0541,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.4,
"run_differential": -19.0
},
"available": true,
"quality_score": 0.0754
},
"edges": {
"quality_edge": -0.3657,
"offense_edge": -0.1584,
"opponent_offense_edge": -0.0197,
"defense_strength": 0.0334,
"opponent_defense_weakness": -0.0541,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9872,
"run_prevention": 1.0118,
"strikeout": 0.9906
},
"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": 66.0,
"k_percent": 24.0,
"bb_percent": 9.3,
"woba": 0.327,
"xwoba": 0.3,
"sweet_spot_percent": 22.0,
"barrel_batted_rate": 8.2,
"hard_hit_percent": 34.0,
"avg_best_speed": 78.2318,
"avg_hyper_speed": 94.2909,
"whiff_percent": 30.3,
"swing_percent": 47.4
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.197,
"command_and_miss": 0.315,
"regression_edge": 0.7714,
"xwoba_edge": 0.3429,
"barrel_edge": -0.2222,
"hard_hit_edge": 0.6571,
"whiff_edge": 0.6429,
"bb_edge": 0.0,
"pitch_design_score": 0.167
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676684",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 92.67817221131912,
"release_spin_rate": 2287.398007773141,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 92.67817221131912,
"release_spin_rate": 2287.398007773141,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6782,
"release_spin_rate": 2287.398,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.167,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1932,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1272,
"sample_weight": 0.45,
"run_prevention_factor": 0.9892,
"strikeout_factor": 1.0152,
"walk_factor": 1.0,
"homer_factor": 0.9915,
"woba_minus_xwoba": 0.027,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676684",
"espn_id": 41606,
"player_name": "Will Vest",
"team": "DET",
"role": "pitcher",
"espn_rank": 638,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 638,
"gp_value": 18.0,
"gp_rank": 155,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 7.4117,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 4.0,
"l_rank": 34,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 6.0,
"hld_rank": 51,
"ip_value": 17.0,
"ip_rank": 370,
"h_value": 18.0,
"h_rank": 296,
"er_value": 14.0,
"er_rank": 173,
"hr_value": 2.0,
"hr_rank": 258,
"bb_value": 7.0,
"bb_rank": 340,
"k_value": 18.0,
"k_rank": 322,
"k_per_9_value": 9.529412,
"k_per_9_rank": 23,
"whip_value": 1.4705,
"whip_rank": null,
"war_value": -0.71,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9951,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9951,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9962,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0068,
"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": 12,
"BB": 4,
"SO": 9,
"HR": 2,
"ERA": 7.838709677419354,
"WHIP": 1.5483870967741935,
"K9": 7.838709677419354,
"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-29T00:00:00"
}{
"available": true,
"pitcher_id": "676684",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 92.67817221131912,
"release_spin_rate": 2287.398007773141,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 92.67817221131912,
"release_spin_rate": 2287.398007773141,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6782,
"release_spin_rate": 2287.398,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.167,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1932,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.355,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4016,
"prior_weight": 0.5984
},
"role": "pitcher",
"player_id": "676684",
"report_date": "20260601_D",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 6.0,
"R": 6.0,
"H": 7.0,
"BB": 1.0,
"SO": 5.0,
"HR": 1.0,
"BF": 23.0,
"Pitches": 91.0
},
"per_game": {
"IP": 1.0,
"ER": 1.2,
"R": 1.2,
"H": 1.4,
"BB": 0.2,
"SO": 1.0,
"HR": 0.2,
"BF": 4.6,
"Pitches": 18.2
},
"rates": {
"ERA": 10.125,
"WHIP": 1.5,
"ER_per_IP": 1.125,
"H_per_IP": 1.3125,
"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": 12.0,
"BB": 4.0,
"SO": 9.0,
"HR": 2.0,
"BF": 46.0,
"Pitches": 185.0
},
"per_game": {
"IP": 1.0,
"ER": 0.9,
"R": 1.1,
"H": 1.2,
"BB": 0.4,
"SO": 0.9,
"HR": 0.2,
"BF": 4.6,
"Pitches": 18.5
},
"rates": {
"ERA": 7.8387,
"WHIP": 1.5484,
"ER_per_IP": 0.87097,
"H_per_IP": 1.16129,
"BB_per_IP": 0.3871,
"SO_per_IP": 0.87097,
"HR_per_IP": 0.19355
}
},
"season": {
"games": 18,
"totals": {
"IP": 17.0,
"ER": 14.0,
"R": 16.0,
"H": 18.0,
"BB": 7.0,
"SO": 18.0,
"HR": 2.0,
"BF": 75.0,
"Pitches": 321.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7778,
"R": 0.8889,
"H": 1.0,
"BB": 0.3889,
"SO": 1.0,
"HR": 0.1111,
"BF": 4.1667,
"Pitches": 17.8333
},
"rates": {
"ERA": 7.4118,
"WHIP": 1.4706,
"ER_per_IP": 0.82353,
"H_per_IP": 1.05882,
"BB_per_IP": 0.41176,
"SO_per_IP": 1.05882,
"HR_per_IP": 0.11765
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.407,
"predicted_H": 0.634,
"predicted_BB": 0.205,
"predicted_SO": 0.565,
"predicted_HR": 0.091,
"predicted_ERA": 6.0927,
"predicted_WHIP": 1.3959
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6028,
"form_weight": 0.3972,
"form_reliability": 0.4016,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.355,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4016,
"prior_weight": 0.5984
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.407,
"final": 0.7645,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.634,
"final": 0.8546,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.205,
"final": 0.0814,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.565,
"final": 1.4301,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.091,
"final": 0.0361,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.0927,
"final": 6.0927,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3959,
"final": 1.3959,
"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.076 | 0.000 | 0.000 | Hitting_2B | 0.076 | 0.000 | -0.076 | 0.000 |
| predicted_3B | 0.076 | 0.000 | 0.000 | Hitting_3B | 0.076 | 0.000 | -0.076 | 0.000 |
| predicted_AB | 3.169 | 3.000 | 5.000 | Hitting_AB | 3.169 | 2.000 | -0.169 | 1.000 |
| predicted_AVG | 0.249 | 0.333 | 0.200 | Hitting_AVG | 0.219 | 0.500 | 0.114 | -0.167 |
| predicted_BB | 0.339 | 1.000 | 0.000 | Hitting_BB | 0.339 | 0.000 | 0.661 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.740 | 1.000 | 1.000 | Hitting_H | 0.695 | 1.000 | 0.305 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.186 | 0.000 | -0.186 | 0.000 |
| predicted_OBP | 0.303 | 0.500 | 0.200 | Hitting_OBP | 0.300 | 0.500 | 0.200 | 0.000 |
| predicted_R | 0.356 | 1.000 | 0.000 | Hitting_R | 0.356 | 0.000 | 0.644 | 1.000 |
| predicted_RBI | 0.360 | 1.000 | 1.000 | Hitting_RBI | 0.542 | 0.000 | 0.458 | 1.000 |
| predicted_SLG | 0.393 | 0.333 | 0.200 | Hitting_SLG | 0.468 | 0.500 | -0.135 | -0.167 |
| predicted_SO | 1.271 | 1.000 | 2.000 | Hitting_SO | 1.271 | 1.000 | -0.271 | 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.3390 -> 1.0000 (boost 0.6610, better) |
| Biggest Deboost | predicted_SO: 1.2710 -> 1.0000 (deboost -0.2710, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 7 | 2 | 6 | 3 | predicted_AB: 3.1690 -> 4.9332 (boost 1.7642, better) | predicted_AVG: 0.2490 -> 0.2422 (deboost -0.0068, 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.2422 -> 0.2239 (deboost -0.0183, 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_RBI: 0.5321 -> 1.0000 (boost 0.4679, better) | predicted_BB: 0.4148 -> 0.0000 (deboost -0.4148, worse) | AB rounded to 5 (raw=4.93), rates preserved: AVG=0.224 HR/AB=0.036 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4375 -> 0.0000 (deboost -0.4375, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3904 -> 0.2000 (deboost -0.1904, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 2 | 2 | 3 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.3904 (boost 0.1904, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681481",
"player_name": "Kerry Carpenter",
"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.076,
"predicted_3B": 0.076,
"predicted_AB": 3.169,
"predicted_AVG": 0.249,
"predicted_BB": 0.339,
"predicted_H": 0.74,
"predicted_HR": 0.11,
"predicted_OBP": 0.303,
"predicted_R": 0.356,
"predicted_RBI": 0.36,
"predicted_SLG": 0.393,
"predicted_SO": 1.271
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1014,
"predicted_3B": 0.0919,
"predicted_AB": 4.9332,
"predicted_AVG": 0.2422,
"predicted_BB": 0.4221,
"predicted_H": 1.1514,
"predicted_HBP": 0.079,
"predicted_HR": 0.1867,
"predicted_OBP": 0.2969,
"predicted_R": 0.471,
"predicted_RBI": 0.5728,
"predicted_SLG": 0.3969,
"predicted_SO": 1.931
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.076,
"after": 0.1014,
"delta": 0.0254,
"percent_delta": 0.3342,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.076,
"after": 0.0919,
"delta": 0.0159,
"percent_delta": 0.2092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.169,
"after": 4.9332,
"delta": 1.7642,
"percent_delta": 0.5567,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2422,
"delta": -0.0068,
"percent_delta": -0.0273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.339,
"after": 0.4221,
"delta": 0.0831,
"percent_delta": 0.2451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 1.1514,
"delta": 0.4114,
"percent_delta": 0.5559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1867,
"delta": 0.0767,
"percent_delta": 0.6973,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.2969,
"delta": -0.0061,
"percent_delta": -0.0201,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.356,
"after": 0.471,
"delta": 0.115,
"percent_delta": 0.323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.5728,
"delta": 0.2128,
"percent_delta": 0.5911,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.3969,
"delta": 0.0039,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.271,
"after": 1.931,
"delta": 0.66,
"percent_delta": 0.5193,
"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.169,
"after": 4.9332,
"delta": 1.7642,
"percent_delta": 0.5567,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2422,
"delta": -0.0068,
"percent_delta": -0.0273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 7,
"season": 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.1014,
"predicted_3B": 0.0919,
"predicted_AB": 4.9332,
"predicted_AVG": 0.2239,
"predicted_BB": 0.4148,
"predicted_H": 1.1044,
"predicted_HBP": 0.079,
"predicted_HR": 0.1787,
"predicted_OBP": 0.2841,
"predicted_R": 0.4375,
"predicted_RBI": 0.5321,
"predicted_SLG": 0.3904,
"predicted_SO": 1.9644
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1014,
"after": 0.1014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0919,
"after": 0.0919,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.9332,
"after": 4.9332,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2422,
"after": 0.2239,
"delta": -0.0183,
"percent_delta": -0.0756,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4221,
"after": 0.4148,
"delta": -0.0073,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1514,
"after": 1.1044,
"delta": -0.047,
"percent_delta": -0.0408,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.079,
"after": 0.079,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1867,
"after": 0.1787,
"delta": -0.008,
"percent_delta": -0.0428,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2969,
"after": 0.2841,
"delta": -0.0128,
"percent_delta": -0.0431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.471,
"after": 0.4375,
"delta": -0.0335,
"percent_delta": -0.0711,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5728,
"after": 0.5321,
"delta": -0.0407,
"percent_delta": -0.0711,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3969,
"after": 0.3904,
"delta": -0.0065,
"percent_delta": -0.0164,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.931,
"after": 1.9644,
"delta": 0.0334,
"percent_delta": 0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2422,
"after": 0.2239,
"delta": -0.0183,
"percent_delta": -0.0756,
"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.224 HR/AB=0.036",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1014,
"after": 0.0,
"delta": -0.1014,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0919,
"after": 0.0,
"delta": -0.0919,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.9332,
"after": 5.0,
"delta": 0.0668,
"percent_delta": 0.0135,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4148,
"after": 0.0,
"delta": -0.4148,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1044,
"after": 1.0,
"delta": -0.1044,
"percent_delta": -0.0945,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.079,
"after": 0.0,
"delta": -0.079,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1787,
"after": 0.0,
"delta": -0.1787,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5321,
"after": 1.0,
"delta": 0.4679,
"percent_delta": 0.8793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9644,
"after": 2.0,
"delta": 0.0356,
"percent_delta": 0.0181,
"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_RBI",
"before": 0.5321,
"after": 1.0,
"delta": 0.4679,
"percent_delta": 0.8793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4148,
"after": 0.0,
"delta": -0.4148,
"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": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 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.4375,
"after": 0.0,
"delta": -0.4375,
"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.4375,
"after": 0.0,
"delta": -0.4375,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2239,
"after": 0.2,
"delta": -0.0239,
"percent_delta": -0.1067,
"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.2841,
"after": 0.2,
"delta": -0.0841,
"percent_delta": -0.296,
"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.3904,
"after": 0.2,
"delta": -0.1904,
"percent_delta": -0.4877,
"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.3904,
"after": 0.2,
"delta": -0.1904,
"percent_delta": -0.4877,
"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": 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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"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": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2239,
"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.2841,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3904,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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.2239,
"delta": 0.0239,
"percent_delta": 0.1194,
"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.2,
"after": 0.2841,
"delta": 0.0841,
"percent_delta": 0.4204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.3904,
"delta": 0.1904,
"percent_delta": 0.9519,
"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.3904,
"delta": 0.1904,
"percent_delta": 0.9519,
"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.076,
"after": 0.0,
"delta": -0.076,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.076,
"after": 0.0,
"delta": -0.076,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.169,
"after": 3.0,
"delta": -0.169,
"percent_delta": -0.0533,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2239,
"delta": -0.0251,
"percent_delta": -0.1008,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.339,
"after": 1.0,
"delta": 0.661,
"percent_delta": 1.9499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 1.0,
"delta": 0.26,
"percent_delta": 0.3514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.2841,
"delta": -0.0189,
"percent_delta": -0.0624,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.356,
"after": 1.0,
"delta": 0.644,
"percent_delta": 1.809,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 1.0,
"delta": 0.64,
"percent_delta": 1.7778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.3904,
"delta": -0.0026,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.271,
"after": 1.0,
"delta": -0.271,
"percent_delta": -0.2132,
"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.339,
"after": 1.0,
"delta": 0.661,
"percent_delta": 1.9499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.271,
"after": 1.0,
"delta": -0.271,
"percent_delta": -0.2132,
"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.076 | - |
| predicted_3B | 0.076 | - |
| predicted_AB | 3.169 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.339 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.303 | - |
| predicted_R | 0.356 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.393 | - |
| predicted_SO | 1.271 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.101 | 0.025 |
| predicted_3B | 0.092 | 0.016 |
| predicted_AB | 4.933 | 1.764 |
| predicted_AVG | 0.242 | -0.007 |
| predicted_BB | 0.422 | 0.083 |
| predicted_H | 1.151 | 0.411 |
| predicted_HBP | 0.079 | - |
| predicted_HR | 0.187 | 0.077 |
| predicted_OBP | 0.297 | -0.006 |
| predicted_R | 0.471 | 0.115 |
| predicted_RBI | 0.573 | 0.213 |
| predicted_SLG | 0.397 | 0.004 |
| predicted_SO | 1.931 | 0.660 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.101 | 0.000 |
| predicted_3B | 0.092 | 0.000 |
| predicted_AB | 4.933 | 0.000 |
| predicted_AVG | 0.224 | -0.018 |
| predicted_BB | 0.415 | -0.007 |
| predicted_H | 1.104 | -0.047 |
| predicted_HBP | 0.079 | 0.000 |
| predicted_HR | 0.179 | -0.008 |
| predicted_OBP | 0.284 | -0.013 |
| predicted_R | 0.438 | -0.033 |
| predicted_RBI | 0.532 | -0.041 |
| predicted_SLG | 0.390 | -0.006 |
| predicted_SO | 1.964 | 0.033 |
AB rounded to 5 (raw=4.93), rates preserved: AVG=0.224 HR/AB=0.036
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 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 | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.101 |
| predicted_3B | 0.000 | -0.092 |
| predicted_AB | 5.000 | 0.067 |
| predicted_AVG | 0.200 | -0.024 |
| predicted_BB | 0.000 | -0.415 |
| predicted_H | 1.000 | -0.104 |
| predicted_HR | 0.000 | -0.179 |
| predicted_OBP | 0.200 | -0.084 |
| predicted_R | 0.000 | -0.438 |
| predicted_RBI | 1.000 | 0.468 |
| predicted_SLG | 0.200 | -0.190 |
| predicted_SO | 2.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 | -2.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 8.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.2500 | 0.2500 | 0.2500 | 0.2500 | 0.0000 | 0.0000 | 0.0000 | 0.3750 |
| last_10 | 0.20 | 7 | - | 22.000 | 6.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 9.000 | 0.2727 | 0.2727 | 0.2727 | 0.2727 | 0.0000 | 0.0000 | 0.0000 | 0.4091 |
| season | 0.60 | 38 | - | 374.000 | 82.000 | 9.000 | 9.000 | 22.000 | 64.000 | 42.000 | 40.000 | 150.000 | 0.2193 | 0.2998 | 0.4679 | 0.2193 | 0.0588 | 0.1711 | 0.1070 | 0.4011 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1350 |
| predicted_3B | 0.1130 |
| predicted_AB | 7.2640 |
| predicted_AVG | 0.2333 |
| predicted_BB | 0.5320 |
| predicted_H | 1.6950 |
| predicted_HBP | 0.0790 |
| predicted_HR | 0.2880 |
| predicted_OBP | 0.2888 |
| predicted_R | 0.6230 |
| predicted_RBI | 0.8540 |
| predicted_SLG | 0.4021 |
| predicted_SO | 2.8030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0760 | 0.1350 | 0.1014 | model_form_blend |
| predicted_3B | 0.0760 | 0.1130 | 0.0919 | model_form_blend |
| predicted_AB | 3.1690 | 7.2640 | 4.9332 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2333 | 0.2422 | model_form_blend |
| predicted_BB | 0.3390 | 0.5320 | 0.4221 | model_form_blend |
| predicted_H | 0.7400 | 1.6950 | 1.1514 | model_form_blend |
| predicted_HBP | - | 0.0790 | 0.0790 | form_only |
| predicted_HR | 0.1100 | 0.2880 | 0.1867 | model_form_blend |
| predicted_OBP | 0.3030 | 0.2888 | 0.2969 | model_form_blend |
| predicted_R | 0.3560 | 0.6230 | 0.4710 | model_form_blend |
| predicted_RBI | 0.3600 | 0.8540 | 0.5728 | model_form_blend |
| predicted_SLG | 0.3930 | 0.4021 | 0.3969 | model_form_blend |
| predicted_SO | 1.2710 | 2.8030 | 1.9310 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 118 |
| Season rows before report date | 118 |
| Report year | 2026 |
| Profile rows used | 118 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 1 |
| 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 | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | DH |
| gameID | 20260531_DET@CHW |
| game_type | full |
| mlbID | 681481 |
| playerID | 681481 |
| playerName | Kerry Carpenter |
| pos | RF |
| started | True |
| startingPosition | DH |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-31 |
| sl_k_percent | 34.2 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.327 |
| sl_xwoba | 0.301 |
| sl_xba | 0.205 |
| sl_xslg | 0.398 |
| sl_sweet_spot_percent | 35.9 |
| sl_barrel_batted_rate | 11.1 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 92.0 |
| sl_launch_angle_avg | 20.7 |
| sl_whiff_percent | 34.2 |
| sl_swing_percent | 46.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.227 | 0.000 | 0.000 | Hitting_2B | 0.227 | 0.000 | -0.227 | 0.000 |
| predicted_3B | 0.058 | 1.000 | 0.000 | Hitting_3B | 0.058 | 0.000 | 0.942 | 1.000 |
| predicted_AB | 4.230 | 5.000 | 8.000 | Hitting_AB | 3.831 | 2.000 | 1.169 | 3.000 |
| predicted_AVG | 0.242 | 0.400 | 0.250 | Hitting_AVG | 0.299 | 0.500 | 0.101 | -0.100 |
| predicted_BB | 0.599 | 0.000 | 1.000 | Hitting_BB | 0.599 | 2.000 | -0.599 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.020 | 2.000 | 2.000 | Hitting_H | 1.145 | 1.000 | 0.855 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.058 | 0.000 | -0.058 | 0.000 |
| predicted_OBP | 0.356 | 0.400 | 0.333 | Hitting_OBP | 0.399 | 0.750 | 0.001 | -0.350 |
| predicted_R | 0.649 | 0.000 | 1.000 | Hitting_R | 0.649 | 1.000 | -0.649 | -1.000 |
| predicted_RBI | 0.400 | 0.000 | 1.000 | Hitting_RBI | 0.442 | 0.000 | -0.442 | 0.000 |
| predicted_SLG | 0.391 | 0.800 | 0.250 | Hitting_SLG | 0.434 | 0.500 | 0.366 | 0.300 |
| predicted_SO | 0.562 | 0.000 | 1.000 | Hitting_SO | 0.562 | 0.000 | -0.562 | 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_H: 1.0200 -> 2.0000 (boost 0.9800, better) |
| 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 | 9 | 8 | 1 | 7 | 2 | predicted_AB: 4.2300 -> 8.2164 (boost 3.9864, better) | predicted_SLG: 0.3910 -> 0.3768 (deboost -0.0142, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 0 | 6 | 0 | 6 | - | predicted_R: 1.2215 -> 1.1347 (deboost -0.0868, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 2 | 6 | predicted_RBI: 0.6849 -> 1.0000 (boost 0.3151, better) | predicted_SO: 1.4227 -> 1.0000 (deboost -0.4227, better) | AB rounded to 8 (raw=8.22), rates preserved: AVG=0.242 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1347 -> 1.0000 (deboost -0.1347, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2416 -> 0.2500 (boost 0.0084, better) | predicted_SLG: 0.3563 -> 0.2500 (deboost -0.1063, 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_3B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 8.0000 -> 5.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.3563 (boost 0.1063, better) | predicted_AVG: 0.2500 -> 0.2416 (deboost -0.0084, 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.227,
"predicted_3B": 0.058,
"predicted_AB": 4.23,
"predicted_AVG": 0.242,
"predicted_BB": 0.599,
"predicted_H": 1.02,
"predicted_HR": 0.1,
"predicted_OBP": 0.356,
"predicted_R": 0.649,
"predicted_RBI": 0.4,
"predicted_SLG": 0.391,
"predicted_SO": 0.562
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3879,
"predicted_3B": 0.0973,
"predicted_AB": 8.2164,
"predicted_AVG": 0.2482,
"predicted_BB": 1.1746,
"predicted_H": 2.0691,
"predicted_HBP": 0.097,
"predicted_HR": 0.1256,
"predicted_OBP": 0.3542,
"predicted_R": 1.2215,
"predicted_RBI": 0.7373,
"predicted_SLG": 0.3768,
"predicted_SO": 1.3985
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.227,
"after": 0.3879,
"delta": 0.1609,
"percent_delta": 0.7088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.058,
"after": 0.0973,
"delta": 0.0393,
"percent_delta": 0.6776,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.23,
"after": 8.2164,
"delta": 3.9864,
"percent_delta": 0.9424,
"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.599,
"after": 1.1746,
"delta": 0.5756,
"percent_delta": 0.9609,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 2.0691,
"delta": 1.0491,
"percent_delta": 1.0285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1256,
"delta": 0.0256,
"percent_delta": 0.256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.3542,
"delta": -0.0018,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.649,
"after": 1.2215,
"delta": 0.5725,
"percent_delta": 0.8821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.7373,
"delta": 0.3373,
"percent_delta": 0.8432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.3768,
"delta": -0.0142,
"percent_delta": -0.0363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.562,
"after": 1.3985,
"delta": 0.8365,
"percent_delta": 1.4884,
"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.23,
"after": 8.2164,
"delta": 3.9864,
"percent_delta": 0.9424,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.3768,
"delta": -0.0142,
"percent_delta": -0.0363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 57
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.3879,
"predicted_3B": 0.0973,
"predicted_AB": 8.2164,
"predicted_AVG": 0.2416,
"predicted_BB": 1.1543,
"predicted_H": 1.9847,
"predicted_HBP": 0.097,
"predicted_HR": 0.1202,
"predicted_OBP": 0.335,
"predicted_R": 1.1347,
"predicted_RBI": 0.6849,
"predicted_SLG": 0.3563,
"predicted_SO": 1.4227
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3879,
"after": 0.3879,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0973,
"after": 0.0973,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.2164,
"after": 8.2164,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2482,
"after": 0.2416,
"delta": -0.0066,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1746,
"after": 1.1543,
"delta": -0.0203,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0691,
"after": 1.9847,
"delta": -0.0844,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.097,
"after": 0.097,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1256,
"after": 0.1202,
"delta": -0.0054,
"percent_delta": -0.043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3542,
"after": 0.335,
"delta": -0.0192,
"percent_delta": -0.0542,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.2215,
"after": 1.1347,
"delta": -0.0868,
"percent_delta": -0.0711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7373,
"after": 0.6849,
"delta": -0.0524,
"percent_delta": -0.0711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3768,
"after": 0.3563,
"delta": -0.0205,
"percent_delta": -0.0544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3985,
"after": 1.4227,
"delta": 0.0242,
"percent_delta": 0.0173,
"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": 1.2215,
"after": 1.1347,
"delta": -0.0868,
"percent_delta": -0.0711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=8.22), rates preserved: AVG=0.242 HR/AB=0.015",
"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.3879,
"after": 0.0,
"delta": -0.3879,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0973,
"after": 0.0,
"delta": -0.0973,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 8.2164,
"after": 8.0,
"delta": -0.2164,
"percent_delta": -0.0263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1543,
"after": 1.0,
"delta": -0.1543,
"percent_delta": -0.1337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.9847,
"after": 2.0,
"delta": 0.0153,
"percent_delta": 0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.097,
"after": 0.0,
"delta": -0.097,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1202,
"after": 0.0,
"delta": -0.1202,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6849,
"after": 1.0,
"delta": 0.3151,
"percent_delta": 0.4601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4227,
"after": 1.0,
"delta": -0.4227,
"percent_delta": -0.2971,
"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.6849,
"after": 1.0,
"delta": 0.3151,
"percent_delta": 0.4601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.4227,
"after": 1.0,
"delta": -0.4227,
"percent_delta": -0.2971,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.1347,
"after": 1.0,
"delta": -0.1347,
"percent_delta": -0.1187,
"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.1347,
"after": 1.0,
"delta": -0.1347,
"percent_delta": -0.1187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2416,
"after": 0.25,
"delta": 0.0084,
"percent_delta": 0.0348,
"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.335,
"after": 0.333,
"delta": -0.002,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3563,
"after": 0.25,
"delta": -0.1063,
"percent_delta": -0.2983,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2416,
"after": 0.25,
"delta": 0.0084,
"percent_delta": 0.0348,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3563,
"after": 0.25,
"delta": -0.1063,
"percent_delta": -0.2983,
"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": 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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_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": 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": 1.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2416,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.335,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3563,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"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.2416,
"delta": -0.0084,
"percent_delta": -0.0338,
"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.335,
"delta": 0.002,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3563,
"delta": 0.1063,
"percent_delta": 0.4254,
"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.3563,
"delta": 0.1063,
"percent_delta": 0.4254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2416,
"delta": -0.0084,
"percent_delta": -0.0338,
"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": 0.0,
"delta": -0.227,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.058,
"after": 1.0,
"delta": 0.942,
"percent_delta": 16.2414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.23,
"after": 5.0,
"delta": 0.77,
"percent_delta": 0.182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2416,
"delta": -0.0004,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.599,
"after": 0.0,
"delta": -0.599,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 2.0,
"delta": 0.98,
"percent_delta": 0.9608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.335,
"delta": -0.021,
"percent_delta": -0.059,
"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.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.3563,
"delta": -0.0347,
"percent_delta": -0.0887,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.562,
"after": 0.0,
"delta": -0.562,
"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": 1.02,
"after": 2.0,
"delta": 0.98,
"percent_delta": 0.9608,
"direction": "boost",
"projection_effect": "better",
"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.227 | - |
| predicted_3B | 0.058 | - |
| predicted_AB | 4.230 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.599 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.356 | - |
| predicted_R | 0.649 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.391 | - |
| predicted_SO | 0.562 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.388 | 0.161 |
| predicted_3B | 0.097 | 0.039 |
| predicted_AB | 8.216 | 3.986 |
| predicted_AVG | 0.248 | 0.006 |
| predicted_BB | 1.175 | 0.576 |
| predicted_H | 2.069 | 1.049 |
| predicted_HBP | 0.097 | - |
| predicted_HR | 0.126 | 0.026 |
| predicted_OBP | 0.354 | -0.002 |
| predicted_R | 1.222 | 0.573 |
| predicted_RBI | 0.737 | 0.337 |
| predicted_SLG | 0.377 | -0.014 |
| predicted_SO | 1.399 | 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.388 | 0.000 |
| predicted_3B | 0.097 | 0.000 |
| predicted_AB | 8.216 | 0.000 |
| predicted_AVG | 0.242 | -0.007 |
| predicted_BB | 1.154 | -0.020 |
| predicted_H | 1.985 | -0.084 |
| predicted_HBP | 0.097 | 0.000 |
| predicted_HR | 0.120 | -0.005 |
| predicted_OBP | 0.335 | -0.019 |
| predicted_R | 1.135 | -0.087 |
| predicted_RBI | 0.685 | -0.052 |
| predicted_SLG | 0.356 | -0.021 |
| predicted_SO | 1.423 | 0.024 |
AB rounded to 8 (raw=8.22), rates preserved: AVG=0.242 HR/AB=0.015
| 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.388 |
| predicted_3B | 0.000 | -0.097 |
| predicted_AB | 8.000 | -0.216 |
| predicted_AVG | 0.250 | 0.008 |
| predicted_BB | 1.000 | -0.154 |
| predicted_H | 2.000 | 0.015 |
| predicted_HR | 0.000 | -0.120 |
| predicted_OBP | 0.333 | -0.002 |
| predicted_R | 1.000 | -0.135 |
| predicted_RBI | 1.000 | 0.315 |
| predicted_SLG | 0.250 | -0.106 |
| 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 | 1.000 | 1.000 |
| AB | 5.000 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 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 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 19.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 6.000 | 0.1053 | 0.1905 | 0.1053 | 0.1053 | 0.0000 | 0.0000 | 0.1053 | 0.3158 |
| last_10 | 0.20 | 5 | - | 36.000 | 8.000 | 0.000 | 0.000 | 0.000 | 0.000 | 7.000 | 5.000 | 8.000 | 0.2222 | 0.3171 | 0.2222 | 0.2222 | 0.0000 | 0.0000 | 0.1389 | 0.2222 |
| season | 0.60 | 57 | - | 927.000 | 277.000 | 55.000 | 14.000 | 14.000 | 107.000 | 157.000 | 145.000 | 136.000 | 0.2988 | 0.3987 | 0.4337 | 0.2988 | 0.0151 | 0.1154 | 0.1564 | 0.1467 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5910 |
| predicted_3B | 0.1470 |
| predicted_AB | 13.2470 |
| predicted_AVG | 0.2561 |
| predicted_BB | 1.9010 |
| predicted_H | 3.3930 |
| predicted_HBP | 0.0970 |
| predicted_HR | 0.1580 |
| predicted_OBP | 0.3519 |
| predicted_R | 1.9440 |
| predicted_RBI | 1.1630 |
| predicted_SLG | 0.3588 |
| predicted_SO | 2.4540 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2270 | 0.5910 | 0.3879 | model_form_blend |
| predicted_3B | 0.0580 | 0.1470 | 0.0973 | model_form_blend |
| predicted_AB | 4.2300 | 13.2470 | 8.2164 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2561 | 0.2482 | model_form_blend |
| predicted_BB | 0.5990 | 1.9010 | 1.1746 | model_form_blend |
| predicted_H | 1.0200 | 3.3930 | 2.0691 | model_form_blend |
| predicted_HBP | - | 0.0970 | 0.0970 | form_only |
| predicted_HR | 0.1000 | 0.1580 | 0.1256 | model_form_blend |
| predicted_OBP | 0.3560 | 0.3519 | 0.3542 | model_form_blend |
| predicted_R | 0.6490 | 1.9440 | 1.2215 | model_form_blend |
| predicted_RBI | 0.4000 | 1.1630 | 0.7373 | model_form_blend |
| predicted_SLG | 0.3910 | 0.3588 | 0.3768 | model_form_blend |
| predicted_SO | 0.5620 | 2.4540 | 1.3985 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 2 |
| 2B | 0 |
| 3B | 1 |
| 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 | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260531_DET@CHW |
| game_type | full |
| mlbID | 805808 |
| playerID | 805808 |
| playerName | Kevin McGonigle |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-31 |
| sl_k_percent | 14.0 |
| sl_bb_percent | 13.2 |
| sl_woba | 0.358 |
| sl_xwoba | 0.36 |
| sl_xba | 0.266 |
| sl_xslg | 0.448 |
| sl_sweet_spot_percent | 38.3 |
| sl_barrel_batted_rate | 8.9 |
| sl_hard_hit_percent | 37.2 |
| sl_exit_velocity_avg | 88.1 |
| sl_launch_angle_avg | 20.1 |
| sl_whiff_percent | 14.0 |
| sl_swing_percent | 41.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.274 | 0.000 | 0.000 | Hitting_2B | 0.274 | 0.000 | -0.274 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.840 | 3.000 | 8.000 | Hitting_AB | 3.646 | 4.000 | -0.646 | -1.000 |
| predicted_AVG | 0.245 | 0.333 | 0.250 | Hitting_AVG | 0.308 | 0.000 | 0.025 | 0.333 |
| predicted_BB | 0.557 | 1.000 | 1.000 | Hitting_BB | 0.557 | 0.000 | 0.443 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 0.940 | 1.000 | 2.000 | Hitting_H | 1.122 | 0.000 | -0.122 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.072 | 0.000 | -0.072 | 0.000 |
| predicted_OBP | 0.324 | 0.500 | 0.333 | Hitting_OBP | 0.404 | 0.000 | 0.096 | 0.500 |
| predicted_R | 0.553 | 0.000 | 1.000 | Hitting_R | 0.553 | 0.000 | -0.553 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 1.000 | Hitting_RBI | 0.468 | 0.000 | -0.468 | 0.000 |
| predicted_SLG | 0.378 | 0.333 | 0.250 | Hitting_SLG | 0.442 | 0.000 | -0.109 | 0.333 |
| predicted_SO | 1.207 | 1.000 | 3.000 | Hitting_SO | 1.207 | 1.000 | -0.207 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_BB: 0.5570 -> 1.0000 (boost 0.4430, better) |
| Biggest Deboost | predicted_AB: 3.8400 -> 3.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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.8400 -> 7.5028 (boost 3.6628, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_H: 2.0906 -> 2.0053 (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 | 7 | 4 | 3 | 3 | 4 | predicted_AB: 7.5028 -> 8.0000 (boost 0.4972, better) | predicted_2B: 0.4541 -> 0.0000 (deboost -0.4541, worse) | AB rounded to 8 (raw=7.50), rates preserved: AVG=0.267 HR/AB=0.018 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.429) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8549 -> 1.0000 (boost 0.1451, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3807 -> 0.2500 (deboost -0.1307, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 8.0000 -> 3.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.2500 -> 0.3807 (boost 0.1307, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682985",
"player_name": "Riley Greene",
"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.274,
"predicted_3B": 0.0,
"predicted_AB": 3.84,
"predicted_AVG": 0.245,
"predicted_BB": 0.557,
"predicted_H": 0.94,
"predicted_HR": 0.1,
"predicted_OBP": 0.324,
"predicted_R": 0.553,
"predicted_RBI": 0.39,
"predicted_SLG": 0.378,
"predicted_SO": 1.207
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4541,
"predicted_3B": 0.0004,
"predicted_AB": 7.5028,
"predicted_AVG": 0.2658,
"predicted_BB": 0.9195,
"predicted_H": 2.0906,
"predicted_HBP": 0.085,
"predicted_HR": 0.138,
"predicted_OBP": 0.3418,
"predicted_R": 0.9203,
"predicted_RBI": 0.7591,
"predicted_SLG": 0.3853,
"predicted_SO": 2.475
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.274,
"after": 0.4541,
"delta": 0.1801,
"percent_delta": 0.6573,
"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.84,
"after": 7.5028,
"delta": 3.6628,
"percent_delta": 0.9539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2658,
"delta": 0.0208,
"percent_delta": 0.0849,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.557,
"after": 0.9195,
"delta": 0.3625,
"percent_delta": 0.6508,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 2.0906,
"delta": 1.1506,
"percent_delta": 1.224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.138,
"delta": 0.038,
"percent_delta": 0.38,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3418,
"delta": 0.0178,
"percent_delta": 0.0549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.553,
"after": 0.9203,
"delta": 0.3673,
"percent_delta": 0.6642,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.7591,
"delta": 0.3691,
"percent_delta": 0.9464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.3853,
"delta": 0.0073,
"percent_delta": 0.0193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.207,
"after": 2.475,
"delta": 1.268,
"percent_delta": 1.0505,
"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.84,
"after": 7.5028,
"delta": 3.6628,
"percent_delta": 0.9539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 59
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.4541,
"predicted_3B": 0.0004,
"predicted_AB": 7.5028,
"predicted_AVG": 0.2673,
"predicted_BB": 0.9036,
"predicted_H": 2.0053,
"predicted_HBP": 0.085,
"predicted_HR": 0.1321,
"predicted_OBP": 0.346,
"predicted_R": 0.8549,
"predicted_RBI": 0.7051,
"predicted_SLG": 0.3807,
"predicted_SO": 2.5178
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4541,
"after": 0.4541,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.5028,
"after": 7.5028,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2658,
"after": 0.2673,
"delta": 0.0015,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.9195,
"after": 0.9036,
"delta": -0.0159,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0906,
"after": 2.0053,
"delta": -0.0853,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.138,
"after": 0.1321,
"delta": -0.0059,
"percent_delta": -0.0428,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3418,
"after": 0.346,
"delta": 0.0042,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.9203,
"after": 0.8549,
"delta": -0.0654,
"percent_delta": -0.0711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7591,
"after": 0.7051,
"delta": -0.054,
"percent_delta": -0.0711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3853,
"after": 0.3807,
"delta": -0.0046,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.475,
"after": 2.5178,
"delta": 0.0428,
"percent_delta": 0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.0906,
"after": 2.0053,
"delta": -0.0853,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.50), rates preserved: AVG=0.267 HR/AB=0.018",
"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.4541,
"after": 0.0,
"delta": -0.4541,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.5028,
"after": 8.0,
"delta": 0.4972,
"percent_delta": 0.0663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9036,
"after": 1.0,
"delta": 0.0964,
"percent_delta": 0.1067,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0053,
"after": 2.0,
"delta": -0.0053,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1321,
"after": 0.0,
"delta": -0.1321,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7051,
"after": 1.0,
"delta": 0.2949,
"percent_delta": 0.4182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.5178,
"after": 3.0,
"delta": 0.4822,
"percent_delta": 0.1915,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 7.5028,
"after": 8.0,
"delta": 0.4972,
"percent_delta": 0.0663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4541,
"after": 0.0,
"delta": -0.4541,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.429)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.9243,
"bvp": 0.0757
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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": 0.8549,
"after": 1.0,
"delta": 0.1451,
"percent_delta": 0.1697,
"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.8549,
"after": 1.0,
"delta": 0.1451,
"percent_delta": 0.1697,
"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": 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.2673,
"after": 0.25,
"delta": -0.0173,
"percent_delta": -0.0647,
"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.346,
"after": 0.333,
"delta": -0.013,
"percent_delta": -0.0376,
"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.3807,
"after": 0.25,
"delta": -0.1307,
"percent_delta": -0.3433,
"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.3807,
"after": 0.25,
"delta": -0.1307,
"percent_delta": -0.3433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 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": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"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.2673,
"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.346,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3807,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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.2673,
"delta": 0.0173,
"percent_delta": 0.0691,
"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.346,
"delta": 0.013,
"percent_delta": 0.0391,
"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.3807,
"delta": 0.1307,
"percent_delta": 0.5229,
"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.3807,
"delta": 0.1307,
"percent_delta": 0.5229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.274,
"after": 0.0,
"delta": -0.274,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.84,
"after": 3.0,
"delta": -0.84,
"percent_delta": -0.2187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2673,
"delta": 0.0223,
"percent_delta": 0.091,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.557,
"after": 1.0,
"delta": 0.443,
"percent_delta": 0.7953,
"direction": "boost",
"projection_effect": "better",
"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.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.346,
"delta": 0.022,
"percent_delta": 0.0679,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.553,
"after": 0.0,
"delta": -0.553,
"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.378,
"after": 0.3807,
"delta": 0.0027,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.207,
"after": 1.0,
"delta": -0.207,
"percent_delta": -0.1715,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.557,
"after": 1.0,
"delta": 0.443,
"percent_delta": 0.7953,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.84,
"after": 3.0,
"delta": -0.84,
"percent_delta": -0.2187,
"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.274 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.840 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.557 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.324 | - |
| predicted_R | 0.553 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.378 | - |
| predicted_SO | 1.207 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.454 | 0.180 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.503 | 3.663 |
| predicted_AVG | 0.266 | 0.021 |
| predicted_BB | 0.919 | 0.362 |
| predicted_H | 2.091 | 1.151 |
| predicted_HBP | 0.085 | - |
| predicted_HR | 0.138 | 0.038 |
| predicted_OBP | 0.342 | 0.018 |
| predicted_R | 0.920 | 0.367 |
| predicted_RBI | 0.759 | 0.369 |
| predicted_SLG | 0.385 | 0.007 |
| predicted_SO | 2.475 | 1.268 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.454 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.503 | 0.000 |
| predicted_AVG | 0.267 | 0.002 |
| predicted_BB | 0.904 | -0.016 |
| predicted_H | 2.005 | -0.085 |
| predicted_HBP | 0.085 | 0.000 |
| predicted_HR | 0.132 | -0.006 |
| predicted_OBP | 0.346 | 0.004 |
| predicted_R | 0.855 | -0.065 |
| predicted_RBI | 0.705 | -0.054 |
| predicted_SLG | 0.381 | -0.005 |
| predicted_SO | 2.518 | 0.043 |
AB rounded to 8 (raw=7.50), rates preserved: AVG=0.267 HR/AB=0.018
| 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 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.429)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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.454 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 8.000 | 0.497 |
| predicted_AVG | 0.250 | -0.017 |
| predicted_BB | 1.000 | 0.096 |
| predicted_H | 2.000 | -0.005 |
| predicted_HR | 0.000 | -0.132 |
| predicted_OBP | 0.333 | -0.013 |
| predicted_R | 1.000 | 0.145 |
| predicted_RBI | 1.000 | 0.295 |
| predicted_SLG | 0.250 | -0.131 |
| predicted_SO | 3.000 | 0.482 |
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 | 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 | 4 | - | 20.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 7.000 | 0.2500 | 0.2500 | 0.2500 | 0.2500 | 0.0000 | 0.0000 | 0.0000 | 0.3500 |
| last_10 | 0.20 | 5 | - | 40.000 | 10.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.000 | 0.000 | 17.000 | 0.2500 | 0.2500 | 0.2500 | 0.2500 | 0.0000 | 0.0750 | 0.0000 | 0.4250 |
| season | 0.60 | 59 | - | 864.000 | 266.000 | 65.000 | 0.000 | 17.000 | 111.000 | 131.000 | 132.000 | 286.000 | 0.3079 | 0.4044 | 0.4421 | 0.3079 | 0.0197 | 0.1285 | 0.1528 | 0.3310 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6820 |
| predicted_3B | 0.0010 |
| predicted_AB | 12.1360 |
| predicted_AVG | 0.2922 |
| predicted_BB | 1.3780 |
| predicted_H | 3.5460 |
| predicted_HBP | 0.0850 |
| predicted_HR | 0.1860 |
| predicted_OBP | 0.3643 |
| predicted_R | 1.3850 |
| predicted_RBI | 1.2260 |
| predicted_SLG | 0.3945 |
| predicted_SO | 4.0790 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2740 | 0.6820 | 0.4541 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8400 | 12.1360 | 7.5028 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2922 | 0.2658 | model_form_blend |
| predicted_BB | 0.5570 | 1.3780 | 0.9195 | model_form_blend |
| predicted_H | 0.9400 | 3.5460 | 2.0906 | model_form_blend |
| predicted_HBP | - | 0.0850 | 0.0850 | form_only |
| predicted_HR | 0.1000 | 0.1860 | 0.1380 | model_form_blend |
| predicted_OBP | 0.3240 | 0.3643 | 0.3418 | model_form_blend |
| predicted_R | 0.5530 | 1.3850 | 0.9203 | model_form_blend |
| predicted_RBI | 0.3900 | 1.2260 | 0.7591 | model_form_blend |
| predicted_SLG | 0.3780 | 0.3945 | 0.3853 | model_form_blend |
| predicted_SO | 1.2070 | 4.0790 | 2.4750 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 237 |
| Season rows before report date | 237 |
| Report year | 2026 |
| Profile rows used | 237 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.308 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260531_DET@CHW |
| game_type | full |
| mlbID | 682985 |
| playerID | 682985 |
| playerName | Riley Greene |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-31 |
| sl_k_percent | 28.3 |
| sl_bb_percent | 12.3 |
| sl_woba | 0.374 |
| sl_xwoba | 0.362 |
| sl_xba | 0.265 |
| sl_xslg | 0.465 |
| sl_sweet_spot_percent | 40.6 |
| sl_barrel_batted_rate | 11.9 |
| sl_hard_hit_percent | 50.3 |
| sl_exit_velocity_avg | 90.7 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 29.6 |
| sl_swing_percent | 44.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.222 | 0.000 | 0.000 | Hitting_2B | 0.222 | 0.000 | -0.222 | 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.715 | 4.000 | 0.285 | 0.000 |
| predicted_AVG | 0.225 | 0.000 | 0.250 | Hitting_AVG | 0.242 | 0.000 | -0.242 | 0.000 |
| predicted_BB | 0.406 | 1.000 | 1.000 | Hitting_BB | 0.406 | 0.000 | 0.594 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.900 | 0.000 | 2.000 | Hitting_H | 0.899 | 0.000 | -0.899 | 0.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.237 | 0.000 | -0.237 | 0.000 |
| predicted_OBP | 0.311 | 0.200 | 0.333 | Hitting_OBP | 0.331 | 0.000 | -0.131 | 0.200 |
| predicted_R | 0.440 | 0.000 | 1.000 | Hitting_R | 0.440 | 0.000 | -0.440 | 0.000 |
| predicted_RBI | 0.610 | 0.000 | 1.000 | Hitting_RBI | 0.715 | 0.000 | -0.715 | 0.000 |
| predicted_SLG | 0.440 | 0.000 | 0.250 | Hitting_SLG | 0.493 | 0.000 | -0.493 | 0.000 |
| predicted_SO | 0.870 | 3.000 | 2.000 | Hitting_SO | 0.870 | 0.000 | 2.130 | 3.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.8700 -> 3.0000 (boost 2.1300, worse) |
| Biggest Deboost | predicted_H: 0.9000 -> 0.0000 (deboost -0.9000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 8 | 8 | 0 | 7 | 1 | predicted_AB: 3.9900 -> 7.8189 (boost 3.8289, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 0 | 6 | 0 | 6 | - | predicted_RBI: 1.3400 -> 1.2447 (deboost -0.0953, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_H: 1.6416 -> 2.0000 (boost 0.3584, better) | predicted_HR: 0.4295 -> 0.0000 (deboost -0.4295, worse) | AB rounded to 8 (raw=7.82), rates preserved: AVG=0.210 HR/AB=0.055 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7743 -> 1.0000 (boost 0.2257, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2925 -> 0.3330 (boost 0.0405, better) | predicted_SLG: 0.4292 -> 0.2500 (deboost -0.1792, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 1 | 4 | 0 | 5 | predicted_SO: 2.0000 -> 3.0000 (boost 1.0000, worse) | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.4292 (boost 0.1792, better) | predicted_OBP: 0.3330 -> 0.2925 (deboost -0.0405, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "693307",
"player_name": "Dillon Dingler",
"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.222,
"predicted_3B": 0.0,
"predicted_AB": 3.99,
"predicted_AVG": 0.225,
"predicted_BB": 0.406,
"predicted_H": 0.9,
"predicted_HR": 0.2,
"predicted_OBP": 0.311,
"predicted_R": 0.44,
"predicted_RBI": 0.61,
"predicted_SLG": 0.44,
"predicted_SO": 0.87
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4241,
"predicted_3B": 0.0009,
"predicted_AB": 7.8189,
"predicted_AVG": 0.2211,
"predicted_BB": 0.9286,
"predicted_H": 1.7114,
"predicted_HBP": 0.231,
"predicted_HR": 0.4487,
"predicted_OBP": 0.3128,
"predicted_R": 0.8336,
"predicted_RBI": 1.34,
"predicted_SLG": 0.4448,
"predicted_SO": 1.8298
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 0.4241,
"delta": 0.2021,
"percent_delta": 0.9104,
"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": 7.8189,
"delta": 3.8289,
"percent_delta": 0.9596,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2211,
"delta": -0.0039,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.406,
"after": 0.9286,
"delta": 0.5226,
"percent_delta": 1.2872,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 1.7114,
"delta": 0.8114,
"percent_delta": 0.9016,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.4487,
"delta": 0.2487,
"percent_delta": 1.2435,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3128,
"delta": 0.0018,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.44,
"after": 0.8336,
"delta": 0.3936,
"percent_delta": 0.8945,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 1.34,
"delta": 0.73,
"percent_delta": 1.1967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.4448,
"delta": 0.0048,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.87,
"after": 1.8298,
"delta": 0.9598,
"percent_delta": 1.1032,
"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.99,
"after": 7.8189,
"delta": 3.8289,
"percent_delta": 0.9596,
"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": 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.4241,
"predicted_3B": 0.0009,
"predicted_AB": 7.8189,
"predicted_AVG": 0.2099,
"predicted_BB": 0.9125,
"predicted_H": 1.6416,
"predicted_HBP": 0.231,
"predicted_HR": 0.4295,
"predicted_OBP": 0.2925,
"predicted_R": 0.7743,
"predicted_RBI": 1.2447,
"predicted_SLG": 0.4292,
"predicted_SO": 1.8615
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4241,
"after": 0.4241,
"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.8189,
"after": 7.8189,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2211,
"after": 0.2099,
"delta": -0.0112,
"percent_delta": -0.0507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9286,
"after": 0.9125,
"delta": -0.0161,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7114,
"after": 1.6416,
"delta": -0.0698,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.231,
"after": 0.231,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4487,
"after": 0.4295,
"delta": -0.0192,
"percent_delta": -0.0428,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3128,
"after": 0.2925,
"delta": -0.0203,
"percent_delta": -0.0649,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8336,
"after": 0.7743,
"delta": -0.0593,
"percent_delta": -0.0711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.34,
"after": 1.2447,
"delta": -0.0953,
"percent_delta": -0.0711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4448,
"after": 0.4292,
"delta": -0.0156,
"percent_delta": -0.0351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8298,
"after": 1.8615,
"delta": 0.0317,
"percent_delta": 0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.34,
"after": 1.2447,
"delta": -0.0953,
"percent_delta": -0.0711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.82), rates preserved: AVG=0.210 HR/AB=0.055",
"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.4241,
"after": 0.0,
"delta": -0.4241,
"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.8189,
"after": 8.0,
"delta": 0.1811,
"percent_delta": 0.0232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9125,
"after": 1.0,
"delta": 0.0875,
"percent_delta": 0.0959,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6416,
"after": 2.0,
"delta": 0.3584,
"percent_delta": 0.2183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.231,
"after": 0.0,
"delta": -0.231,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.4295,
"after": 0.0,
"delta": -0.4295,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2447,
"after": 1.0,
"delta": -0.2447,
"percent_delta": -0.1966,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8615,
"after": 2.0,
"delta": 0.1385,
"percent_delta": 0.0744,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.6416,
"after": 2.0,
"delta": 0.3584,
"percent_delta": 0.2183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.4295,
"after": 0.0,
"delta": -0.4295,
"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.7743,
"after": 1.0,
"delta": 0.2257,
"percent_delta": 0.2915,
"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.7743,
"after": 1.0,
"delta": 0.2257,
"percent_delta": 0.2915,
"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.2099,
"after": 0.25,
"delta": 0.0401,
"percent_delta": 0.191,
"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.2925,
"after": 0.333,
"delta": 0.0405,
"percent_delta": 0.1385,
"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.4292,
"after": 0.25,
"delta": -0.1792,
"percent_delta": -0.4175,
"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.2925,
"after": 0.333,
"delta": 0.0405,
"percent_delta": 0.1385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4292,
"after": 0.25,
"delta": -0.1792,
"percent_delta": -0.4175,
"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": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2099,
"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.2925,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4292,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2099,
"delta": -0.0401,
"percent_delta": -0.1602,
"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.2925,
"delta": -0.0405,
"percent_delta": -0.1216,
"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.4292,
"delta": 0.1792,
"percent_delta": 0.7169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4292,
"delta": 0.1792,
"percent_delta": 0.7169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2925,
"delta": -0.0405,
"percent_delta": -0.1216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 0.0,
"delta": -0.222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.99,
"after": 4.0,
"delta": 0.01,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2099,
"delta": -0.0151,
"percent_delta": -0.0671,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.406,
"after": 1.0,
"delta": 0.594,
"percent_delta": 1.4631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.0,
"delta": -0.9,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.2925,
"delta": -0.0185,
"percent_delta": -0.0595,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.4292,
"delta": -0.0108,
"percent_delta": -0.0245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.87,
"after": 3.0,
"delta": 2.13,
"percent_delta": 2.4483,
"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.87,
"after": 3.0,
"delta": 2.13,
"percent_delta": 2.4483,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.9,
"after": 0.0,
"delta": -0.9,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.222 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.990 | - |
| predicted_AVG | 0.225 | - |
| predicted_BB | 0.406 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.311 | - |
| predicted_R | 0.440 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.440 | - |
| predicted_SO | 0.870 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.202 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 7.819 | 3.829 |
| predicted_AVG | 0.221 | -0.004 |
| predicted_BB | 0.929 | 0.523 |
| predicted_H | 1.711 | 0.811 |
| predicted_HBP | 0.231 | - |
| predicted_HR | 0.449 | 0.249 |
| predicted_OBP | 0.313 | 0.002 |
| predicted_R | 0.834 | 0.394 |
| predicted_RBI | 1.340 | 0.730 |
| predicted_SLG | 0.445 | 0.005 |
| predicted_SO | 1.830 | 0.960 |
Step 3: 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.001 | 0.000 |
| predicted_AB | 7.819 | 0.000 |
| predicted_AVG | 0.210 | -0.011 |
| predicted_BB | 0.912 | -0.016 |
| predicted_H | 1.642 | -0.070 |
| predicted_HBP | 0.231 | 0.000 |
| predicted_HR | 0.429 | -0.019 |
| predicted_OBP | 0.292 | -0.020 |
| predicted_R | 0.774 | -0.059 |
| predicted_RBI | 1.245 | -0.095 |
| predicted_SLG | 0.429 | -0.016 |
| predicted_SO | 1.861 | 0.032 |
AB rounded to 8 (raw=7.82), rates preserved: AVG=0.210 HR/AB=0.055
| 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.424 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | 0.181 |
| predicted_AVG | 0.250 | 0.040 |
| predicted_BB | 1.000 | 0.088 |
| predicted_H | 2.000 | 0.358 |
| predicted_HR | 0.000 | -0.429 |
| predicted_OBP | 0.333 | 0.041 |
| predicted_R | 1.000 | 0.226 |
| predicted_RBI | 1.000 | -0.245 |
| predicted_SLG | 0.250 | -0.179 |
| predicted_SO | 2.000 | 0.139 |
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 | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 3 | - | 17.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 3.000 | 5.000 | 0.0588 | 0.2000 | 0.2353 | 0.0588 | 0.0588 | 0.1177 | 0.1765 | 0.2941 |
| last_10 | 0.20 | 4 | - | 32.000 | 9.000 | 4.000 | 0.000 | 1.000 | 6.000 | 1.000 | 8.000 | 6.000 | 0.2812 | 0.4250 | 0.5000 | 0.2812 | 0.0312 | 0.1875 | 0.2500 | 0.1875 |
| season | 0.60 | 52 | - | 769.000 | 186.000 | 46.000 | 0.000 | 49.000 | 148.000 | 91.000 | 84.000 | 180.000 | 0.2419 | 0.3307 | 0.4928 | 0.2419 | 0.0637 | 0.1925 | 0.1092 | 0.2341 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6810 |
| predicted_3B | 0.0020 |
| predicted_AB | 12.6870 |
| predicted_AVG | 0.2162 |
| predicted_BB | 1.5930 |
| predicted_H | 2.7430 |
| predicted_HBP | 0.2310 |
| predicted_HR | 0.7650 |
| predicted_OBP | 0.3150 |
| predicted_R | 1.3340 |
| predicted_RBI | 2.2680 |
| predicted_SLG | 0.4510 |
| predicted_SO | 3.0500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2220 | 0.6810 | 0.4241 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.9900 | 12.6870 | 7.8189 | model_form_blend |
| predicted_AVG | 0.2250 | 0.2162 | 0.2211 | model_form_blend |
| predicted_BB | 0.4060 | 1.5930 | 0.9286 | model_form_blend |
| predicted_H | 0.9000 | 2.7430 | 1.7114 | model_form_blend |
| predicted_HBP | - | 0.2310 | 0.2310 | form_only |
| predicted_HR | 0.2000 | 0.7650 | 0.4487 | model_form_blend |
| predicted_OBP | 0.3110 | 0.3150 | 0.3128 | model_form_blend |
| predicted_R | 0.4400 | 1.3340 | 0.8336 | model_form_blend |
| predicted_RBI | 0.6100 | 2.2680 | 1.3400 | model_form_blend |
| predicted_SLG | 0.4400 | 0.4510 | 0.4448 | model_form_blend |
| predicted_SO | 0.8700 | 3.0500 | 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 | 207 |
| Season rows before report date | 207 |
| Report year | 2026 |
| Profile rows used | 207 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.242 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260530_DET@CHW |
| game_type | full |
| mlbID | 693307 |
| playerID | 693307 |
| playerName | Dillon Dingler |
| pos | C |
| started | True |
| startingPosition | C |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-30 |
| sl_k_percent | 21.3 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.34 |
| sl_xwoba | 0.385 |
| sl_xba | 0.285 |
| sl_xslg | 0.527 |
| sl_sweet_spot_percent | 40.3 |
| sl_barrel_batted_rate | 12.6 |
| sl_hard_hit_percent | 47.9 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 14.8 |
| sl_whiff_percent | 21.5 |
| sl_swing_percent | 47.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.194 | 0.000 | 0.000 | Hitting_2B | 0.194 | 0.000 | -0.194 | 0.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_AB | 3.236 | 4.000 | 5.000 | Hitting_AB | 3.236 | 3.000 | 0.764 | 1.000 |
| predicted_AVG | 0.250 | 0.250 | 0.200 | Hitting_AVG | 0.285 | 0.000 | -0.035 | 0.250 |
| predicted_BB | 0.212 | 0.000 | 1.000 | Hitting_BB | 0.212 | 0.000 | -0.212 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.750 | 1.000 | 1.000 | Hitting_H | 0.921 | 0.000 | 0.079 | 1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.308 | 0.250 | 0.333 | Hitting_OBP | 0.332 | 0.000 | -0.082 | 0.250 |
| predicted_R | 0.400 | 0.000 | 1.000 | Hitting_R | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_RBI | 0.230 | 0.000 | 0.000 | Hitting_RBI | 0.139 | 0.000 | -0.139 | 0.000 |
| predicted_SLG | 0.340 | 0.250 | 0.200 | Hitting_SLG | 0.352 | 0.000 | -0.102 | 0.250 |
| predicted_SO | 0.764 | 1.000 | 1.000 | Hitting_SO | 0.764 | 0.000 | 0.236 | 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_AB: 3.2360 -> 4.0000 (boost 0.7640, better) |
| Biggest Deboost | predicted_R: 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 | 9 | 7 | 2 | 6 | 3 | predicted_AB: 3.2360 -> 5.3065 (boost 2.0705, better) | predicted_SLG: 0.3400 -> 0.3152 (deboost -0.0248, 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.3152 -> 0.2943 (deboost -0.0209, 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_BB: 0.5811 -> 1.0000 (boost 0.4189, better) | predicted_AB: 5.3065 -> 5.0000 (deboost -0.3065, worse) | AB rounded to 5 (raw=5.31), rates preserved: AVG=0.219 HR/AB=0.006 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5341 -> 1.0000 (boost 0.4659, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2964 -> 0.3330 (boost 0.0366, better) | predicted_SLG: 0.2943 -> 0.2000 (deboost -0.0943, 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 -> 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.2943 (boost 0.0943, better) | predicted_OBP: 0.3330 -> 0.2964 (deboost -0.0366, 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.194,
"predicted_3B": 0.012,
"predicted_AB": 3.236,
"predicted_AVG": 0.25,
"predicted_BB": 0.212,
"predicted_H": 0.75,
"predicted_HR": 0.05,
"predicted_OBP": 0.308,
"predicted_R": 0.4,
"predicted_RBI": 0.23,
"predicted_SLG": 0.34,
"predicted_SO": 0.764
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2667,
"predicted_3B": 0.0168,
"predicted_AB": 5.3065,
"predicted_AVG": 0.2401,
"predicted_BB": 0.5913,
"predicted_H": 1.2137,
"predicted_HBP": 0.036,
"predicted_HR": 0.0339,
"predicted_OBP": 0.3149,
"predicted_R": 0.575,
"predicted_RBI": 0.2592,
"predicted_SLG": 0.3152,
"predicted_SO": 1.0753
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.194,
"after": 0.2667,
"delta": 0.0727,
"percent_delta": 0.3747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0168,
"delta": 0.0048,
"percent_delta": 0.4,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.236,
"after": 5.3065,
"delta": 2.0705,
"percent_delta": 0.6398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2401,
"delta": -0.0099,
"percent_delta": -0.0396,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.212,
"after": 0.5913,
"delta": 0.3793,
"percent_delta": 1.7892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 1.2137,
"delta": 0.4637,
"percent_delta": 0.6183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0339,
"delta": -0.0161,
"percent_delta": -0.322,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.3149,
"delta": 0.0069,
"percent_delta": 0.0224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.575,
"delta": 0.175,
"percent_delta": 0.4375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.23,
"after": 0.2592,
"delta": 0.0292,
"percent_delta": 0.127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.34,
"after": 0.3152,
"delta": -0.0248,
"percent_delta": -0.0729,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.764,
"after": 1.0753,
"delta": 0.3113,
"percent_delta": 0.4075,
"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.236,
"after": 5.3065,
"delta": 2.0705,
"percent_delta": 0.6398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.34,
"after": 0.3152,
"delta": -0.0248,
"percent_delta": -0.0729,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.2667,
"predicted_3B": 0.0168,
"predicted_AB": 5.3065,
"predicted_AVG": 0.2194,
"predicted_BB": 0.5811,
"predicted_H": 1.1642,
"predicted_HBP": 0.036,
"predicted_HR": 0.0325,
"predicted_OBP": 0.2964,
"predicted_R": 0.5341,
"predicted_RBI": 0.2408,
"predicted_SLG": 0.2943,
"predicted_SO": 1.0939
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2667,
"after": 0.2667,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0168,
"after": 0.0168,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.3065,
"after": 5.3065,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2401,
"after": 0.2194,
"delta": -0.0207,
"percent_delta": -0.0862,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5913,
"after": 0.5811,
"delta": -0.0102,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2137,
"after": 1.1642,
"delta": -0.0495,
"percent_delta": -0.0408,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.036,
"after": 0.036,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0339,
"after": 0.0325,
"delta": -0.0014,
"percent_delta": -0.0413,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3149,
"after": 0.2964,
"delta": -0.0185,
"percent_delta": -0.0587,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.575,
"after": 0.5341,
"delta": -0.0409,
"percent_delta": -0.0711,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2592,
"after": 0.2408,
"delta": -0.0184,
"percent_delta": -0.071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3152,
"after": 0.2943,
"delta": -0.0209,
"percent_delta": -0.0663,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0753,
"after": 1.0939,
"delta": 0.0186,
"percent_delta": 0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3152,
"after": 0.2943,
"delta": -0.0209,
"percent_delta": -0.0663,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.31), rates preserved: AVG=0.219 HR/AB=0.006",
"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.2667,
"after": 0.0,
"delta": -0.2667,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0168,
"after": 0.0,
"delta": -0.0168,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.3065,
"after": 5.0,
"delta": -0.3065,
"percent_delta": -0.0578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5811,
"after": 1.0,
"delta": 0.4189,
"percent_delta": 0.7209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1642,
"after": 1.0,
"delta": -0.1642,
"percent_delta": -0.141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0325,
"after": 0.0,
"delta": -0.0325,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2408,
"after": 0.0,
"delta": -0.2408,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0939,
"after": 1.0,
"delta": -0.0939,
"percent_delta": -0.0858,
"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.5811,
"after": 1.0,
"delta": 0.4189,
"percent_delta": 0.7209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.3065,
"after": 5.0,
"delta": -0.3065,
"percent_delta": -0.0578,
"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.5341,
"after": 1.0,
"delta": 0.4659,
"percent_delta": 0.8723,
"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.5341,
"after": 1.0,
"delta": 0.4659,
"percent_delta": 0.8723,
"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.2194,
"after": 0.2,
"delta": -0.0194,
"percent_delta": -0.0884,
"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.2964,
"after": 0.333,
"delta": 0.0366,
"percent_delta": 0.1235,
"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.2943,
"after": 0.2,
"delta": -0.0943,
"percent_delta": -0.3204,
"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.2964,
"after": 0.333,
"delta": 0.0366,
"percent_delta": 0.1235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2943,
"after": 0.2,
"delta": -0.0943,
"percent_delta": -0.3204,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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": 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.2194,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2964,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2943,
"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.2,
"after": 0.2194,
"delta": 0.0194,
"percent_delta": 0.0969,
"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.2964,
"delta": -0.0366,
"percent_delta": -0.1098,
"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.2943,
"delta": 0.0943,
"percent_delta": 0.4716,
"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.2943,
"delta": 0.0943,
"percent_delta": 0.4716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2964,
"delta": -0.0366,
"percent_delta": -0.1098,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.194,
"after": 0.0,
"delta": -0.194,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.236,
"after": 4.0,
"delta": 0.764,
"percent_delta": 0.2361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2194,
"delta": -0.0306,
"percent_delta": -0.1224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.212,
"after": 0.0,
"delta": -0.212,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 1.0,
"delta": 0.25,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.2964,
"delta": -0.0116,
"percent_delta": -0.0377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.34,
"after": 0.2943,
"delta": -0.0457,
"percent_delta": -0.1344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.764,
"after": 1.0,
"delta": 0.236,
"percent_delta": 0.3089,
"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_AB",
"before": 3.236,
"after": 4.0,
"delta": 0.764,
"percent_delta": 0.2361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"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": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.194 | - |
| predicted_3B | 0.012 | - |
| predicted_AB | 3.236 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.212 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.308 | - |
| predicted_R | 0.400 | - |
| predicted_RBI | 0.230 | - |
| predicted_SLG | 0.340 | - |
| predicted_SO | 0.764 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.267 | 0.073 |
| predicted_3B | 0.017 | 0.005 |
| predicted_AB | 5.306 | 2.070 |
| predicted_AVG | 0.240 | -0.010 |
| predicted_BB | 0.591 | 0.379 |
| predicted_H | 1.214 | 0.464 |
| predicted_HBP | 0.036 | - |
| predicted_HR | 0.034 | -0.016 |
| predicted_OBP | 0.315 | 0.007 |
| predicted_R | 0.575 | 0.175 |
| predicted_RBI | 0.259 | 0.029 |
| predicted_SLG | 0.315 | -0.025 |
| predicted_SO | 1.075 | 0.311 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.267 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 5.306 | 0.000 |
| predicted_AVG | 0.219 | -0.021 |
| predicted_BB | 0.581 | -0.010 |
| predicted_H | 1.164 | -0.050 |
| predicted_HBP | 0.036 | 0.000 |
| predicted_HR | 0.033 | -0.001 |
| predicted_OBP | 0.296 | -0.019 |
| predicted_R | 0.534 | -0.041 |
| predicted_RBI | 0.241 | -0.018 |
| predicted_SLG | 0.294 | -0.021 |
| predicted_SO | 1.094 | 0.019 |
AB rounded to 5 (raw=5.31), rates preserved: AVG=0.219 HR/AB=0.006
| 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.267 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 5.000 | -0.306 |
| predicted_AVG | 0.200 | -0.019 |
| predicted_BB | 1.000 | 0.419 |
| predicted_H | 1.000 | -0.164 |
| predicted_HR | 0.000 | -0.033 |
| predicted_OBP | 0.333 | 0.037 |
| predicted_R | 1.000 | 0.466 |
| predicted_RBI | 0.000 | -0.241 |
| predicted_SLG | 0.200 | -0.094 |
| predicted_SO | 1.000 | -0.094 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 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 | 4 | - | 11.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 0.000 | 0.0000 | 0.2667 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.3636 | 0.0000 |
| last_10 | 0.20 | 5 | - | 24.000 | 6.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 8.000 | 3.000 | 0.2500 | 0.4375 | 0.2500 | 0.2500 | 0.0000 | 0.0000 | 0.3333 | 0.1250 |
| season | 0.60 | 54 | - | 534.000 | 152.000 | 32.000 | 2.000 | 0.000 | 23.000 | 66.000 | 35.000 | 126.000 | 0.2846 | 0.3322 | 0.3521 | 0.2846 | 0.0000 | 0.0431 | 0.0655 | 0.2360 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3610 |
| predicted_3B | 0.0230 |
| predicted_AB | 7.9910 |
| predicted_AVG | 0.2272 |
| predicted_BB | 1.0830 |
| predicted_H | 1.8150 |
| predicted_HBP | 0.0360 |
| predicted_HR | 0.0130 |
| predicted_OBP | 0.3238 |
| predicted_R | 0.8020 |
| predicted_RBI | 0.2970 |
| predicted_SLG | 0.2831 |
| predicted_SO | 1.4790 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1940 | 0.3610 | 0.2667 | model_form_blend |
| predicted_3B | 0.0120 | 0.0230 | 0.0168 | model_form_blend |
| predicted_AB | 3.2360 | 7.9910 | 5.3065 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2272 | 0.2401 | model_form_blend |
| predicted_BB | 0.2120 | 1.0830 | 0.5913 | model_form_blend |
| predicted_H | 0.7500 | 1.8150 | 1.2137 | model_form_blend |
| predicted_HBP | - | 0.0360 | 0.0360 | form_only |
| predicted_HR | 0.0500 | 0.0130 | 0.0339 | model_form_blend |
| predicted_OBP | 0.3080 | 0.3238 | 0.3149 | model_form_blend |
| predicted_R | 0.4000 | 0.8020 | 0.5750 | model_form_blend |
| predicted_RBI | 0.2300 | 0.2970 | 0.2592 | model_form_blend |
| predicted_SLG | 0.3400 | 0.2831 | 0.3152 | model_form_blend |
| predicted_SO | 0.7640 | 1.4790 | 1.0753 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 165 |
| Season rows before report date | 165 |
| Report year | 2026 |
| Profile rows used | 165 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.285 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 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 | 20260531_DET@CHW |
| game_type | full |
| mlbID | 690993 |
| playerID | 690993 |
| playerName | Colt Keith |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-31 |
| sl_k_percent | 20.6 |
| sl_bb_percent | 5.9 |
| sl_woba | 0.305 |
| sl_xwoba | 0.31 |
| sl_xba | 0.266 |
| sl_xslg | 0.395 |
| sl_sweet_spot_percent | 36.3 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 40.3 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 14.6 |
| sl_whiff_percent | 22.5 |
| sl_swing_percent | 42.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.239 | 0.000 | 0.000 | Hitting_2B | 0.239 | 1.000 | -0.239 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.477 | 4.000 | 7.000 | Hitting_AB | 3.477 | 4.000 | 0.523 | 0.000 |
| predicted_AVG | 0.241 | 0.000 | 0.286 | Hitting_AVG | 0.210 | 0.500 | -0.210 | -0.500 |
| predicted_BB | 0.491 | 0.000 | 1.000 | Hitting_BB | 0.491 | 0.000 | -0.491 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 0.840 | 0.000 | 2.000 | Hitting_H | 0.729 | 2.000 | -0.729 | -2.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.147 | 0.000 | -0.147 | 0.000 |
| predicted_OBP | 0.326 | 0.000 | 0.375 | Hitting_OBP | 0.315 | 0.500 | -0.315 | -0.500 |
| predicted_R | 0.349 | 0.000 | 1.000 | Hitting_R | 0.349 | 0.000 | -0.349 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 1.000 | Hitting_RBI | 0.372 | 1.000 | -0.372 | -1.000 |
| predicted_SLG | 0.431 | 0.000 | 0.286 | Hitting_SLG | 0.405 | 0.750 | -0.405 | -0.750 |
| predicted_SO | 1.326 | 0.000 | 3.000 | Hitting_SO | 1.326 | 1.000 | -1.326 | -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.4770 -> 4.0000 (boost 0.5230, better) |
| Biggest Deboost | predicted_SO: 1.3260 -> 0.0000 (deboost -1.3260, 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.4770 -> 6.7466 (boost 3.2696, better) | predicted_SLG: 0.4310 -> 0.4147 (deboost -0.0163, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 0 | 4 | 0 | 4 | - | predicted_H: 1.5129 -> 1.4512 (deboost -0.0617, 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_H: 1.4512 -> 2.0000 (boost 0.5488, better) | predicted_2B: 0.4711 -> 0.0000 (deboost -0.4711, worse) | AB rounded to 7 (raw=6.75), rates preserved: AVG=0.215 HR/AB=0.035 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.500) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5410 -> 1.0000 (boost 0.4590, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3000 -> 0.3750 (boost 0.0750, better) | predicted_SLG: 0.3907 -> 0.2860 (deboost -0.1047, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.3907 (boost 0.1047, better) | predicted_OBP: 0.3750 -> 0.3000 (deboost -0.0750, worse) | 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.239,
"predicted_3B": 0.0,
"predicted_AB": 3.477,
"predicted_AVG": 0.241,
"predicted_BB": 0.491,
"predicted_H": 0.84,
"predicted_HR": 0.14,
"predicted_OBP": 0.326,
"predicted_R": 0.349,
"predicted_RBI": 0.39,
"predicted_SLG": 0.431,
"predicted_SO": 1.326
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4711,
"predicted_3B": 0.0004,
"predicted_AB": 6.7466,
"predicted_AVG": 0.2305,
"predicted_BB": 0.8332,
"predicted_H": 1.5129,
"predicted_HBP": 0.118,
"predicted_HR": 0.2483,
"predicted_OBP": 0.3163,
"predicted_R": 0.5824,
"predicted_RBI": 0.6837,
"predicted_SLG": 0.4147,
"predicted_SO": 2.5299
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.239,
"after": 0.4711,
"delta": 0.2321,
"percent_delta": 0.9711,
"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.477,
"after": 6.7466,
"delta": 3.2696,
"percent_delta": 0.9404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2305,
"delta": -0.0105,
"percent_delta": -0.0436,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.491,
"after": 0.8332,
"delta": 0.3422,
"percent_delta": 0.6969,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 1.5129,
"delta": 0.6729,
"percent_delta": 0.8011,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.2483,
"delta": 0.1083,
"percent_delta": 0.7736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3163,
"delta": -0.0097,
"percent_delta": -0.0298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.349,
"after": 0.5824,
"delta": 0.2334,
"percent_delta": 0.6688,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.6837,
"delta": 0.2937,
"percent_delta": 0.7531,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4147,
"delta": -0.0163,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.326,
"after": 2.5299,
"delta": 1.2039,
"percent_delta": 0.9079,
"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.477,
"after": 6.7466,
"delta": 3.2696,
"percent_delta": 0.9404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4147,
"delta": -0.0163,
"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": 4,
"last_10": 5,
"season": 58
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.4711,
"predicted_3B": 0.0004,
"predicted_AB": 6.7466,
"predicted_AVG": 0.2151,
"predicted_BB": 0.8188,
"predicted_H": 1.4512,
"predicted_HBP": 0.118,
"predicted_HR": 0.2377,
"predicted_OBP": 0.3,
"predicted_R": 0.541,
"predicted_RBI": 0.6351,
"predicted_SLG": 0.3907,
"predicted_SO": 2.5737
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4711,
"after": 0.4711,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.7466,
"after": 6.7466,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2305,
"after": 0.2151,
"delta": -0.0154,
"percent_delta": -0.0668,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8332,
"after": 0.8188,
"delta": -0.0144,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5129,
"after": 1.4512,
"delta": -0.0617,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"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.2483,
"after": 0.2377,
"delta": -0.0106,
"percent_delta": -0.0427,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3163,
"after": 0.3,
"delta": -0.0163,
"percent_delta": -0.0515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5824,
"after": 0.541,
"delta": -0.0414,
"percent_delta": -0.0711,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6837,
"after": 0.6351,
"delta": -0.0486,
"percent_delta": -0.0711,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4147,
"after": 0.3907,
"delta": -0.024,
"percent_delta": -0.0579,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.5299,
"after": 2.5737,
"delta": 0.0438,
"percent_delta": 0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.5129,
"after": 1.4512,
"delta": -0.0617,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.75), rates preserved: AVG=0.215 HR/AB=0.035",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4711,
"after": 0.0,
"delta": -0.4711,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.7466,
"after": 7.0,
"delta": 0.2534,
"percent_delta": 0.0376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8188,
"after": 1.0,
"delta": 0.1812,
"percent_delta": 0.2213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4512,
"after": 2.0,
"delta": 0.5488,
"percent_delta": 0.3782,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2377,
"after": 0.0,
"delta": -0.2377,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6351,
"after": 1.0,
"delta": 0.3649,
"percent_delta": 0.5746,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.5737,
"after": 3.0,
"delta": 0.4263,
"percent_delta": 0.1656,
"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_H",
"before": 1.4512,
"after": 2.0,
"delta": 0.5488,
"percent_delta": 0.3782,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4711,
"after": 0.0,
"delta": -0.4711,
"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.500)",
"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": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.9,
"bvp": 0.1
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.541,
"after": 1.0,
"delta": 0.459,
"percent_delta": 0.8484,
"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.541,
"after": 1.0,
"delta": 0.459,
"percent_delta": 0.8484,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2151,
"after": 0.286,
"delta": 0.0709,
"percent_delta": 0.3296,
"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.3,
"after": 0.375,
"delta": 0.075,
"percent_delta": 0.25,
"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.3907,
"after": 0.286,
"delta": -0.1047,
"percent_delta": -0.268,
"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.3,
"after": 0.375,
"delta": 0.075,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3907,
"after": 0.286,
"delta": -0.1047,
"percent_delta": -0.268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 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": 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.2151,
"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.3,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3907,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2151,
"delta": -0.0709,
"percent_delta": -0.2479,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3,
"delta": -0.075,
"percent_delta": -0.1999,
"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.3907,
"delta": 0.1047,
"percent_delta": 0.3662,
"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.3907,
"delta": 0.1047,
"percent_delta": 0.3662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3,
"delta": -0.075,
"percent_delta": -0.1999,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.239,
"after": 0.0,
"delta": -0.239,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.477,
"after": 4.0,
"delta": 0.523,
"percent_delta": 0.1504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2151,
"delta": -0.0259,
"percent_delta": -0.1075,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.491,
"after": 0.0,
"delta": -0.491,
"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.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.3,
"delta": -0.026,
"percent_delta": -0.0798,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.349,
"after": 0.0,
"delta": -0.349,
"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.431,
"after": 0.3907,
"delta": -0.0403,
"percent_delta": -0.0935,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.326,
"after": 0.0,
"delta": -1.326,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.477,
"after": 4.0,
"delta": 0.523,
"percent_delta": 0.1504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.326,
"after": 0.0,
"delta": -1.326,
"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.000 | - |
| predicted_AB | 3.477 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.491 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.326 | - |
| predicted_R | 0.349 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.431 | - |
| predicted_SO | 1.326 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.471 | 0.232 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.747 | 3.270 |
| predicted_AVG | 0.231 | -0.010 |
| predicted_BB | 0.833 | 0.342 |
| predicted_H | 1.513 | 0.673 |
| predicted_HBP | 0.118 | - |
| predicted_HR | 0.248 | 0.108 |
| predicted_OBP | 0.316 | -0.010 |
| predicted_R | 0.582 | 0.233 |
| predicted_RBI | 0.684 | 0.294 |
| predicted_SLG | 0.415 | -0.016 |
| predicted_SO | 2.530 | 1.204 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.471 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.747 | 0.000 |
| predicted_AVG | 0.215 | -0.015 |
| predicted_BB | 0.819 | -0.014 |
| predicted_H | 1.451 | -0.062 |
| predicted_HBP | 0.118 | 0.000 |
| predicted_HR | 0.238 | -0.011 |
| predicted_OBP | 0.300 | -0.016 |
| predicted_R | 0.541 | -0.041 |
| predicted_RBI | 0.635 | -0.049 |
| predicted_SLG | 0.391 | -0.024 |
| predicted_SO | 2.574 | 0.044 |
AB rounded to 7 (raw=6.75), rates preserved: AVG=0.215 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 3.000 | - |
Sample-size BvP blend (BvP AB=10.0, weight=0.100, 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 | 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 | 7.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 3.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.471 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 7.000 | 0.253 |
| predicted_AVG | 0.286 | 0.071 |
| predicted_BB | 1.000 | 0.181 |
| predicted_H | 2.000 | 0.549 |
| predicted_HR | 0.000 | -0.238 |
| predicted_OBP | 0.375 | 0.075 |
| predicted_R | 1.000 | 0.459 |
| predicted_RBI | 1.000 | 0.365 |
| predicted_SLG | 0.286 | -0.105 |
| predicted_SO | 3.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 | 4.000 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 4 | - | 19.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 | 1.000 | 7.000 | 0.2105 | 0.2500 | 0.2632 | 0.2105 | 0.0000 | 0.0526 | 0.0526 | 0.3684 |
| last_10 | 0.20 | 5 | - | 39.000 | 13.000 | 7.000 | 0.000 | 3.000 | 4.000 | 3.000 | 1.000 | 14.000 | 0.3333 | 0.3500 | 0.7436 | 0.3333 | 0.0769 | 0.1026 | 0.0256 | 0.3590 |
| season | 0.60 | 58 | - | 758.000 | 159.000 | 52.000 | 0.000 | 32.000 | 81.000 | 76.000 | 107.000 | 289.000 | 0.2098 | 0.3148 | 0.4050 | 0.2098 | 0.0422 | 0.1069 | 0.1412 | 0.3813 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7660 |
| predicted_3B | 0.0010 |
| predicted_AB | 10.9020 |
| predicted_AVG | 0.2172 |
| predicted_BB | 1.2680 |
| predicted_H | 2.3680 |
| predicted_HBP | 0.1180 |
| predicted_HR | 0.3860 |
| predicted_OBP | 0.3039 |
| predicted_R | 0.8790 |
| predicted_RBI | 1.0570 |
| predicted_SLG | 0.3940 |
| predicted_SO | 4.0600 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2390 | 0.7660 | 0.4711 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.4770 | 10.9020 | 6.7466 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2172 | 0.2305 | model_form_blend |
| predicted_BB | 0.4910 | 1.2680 | 0.8332 | model_form_blend |
| predicted_H | 0.8400 | 2.3680 | 1.5129 | model_form_blend |
| predicted_HBP | - | 0.1180 | 0.1180 | form_only |
| predicted_HR | 0.1400 | 0.3860 | 0.2483 | model_form_blend |
| predicted_OBP | 0.3260 | 0.3039 | 0.3163 | model_form_blend |
| predicted_R | 0.3490 | 0.8790 | 0.5824 | model_form_blend |
| predicted_RBI | 0.3900 | 1.0570 | 0.6837 | model_form_blend |
| predicted_SLG | 0.4310 | 0.3940 | 0.4147 | model_form_blend |
| predicted_SO | 1.3260 | 4.0600 | 2.5299 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 218 |
| Season rows before report date | 218 |
| Report year | 2026 |
| Profile rows used | 218 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 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 | 20260531_DET@CHW |
| game_type | full |
| mlbID | 679529 |
| playerID | 679529 |
| playerName | Spencer Torkelson |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-31 |
| sl_k_percent | 32.3 |
| sl_bb_percent | 12.1 |
| sl_woba | 0.319 |
| sl_xwoba | 0.322 |
| sl_xba | 0.212 |
| sl_xslg | 0.408 |
| sl_sweet_spot_percent | 46.3 |
| sl_barrel_batted_rate | 14.2 |
| sl_hard_hit_percent | 46.3 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 19.1 |
| sl_whiff_percent | 29.4 |
| sl_swing_percent | 41.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.115 | 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.489 | 4.000 | 6.000 | Hitting_AB | 3.464 | 4.000 | 0.536 | 0.000 |
| predicted_AVG | 0.220 | 0.250 | 0.167 | Hitting_AVG | 0.175 | 0.000 | 0.075 | 0.250 |
| predicted_BB | 0.266 | 0.000 | 1.000 | Hitting_BB | 0.271 | 0.000 | -0.271 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_H | 0.680 | 1.000 | 1.000 | Hitting_H | 0.607 | 0.000 | 0.393 | 1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.086 | 0.000 | -0.086 | 0.000 |
| predicted_OBP | 0.264 | 0.250 | 0.286 | Hitting_OBP | 0.235 | 0.000 | 0.015 | 0.250 |
| predicted_R | 0.388 | 0.000 | 1.000 | Hitting_R | 0.393 | 0.000 | -0.393 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 1.000 | Hitting_RBI | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_SLG | 0.387 | 0.250 | 0.167 | Hitting_SLG | 0.282 | 0.000 | -0.032 | 0.250 |
| predicted_SO | 0.532 | 1.000 | 1.000 | Hitting_SO | 0.529 | 1.000 | 0.471 | 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.4890 -> 4.0000 (boost 0.5110, better) |
| Biggest Deboost | predicted_R: 0.3880 -> 0.0000 (deboost -0.3880, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.4890 -> 6.1263 (boost 2.6373, better) | predicted_AVG: 0.2200 -> 0.2128 (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 | 5 | 0 | 5 | 0 | 5 | - | predicted_R: 0.7370 -> 0.6846 (deboost -0.0524, 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.5127 -> 1.0000 (boost 0.4873, better) | predicted_HR: 0.3065 -> 0.0000 (deboost -0.3065, worse) | AB rounded to 6 (raw=6.13), rates preserved: AVG=0.192 HR/AB=0.050 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6846 -> 1.0000 (boost 0.3154, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2548 -> 0.2860 (boost 0.0312, better) | predicted_SLG: 0.3893 -> 0.1670 (deboost -0.2223, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.1670 -> 0.3893 (boost 0.2223, better) | predicted_OBP: 0.2860 -> 0.2548 (deboost -0.0312, 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": "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.115,
"predicted_3B": 0.0,
"predicted_AB": 3.489,
"predicted_AVG": 0.22,
"predicted_BB": 0.266,
"predicted_H": 0.68,
"predicted_HR": 0.14,
"predicted_OBP": 0.264,
"predicted_R": 0.388,
"predicted_RBI": 0.35,
"predicted_SLG": 0.387,
"predicted_SO": 0.532
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2843,
"predicted_3B": 0.0009,
"predicted_AB": 6.1263,
"predicted_AVG": 0.2128,
"predicted_BB": 0.5217,
"predicted_H": 1.2292,
"predicted_HBP": 0.005,
"predicted_HR": 0.3202,
"predicted_OBP": 0.2657,
"predicted_R": 0.737,
"predicted_RBI": 0.6009,
"predicted_SLG": 0.406,
"predicted_SO": 0.8993
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.115,
"after": 0.2843,
"delta": 0.1693,
"percent_delta": 1.4722,
"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.489,
"after": 6.1263,
"delta": 2.6373,
"percent_delta": 0.7559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2128,
"delta": -0.0072,
"percent_delta": -0.0327,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.266,
"after": 0.5217,
"delta": 0.2557,
"percent_delta": 0.9613,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 1.2292,
"delta": 0.5492,
"percent_delta": 0.8076,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.3202,
"delta": 0.1802,
"percent_delta": 1.2871,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.264,
"after": 0.2657,
"delta": 0.0017,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.388,
"after": 0.737,
"delta": 0.349,
"percent_delta": 0.8995,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.6009,
"delta": 0.2509,
"percent_delta": 0.7169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.406,
"delta": 0.019,
"percent_delta": 0.0491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.532,
"after": 0.8993,
"delta": 0.3673,
"percent_delta": 0.6904,
"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.489,
"after": 6.1263,
"delta": 2.6373,
"percent_delta": 0.7559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2128,
"delta": -0.0072,
"percent_delta": -0.0327,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.2843,
"predicted_3B": 0.0009,
"predicted_AB": 6.1263,
"predicted_AVG": 0.1925,
"predicted_BB": 0.5127,
"predicted_H": 1.179,
"predicted_HBP": 0.005,
"predicted_HR": 0.3065,
"predicted_OBP": 0.2548,
"predicted_R": 0.6846,
"predicted_RBI": 0.5582,
"predicted_SLG": 0.3893,
"predicted_SO": 0.9149
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2843,
"after": 0.2843,
"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.1263,
"after": 6.1263,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2128,
"after": 0.1925,
"delta": -0.0203,
"percent_delta": -0.0954,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5217,
"after": 0.5127,
"delta": -0.009,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2292,
"after": 1.179,
"delta": -0.0502,
"percent_delta": -0.0408,
"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.3202,
"after": 0.3065,
"delta": -0.0137,
"percent_delta": -0.0428,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2657,
"after": 0.2548,
"delta": -0.0109,
"percent_delta": -0.041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.737,
"after": 0.6846,
"delta": -0.0524,
"percent_delta": -0.0711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6009,
"after": 0.5582,
"delta": -0.0427,
"percent_delta": -0.0711,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.3893,
"delta": -0.0167,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8993,
"after": 0.9149,
"delta": 0.0156,
"percent_delta": 0.0173,
"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.737,
"after": 0.6846,
"delta": -0.0524,
"percent_delta": -0.0711,
"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.192 HR/AB=0.050",
"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.2843,
"after": 0.0,
"delta": -0.2843,
"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.1263,
"after": 6.0,
"delta": -0.1263,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5127,
"after": 1.0,
"delta": 0.4873,
"percent_delta": 0.9505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.179,
"after": 1.0,
"delta": -0.179,
"percent_delta": -0.1518,
"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.3065,
"after": 0.0,
"delta": -0.3065,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5582,
"after": 1.0,
"delta": 0.4418,
"percent_delta": 0.7915,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9149,
"after": 1.0,
"delta": 0.0851,
"percent_delta": 0.093,
"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.5127,
"after": 1.0,
"delta": 0.4873,
"percent_delta": 0.9505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3065,
"after": 0.0,
"delta": -0.3065,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.6846,
"after": 1.0,
"delta": 0.3154,
"percent_delta": 0.4607,
"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.6846,
"after": 1.0,
"delta": 0.3154,
"percent_delta": 0.4607,
"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.1925,
"after": 0.167,
"delta": -0.0255,
"percent_delta": -0.1325,
"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.2548,
"after": 0.286,
"delta": 0.0312,
"percent_delta": 0.1224,
"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.3893,
"after": 0.167,
"delta": -0.2223,
"percent_delta": -0.571,
"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.2548,
"after": 0.286,
"delta": 0.0312,
"percent_delta": 0.1224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3893,
"after": 0.167,
"delta": -0.2223,
"percent_delta": -0.571,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 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.1925,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2548,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3893,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.1925,
"delta": 0.0255,
"percent_delta": 0.1524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2548,
"delta": -0.0312,
"percent_delta": -0.109,
"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.3893,
"delta": 0.2223,
"percent_delta": 1.3309,
"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.3893,
"delta": 0.2223,
"percent_delta": 1.3309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2548,
"delta": -0.0312,
"percent_delta": -0.109,
"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.115,
"after": 0.0,
"delta": -0.115,
"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.489,
"after": 4.0,
"delta": 0.511,
"percent_delta": 0.1465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.1925,
"delta": -0.0275,
"percent_delta": -0.125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.266,
"after": 0.0,
"delta": -0.266,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 1.0,
"delta": 0.32,
"percent_delta": 0.4706,
"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.264,
"after": 0.2548,
"delta": -0.0092,
"percent_delta": -0.0348,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.388,
"after": 0.0,
"delta": -0.388,
"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.387,
"after": 0.3893,
"delta": 0.0023,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.532,
"after": 1.0,
"delta": 0.468,
"percent_delta": 0.8797,
"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.489,
"after": 4.0,
"delta": 0.511,
"percent_delta": 0.1465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.388,
"after": 0.0,
"delta": -0.388,
"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.115 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.489 | - |
| predicted_AVG | 0.220 | - |
| predicted_BB | 0.266 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.264 | - |
| predicted_R | 0.388 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.387 | - |
| predicted_SO | 0.532 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.284 | 0.169 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.126 | 2.637 |
| predicted_AVG | 0.213 | -0.007 |
| predicted_BB | 0.522 | 0.256 |
| predicted_H | 1.229 | 0.549 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.320 | 0.180 |
| predicted_OBP | 0.266 | 0.002 |
| predicted_R | 0.737 | 0.349 |
| predicted_RBI | 0.601 | 0.251 |
| predicted_SLG | 0.406 | 0.019 |
| predicted_SO | 0.899 | 0.367 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.284 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.126 | 0.000 |
| predicted_AVG | 0.193 | -0.020 |
| predicted_BB | 0.513 | -0.009 |
| predicted_H | 1.179 | -0.050 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.306 | -0.014 |
| predicted_OBP | 0.255 | -0.011 |
| predicted_R | 0.685 | -0.052 |
| predicted_RBI | 0.558 | -0.043 |
| predicted_SLG | 0.389 | -0.017 |
| predicted_SO | 0.915 | 0.016 |
AB rounded to 6 (raw=6.13), rates preserved: AVG=0.192 HR/AB=0.050
| 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.284 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | -0.126 |
| predicted_AVG | 0.167 | -0.025 |
| predicted_BB | 1.000 | 0.487 |
| predicted_H | 1.000 | -0.179 |
| predicted_HR | 0.000 | -0.306 |
| predicted_OBP | 0.286 | 0.031 |
| predicted_R | 1.000 | 0.315 |
| predicted_RBI | 1.000 | 0.442 |
| predicted_SLG | 0.167 | -0.222 |
| predicted_SO | 1.000 | 0.085 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -2.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 18.000 | 5.000 | 2.000 | 0.000 | 3.000 | 3.000 | 3.000 | 2.000 | 2.000 | 0.2778 | 0.3500 | 0.8889 | 0.2778 | 0.1667 | 0.1667 | 0.1111 | 0.1111 |
| last_10 | 0.20 | 5 | - | 33.000 | 9.000 | 4.000 | 0.000 | 5.000 | 5.000 | 5.000 | 7.000 | 2.000 | 0.2727 | 0.4000 | 0.8485 | 0.2727 | 0.1515 | 0.1515 | 0.2121 | 0.0606 |
| season | 0.60 | 42 | - | 485.000 | 85.000 | 16.000 | 0.000 | 12.000 | 35.000 | 54.000 | 37.000 | 74.000 | 0.1753 | 0.2337 | 0.2825 | 0.1753 | 0.0247 | 0.0722 | 0.0763 | 0.1526 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5050 |
| predicted_3B | 0.0020 |
| predicted_AB | 9.5640 |
| predicted_AVG | 0.2034 |
| predicted_BB | 0.8550 |
| predicted_H | 1.9450 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.5550 |
| predicted_OBP | 0.2679 |
| predicted_R | 1.1920 |
| predicted_RBI | 0.9280 |
| predicted_SLG | 0.4308 |
| predicted_SO | 1.3780 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1150 | 0.5050 | 0.2843 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.4890 | 9.5640 | 6.1263 | model_form_blend |
| predicted_AVG | 0.2200 | 0.2034 | 0.2128 | model_form_blend |
| predicted_BB | 0.2660 | 0.8550 | 0.5217 | model_form_blend |
| predicted_H | 0.6800 | 1.9450 | 1.2292 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.1400 | 0.5550 | 0.3202 | model_form_blend |
| predicted_OBP | 0.2640 | 0.2679 | 0.2657 | model_form_blend |
| predicted_R | 0.3880 | 1.1920 | 0.7370 | model_form_blend |
| predicted_RBI | 0.3500 | 0.9280 | 0.6009 | model_form_blend |
| predicted_SLG | 0.3870 | 0.4308 | 0.4060 | model_form_blend |
| predicted_SO | 0.5320 | 1.3780 | 0.8993 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.175 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260531_DET@CHW |
| game_type | full |
| mlbID | 672761 |
| playerID | 672761 |
| playerName | Wenceel Pérez |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-31 |
| sl_k_percent | 14.5 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.247 |
| sl_xwoba | 0.267 |
| sl_xba | 0.203 |
| sl_xslg | 0.339 |
| sl_sweet_spot_percent | 22.1 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 34.5 |
| sl_exit_velocity_avg | 87.4 |
| sl_launch_angle_avg | 14.4 |
| sl_whiff_percent | 17.1 |
| sl_swing_percent | 47.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.118 | 0.000 | 0.000 | Hitting_2B | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_AB | 2.934 | 3.000 | 4.000 | Hitting_AB | 2.934 | 1.000 | 0.066 | 2.000 |
| predicted_AVG | 0.237 | 0.000 | 0.250 | Hitting_AVG | 0.179 | 0.000 | -0.179 | 0.000 |
| predicted_BB | 0.224 | 1.000 | 0.000 | Hitting_BB | 0.224 | 0.000 | 0.776 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.570 | 0.000 | 1.000 | Hitting_H | 0.526 | 0.000 | -0.526 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_OBP | 0.250 | 0.250 | 0.250 | Hitting_OBP | 0.237 | 0.000 | 0.013 | 0.250 |
| predicted_R | 0.145 | 0.000 | 0.000 | Hitting_R | 0.145 | 0.000 | -0.145 | 0.000 |
| predicted_RBI | 0.290 | 0.000 | 0.000 | Hitting_RBI | 0.303 | 0.000 | -0.303 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.317 | 0.000 | 0.250 | Hitting_SLG | 0.265 | 0.000 | -0.265 | 0.000 |
| predicted_SO | 0.882 | 3.000 | 1.000 | Hitting_SO | 0.882 | 1.000 | 2.118 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.8820 -> 3.0000 (boost 2.1180, worse) |
| Biggest Deboost | predicted_H: 0.5700 -> 0.0000 (deboost -0.5700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.9340 -> 4.2771 (boost 1.3431, better) | predicted_SLG: 0.3170 -> 0.2800 (deboost -0.0370, 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.2035 -> 0.1647 (deboost -0.0388, 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.7045 -> 1.0000 (boost 0.2955, better) | predicted_RBI: 0.3477 -> 0.0000 (deboost -0.3477, worse) | AB rounded to 4 (raw=4.28), rates preserved: AVG=0.165 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.1871 -> 0.0000 (deboost -0.1871, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.1647 -> 0.2500 (boost 0.0853, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 2 | 2 | 1 | 3 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2500 -> 0.1647 (deboost -0.0853, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701678",
"player_name": "Hao-Yu Lee",
"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.118,
"predicted_3B": 0.026,
"predicted_AB": 2.934,
"predicted_AVG": 0.237,
"predicted_BB": 0.224,
"predicted_H": 0.57,
"predicted_HR": 0.06,
"predicted_OBP": 0.25,
"predicted_R": 0.145,
"predicted_RBI": 0.29,
"predicted_SLG": 0.317,
"predicted_SO": 0.882
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1485,
"predicted_3B": 0.031,
"predicted_AB": 4.2771,
"predicted_AVG": 0.2035,
"predicted_BB": 0.277,
"predicted_H": 0.7345,
"predicted_HBP": 0.006,
"predicted_HR": 0.0592,
"predicted_OBP": 0.2294,
"predicted_R": 0.2014,
"predicted_RBI": 0.3743,
"predicted_SLG": 0.28,
"predicted_SO": 1.1972
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.1485,
"delta": 0.0305,
"percent_delta": 0.2585,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.031,
"delta": 0.005,
"percent_delta": 0.1923,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.934,
"after": 4.2771,
"delta": 1.3431,
"percent_delta": 0.4578,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2035,
"delta": -0.0335,
"percent_delta": -0.1414,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.224,
"after": 0.277,
"delta": 0.053,
"percent_delta": 0.2366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.57,
"after": 0.7345,
"delta": 0.1645,
"percent_delta": 0.2886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0592,
"delta": -0.0008,
"percent_delta": -0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2294,
"delta": -0.0206,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.145,
"after": 0.2014,
"delta": 0.0564,
"percent_delta": 0.389,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.3743,
"delta": 0.0843,
"percent_delta": 0.2907,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.317,
"after": 0.28,
"delta": -0.037,
"percent_delta": -0.1167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.882,
"after": 1.1972,
"delta": 0.3152,
"percent_delta": 0.3574,
"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.934,
"after": 4.2771,
"delta": 1.3431,
"percent_delta": 0.4578,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.317,
"after": 0.28,
"delta": -0.037,
"percent_delta": -0.1167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 6,
"season": 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.1485,
"predicted_3B": 0.031,
"predicted_AB": 4.2771,
"predicted_AVG": 0.1647,
"predicted_BB": 0.2722,
"predicted_H": 0.7045,
"predicted_HBP": 0.006,
"predicted_HR": 0.0567,
"predicted_OBP": 0.2147,
"predicted_R": 0.1871,
"predicted_RBI": 0.3477,
"predicted_SLG": 0.2537,
"predicted_SO": 1.2179
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1485,
"after": 0.1485,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.031,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2771,
"after": 4.2771,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2035,
"after": 0.1647,
"delta": -0.0388,
"percent_delta": -0.1907,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.277,
"after": 0.2722,
"delta": -0.0048,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7345,
"after": 0.7045,
"delta": -0.03,
"percent_delta": -0.0408,
"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.0592,
"after": 0.0567,
"delta": -0.0025,
"percent_delta": -0.0422,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2294,
"after": 0.2147,
"delta": -0.0147,
"percent_delta": -0.0641,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2014,
"after": 0.1871,
"delta": -0.0143,
"percent_delta": -0.071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3743,
"after": 0.3477,
"delta": -0.0266,
"percent_delta": -0.0711,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.28,
"after": 0.2537,
"delta": -0.0263,
"percent_delta": -0.0939,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1972,
"after": 1.2179,
"delta": 0.0207,
"percent_delta": 0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2035,
"after": 0.1647,
"delta": -0.0388,
"percent_delta": -0.1907,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.28), rates preserved: AVG=0.165 HR/AB=0.013",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1485,
"after": 0.0,
"delta": -0.1485,
"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": 4.2771,
"after": 4.0,
"delta": -0.2771,
"percent_delta": -0.0648,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2722,
"after": 0.0,
"delta": -0.2722,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7045,
"after": 1.0,
"delta": 0.2955,
"percent_delta": 0.4194,
"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.0567,
"after": 0.0,
"delta": -0.0567,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3477,
"after": 0.0,
"delta": -0.3477,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2179,
"after": 1.0,
"delta": -0.2179,
"percent_delta": -0.1789,
"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.7045,
"after": 1.0,
"delta": 0.2955,
"percent_delta": 0.4194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3477,
"after": 0.0,
"delta": -0.3477,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.1871,
"after": 0.0,
"delta": -0.1871,
"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.1871,
"after": 0.0,
"delta": -0.1871,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1647,
"after": 0.25,
"delta": 0.0853,
"percent_delta": 0.5179,
"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.25,
"delta": 0.0353,
"percent_delta": 0.1644,
"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.2537,
"after": 0.25,
"delta": -0.0037,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1647,
"after": 0.25,
"delta": 0.0853,
"percent_delta": 0.5179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1647,
"predicted_BB": 1.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.2537,
"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": 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.1647,
"delta": -0.0853,
"percent_delta": -0.3411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2147,
"delta": -0.0353,
"percent_delta": -0.1412,
"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.2537,
"delta": 0.0037,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1647,
"delta": -0.0853,
"percent_delta": -0.3411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.934,
"after": 3.0,
"delta": 0.066,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.1647,
"delta": -0.0723,
"percent_delta": -0.3051,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.224,
"after": 1.0,
"delta": 0.776,
"percent_delta": 3.4643,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.57,
"after": 0.0,
"delta": -0.57,
"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.25,
"after": 0.2147,
"delta": -0.0353,
"percent_delta": -0.1412,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.145,
"after": 0.0,
"delta": -0.145,
"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.317,
"after": 0.2537,
"delta": -0.0633,
"percent_delta": -0.1997,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.882,
"after": 3.0,
"delta": 2.118,
"percent_delta": 2.4014,
"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.882,
"after": 3.0,
"delta": 2.118,
"percent_delta": 2.4014,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.57,
"after": 0.0,
"delta": -0.57,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.118 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 2.934 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.224 | - |
| predicted_H | 0.570 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.250 | - |
| predicted_R | 0.145 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.317 | - |
| predicted_SO | 0.882 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.148 | 0.030 |
| predicted_3B | 0.031 | 0.005 |
| predicted_AB | 4.277 | 1.343 |
| predicted_AVG | 0.203 | -0.034 |
| predicted_BB | 0.277 | 0.053 |
| predicted_H | 0.735 | 0.165 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.059 | -0.001 |
| predicted_OBP | 0.229 | -0.021 |
| predicted_R | 0.201 | 0.056 |
| predicted_RBI | 0.374 | 0.084 |
| predicted_SLG | 0.280 | -0.037 |
| predicted_SO | 1.197 | 0.315 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.148 | 0.000 |
| predicted_3B | 0.031 | 0.000 |
| predicted_AB | 4.277 | 0.000 |
| predicted_AVG | 0.165 | -0.039 |
| predicted_BB | 0.272 | -0.005 |
| predicted_H | 0.705 | -0.030 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.057 | -0.003 |
| predicted_OBP | 0.215 | -0.015 |
| predicted_R | 0.187 | -0.014 |
| predicted_RBI | 0.348 | -0.027 |
| predicted_SLG | 0.254 | -0.026 |
| predicted_SO | 1.218 | 0.021 |
AB rounded to 4 (raw=4.28), rates preserved: AVG=0.165 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.148 |
| predicted_3B | 0.000 | -0.031 |
| predicted_AB | 4.000 | -0.277 |
| predicted_AVG | 0.250 | 0.085 |
| predicted_BB | 0.000 | -0.272 |
| predicted_H | 1.000 | 0.295 |
| predicted_HR | 0.000 | -0.057 |
| predicted_OBP | 0.250 | 0.035 |
| predicted_R | 0.000 | -0.187 |
| predicted_RBI | 0.000 | -0.348 |
| predicted_SLG | 0.250 | -0.004 |
| predicted_SO | 1.000 | -0.218 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.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 | 4 | - | 14.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.0714 | 0.0714 | 0.0714 | 0.0714 | 0.0000 | 0.0000 | 0.0000 | 0.2143 |
| last_10 | 0.20 | 6 | - | 29.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 5.000 | 0.0345 | 0.0345 | 0.0345 | 0.0345 | 0.0000 | 0.0000 | 0.0000 | 0.1724 |
| season | 0.60 | 30 | - | 223.000 | 40.000 | 9.000 | 2.000 | 2.000 | 23.000 | 11.000 | 17.000 | 67.000 | 0.1794 | 0.2375 | 0.2646 | 0.1794 | 0.0090 | 0.1031 | 0.0762 | 0.3004 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1910 |
| predicted_3B | 0.0380 |
| predicted_AB | 6.1510 |
| predicted_AVG | 0.1567 |
| predicted_BB | 0.3510 |
| predicted_H | 0.9640 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.0580 |
| predicted_OBP | 0.2006 |
| predicted_R | 0.2800 |
| predicted_RBI | 0.4920 |
| predicted_SLG | 0.2283 |
| predicted_SO | 1.6370 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1180 | 0.1910 | 0.1485 | model_form_blend |
| predicted_3B | 0.0260 | 0.0380 | 0.0310 | model_form_blend |
| predicted_AB | 2.9340 | 6.1510 | 4.2771 | model_form_blend |
| predicted_AVG | 0.2370 | 0.1567 | 0.2035 | model_form_blend |
| predicted_BB | 0.2240 | 0.3510 | 0.2770 | model_form_blend |
| predicted_H | 0.5700 | 0.9640 | 0.7345 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.0600 | 0.0580 | 0.0592 | model_form_blend |
| predicted_OBP | 0.2500 | 0.2006 | 0.2294 | model_form_blend |
| predicted_R | 0.1450 | 0.2800 | 0.2014 | model_form_blend |
| predicted_RBI | 0.2900 | 0.4920 | 0.3743 | model_form_blend |
| predicted_SLG | 0.3170 | 0.2283 | 0.2800 | model_form_blend |
| predicted_SO | 0.8820 | 1.6370 | 1.1972 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 76 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 3 |
| 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 | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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-2B |
| gameID | 20260531_DET@CHW |
| game_type | ph |
| mlbID | 701678 |
| note | Struck out for Keith in the 8th. |
| playerID | 701678 |
| playerName | Hao-Yu Lee |
| pos | 2B |
| started | False |
| startingPosition | PH |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-31 |
| sl_k_percent | 28.4 |
| sl_bb_percent | 4.9 |
| sl_woba | 0.238 |
| sl_xwoba | 0.279 |
| sl_xba | 0.21 |
| sl_xslg | 0.396 |
| sl_sweet_spot_percent | 38.9 |
| sl_barrel_batted_rate | 11.1 |
| sl_hard_hit_percent | 31.5 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 19.0 |
| sl_whiff_percent | 31.1 |
| sl_swing_percent | 47.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.076 | 0.000 | 0.000 | Hitting_2B | 0.076 | 0.000 | -0.076 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.161 | 4.000 | 5.000 | Hitting_AB | 3.134 | 2.000 | 0.866 | 2.000 |
| predicted_AVG | 0.214 | 0.250 | 0.200 | Hitting_AVG | 0.150 | 0.000 | 0.100 | 0.250 |
| predicted_BB | 0.356 | 0.000 | 1.000 | Hitting_BB | 0.353 | 1.000 | -0.353 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.076 | 0.000 | -0.076 | 0.000 |
| predicted_H | 0.550 | 1.000 | 1.000 | Hitting_H | 0.471 | 0.000 | 0.529 | 1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_OBP | 0.284 | 0.250 | 0.333 | Hitting_OBP | 0.232 | 0.333 | 0.018 | -0.083 |
| predicted_R | 0.068 | 0.000 | 0.000 | Hitting_R | 0.067 | 0.000 | -0.067 | 0.000 |
| predicted_RBI | 0.300 | 0.000 | 0.000 | Hitting_RBI | 0.303 | 0.000 | -0.303 | 0.000 |
| predicted_SLG | 0.262 | 0.250 | 0.200 | Hitting_SLG | 0.214 | 0.000 | 0.036 | 0.250 |
| predicted_SO | 0.669 | 0.000 | 1.000 | Hitting_SO | 0.664 | 0.000 | -0.664 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.1610 -> 4.0000 (boost 0.8390, 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 | 8 | 6 | 2 | 5 | 3 | predicted_AB: 3.1610 -> 5.3043 (boost 2.1433, better) | predicted_AVG: 0.2140 -> 0.1743 (deboost -0.0397, 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.1743 -> 0.1337 (deboost -0.0406, 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.7093 -> 1.0000 (boost 0.2907, better) | predicted_RBI: 0.4070 -> 0.0000 (deboost -0.4070, worse) | AB rounded to 5 (raw=5.30), rates preserved: AVG=0.134 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.1124 -> 0.0000 (deboost -0.1124, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1337 -> 0.2000 (boost 0.0663, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 1 | 2 | - | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2000 -> 0.1337 (deboost -0.0663, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656716",
"player_name": "Zach McKinstry",
"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.076,
"predicted_3B": 0.0,
"predicted_AB": 3.161,
"predicted_AVG": 0.214,
"predicted_BB": 0.356,
"predicted_H": 0.55,
"predicted_HR": 0.05,
"predicted_OBP": 0.284,
"predicted_R": 0.068,
"predicted_RBI": 0.3,
"predicted_SLG": 0.262,
"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.1139,
"predicted_3B": 0.0009,
"predicted_AB": 5.3043,
"predicted_AVG": 0.1743,
"predicted_BB": 1.0299,
"predicted_H": 0.7395,
"predicted_HBP": 0.005,
"predicted_HR": 0.0694,
"predicted_OBP": 0.2802,
"predicted_R": 0.121,
"predicted_RBI": 0.4382,
"predicted_SLG": 0.2255,
"predicted_SO": 1.3098
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.076,
"after": 0.1139,
"delta": 0.0379,
"percent_delta": 0.4987,
"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.161,
"after": 5.3043,
"delta": 2.1433,
"percent_delta": 0.678,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.1743,
"delta": -0.0397,
"percent_delta": -0.1855,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.356,
"after": 1.0299,
"delta": 0.6739,
"percent_delta": 1.893,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.55,
"after": 0.7395,
"delta": 0.1895,
"percent_delta": 0.3445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0694,
"delta": 0.0194,
"percent_delta": 0.388,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.284,
"after": 0.2802,
"delta": -0.0038,
"percent_delta": -0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.068,
"after": 0.121,
"delta": 0.053,
"percent_delta": 0.7794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.4382,
"delta": 0.1382,
"percent_delta": 0.4607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.262,
"after": 0.2255,
"delta": -0.0365,
"percent_delta": -0.1393,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.669,
"after": 1.3098,
"delta": 0.6408,
"percent_delta": 0.9578,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 6,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.161,
"after": 5.3043,
"delta": 2.1433,
"percent_delta": 0.678,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.1743,
"delta": -0.0397,
"percent_delta": -0.1855,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 36
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1139,
"predicted_3B": 0.0009,
"predicted_AB": 5.3043,
"predicted_AVG": 0.1337,
"predicted_BB": 1.0121,
"predicted_H": 0.7093,
"predicted_HBP": 0.005,
"predicted_HR": 0.0664,
"predicted_OBP": 0.2725,
"predicted_R": 0.1124,
"predicted_RBI": 0.407,
"predicted_SLG": 0.1931,
"predicted_SO": 1.3325
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1139,
"after": 0.1139,
"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.3043,
"after": 5.3043,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1743,
"after": 0.1337,
"delta": -0.0406,
"percent_delta": -0.2329,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0299,
"after": 1.0121,
"delta": -0.0178,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7395,
"after": 0.7093,
"delta": -0.0302,
"percent_delta": -0.0408,
"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.0694,
"after": 0.0664,
"delta": -0.003,
"percent_delta": -0.0432,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2802,
"after": 0.2725,
"delta": -0.0077,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.121,
"after": 0.1124,
"delta": -0.0086,
"percent_delta": -0.0711,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4382,
"after": 0.407,
"delta": -0.0312,
"percent_delta": -0.0712,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2255,
"after": 0.1931,
"delta": -0.0324,
"percent_delta": -0.1437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3098,
"after": 1.3325,
"delta": 0.0227,
"percent_delta": 0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.1743,
"after": 0.1337,
"delta": -0.0406,
"percent_delta": -0.2329,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.30), rates preserved: AVG=0.134 HR/AB=0.013",
"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.1139,
"after": 0.0,
"delta": -0.1139,
"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.3043,
"after": 5.0,
"delta": -0.3043,
"percent_delta": -0.0574,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0121,
"after": 1.0,
"delta": -0.0121,
"percent_delta": -0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7093,
"after": 1.0,
"delta": 0.2907,
"percent_delta": 0.4098,
"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.0664,
"after": 0.0,
"delta": -0.0664,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.407,
"after": 0.0,
"delta": -0.407,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3325,
"after": 1.0,
"delta": -0.3325,
"percent_delta": -0.2495,
"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.7093,
"after": 1.0,
"delta": 0.2907,
"percent_delta": 0.4098,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.407,
"after": 0.0,
"delta": -0.407,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.1124,
"after": 0.0,
"delta": -0.1124,
"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.1124,
"after": 0.0,
"delta": -0.1124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1337,
"after": 0.2,
"delta": 0.0663,
"percent_delta": 0.4959,
"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.2725,
"after": 0.333,
"delta": 0.0605,
"percent_delta": 0.222,
"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.1931,
"after": 0.2,
"delta": 0.0069,
"percent_delta": 0.0357,
"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.1337,
"after": 0.2,
"delta": 0.0663,
"percent_delta": 0.4959,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1337,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2725,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.1931,
"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.1337,
"delta": -0.0663,
"percent_delta": -0.3314,
"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.2725,
"delta": -0.0605,
"percent_delta": -0.1816,
"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.1931,
"delta": -0.0069,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.1337,
"delta": -0.0663,
"percent_delta": -0.3314,
"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.076,
"after": 0.0,
"delta": -0.076,
"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.161,
"after": 4.0,
"delta": 0.839,
"percent_delta": 0.2654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.1337,
"delta": -0.0803,
"percent_delta": -0.3752,
"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.55,
"after": 1.0,
"delta": 0.45,
"percent_delta": 0.8182,
"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.284,
"after": 0.2725,
"delta": -0.0115,
"percent_delta": -0.0405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.068,
"after": 0.0,
"delta": -0.068,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.262,
"after": 0.1931,
"delta": -0.0689,
"percent_delta": -0.263,
"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": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.161,
"after": 4.0,
"delta": 0.839,
"percent_delta": 0.2654,
"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.076 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.161 | - |
| predicted_AVG | 0.214 | - |
| predicted_BB | 0.356 | - |
| predicted_H | 0.550 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.284 | - |
| predicted_R | 0.068 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.262 | - |
| 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.114 | 0.038 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.304 | 2.143 |
| predicted_AVG | 0.174 | -0.040 |
| predicted_BB | 1.030 | 0.674 |
| predicted_H | 0.740 | 0.190 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.069 | 0.019 |
| predicted_OBP | 0.280 | -0.004 |
| predicted_R | 0.121 | 0.053 |
| predicted_RBI | 0.438 | 0.138 |
| predicted_SLG | 0.226 | -0.037 |
| predicted_SO | 1.310 | 0.641 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.114 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.304 | 0.000 |
| predicted_AVG | 0.134 | -0.041 |
| predicted_BB | 1.012 | -0.018 |
| predicted_H | 0.709 | -0.030 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.066 | -0.003 |
| predicted_OBP | 0.273 | -0.008 |
| predicted_R | 0.112 | -0.009 |
| predicted_RBI | 0.407 | -0.031 |
| predicted_SLG | 0.193 | -0.032 |
| predicted_SO | 1.333 | 0.023 |
AB rounded to 5 (raw=5.30), rates preserved: AVG=0.134 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.114 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | -0.304 |
| predicted_AVG | 0.200 | 0.066 |
| predicted_BB | 1.000 | -0.012 |
| predicted_H | 1.000 | 0.291 |
| predicted_HR | 0.000 | -0.066 |
| predicted_OBP | 0.333 | 0.060 |
| predicted_R | 0.000 | -0.112 |
| predicted_RBI | 0.000 | -0.407 |
| predicted_SLG | 0.200 | 0.007 |
| predicted_SO | 1.000 | -0.333 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 9.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 6.000 | 4.000 | 0.0000 | 0.4000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.6667 | 0.4444 |
| last_10 | 0.20 | 5 | - | 22.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 13.000 | 9.000 | 0.0000 | 0.3714 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.5909 | 0.4091 |
| season | 0.60 | 36 | - | 373.000 | 56.000 | 9.000 | 0.000 | 5.000 | 36.000 | 8.000 | 42.000 | 79.000 | 0.1501 | 0.2317 | 0.2145 | 0.1501 | 0.0134 | 0.0965 | 0.1126 | 0.2118 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1640 |
| predicted_3B | 0.0020 |
| predicted_AB | 8.1380 |
| predicted_AVG | 0.1217 |
| predicted_BB | 1.9210 |
| predicted_H | 0.9900 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.0950 |
| predicted_OBP | 0.2751 |
| predicted_R | 0.1910 |
| predicted_RBI | 0.6210 |
| predicted_SLG | 0.1772 |
| predicted_SO | 2.1570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0760 | 0.1640 | 0.1139 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.1610 | 8.1380 | 5.3043 | model_form_blend |
| predicted_AVG | 0.2140 | 0.1217 | 0.1743 | model_form_blend |
| predicted_BB | 0.3560 | 1.9210 | 1.0299 | model_form_blend |
| predicted_H | 0.5500 | 0.9900 | 0.7395 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0500 | 0.0950 | 0.0694 | model_form_blend |
| predicted_OBP | 0.2840 | 0.2751 | 0.2802 | model_form_blend |
| predicted_R | 0.0680 | 0.1910 | 0.1210 | model_form_blend |
| predicted_RBI | 0.3000 | 0.6210 | 0.4382 | model_form_blend |
| predicted_SLG | 0.2620 | 0.1772 | 0.2255 | model_form_blend |
| predicted_SO | 0.6690 | 2.1570 | 1.3098 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 118 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B-SS |
| gameID | 20260531_DET@CHW |
| game_type | full |
| mlbID | 656716 |
| playerID | 656716 |
| playerName | Zach McKinstry |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-31 |
| sl_k_percent | 19.0 |
| sl_bb_percent | 9.9 |
| sl_woba | 0.213 |
| sl_xwoba | 0.244 |
| sl_xba | 0.195 |
| sl_xslg | 0.261 |
| sl_sweet_spot_percent | 29.1 |
| sl_barrel_batted_rate | 1.2 |
| sl_hard_hit_percent | 22.1 |
| sl_exit_velocity_avg | 84.2 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 15.8 |
| sl_swing_percent | 50.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 0.667 | 0.000 | 1.333 | 2.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.000 | 0.000 | 0.000 | 1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 2.333 | 1.000 | 0.667 | 2.000 |
| predicted_IP | 3.200 | 3.200 | 3.200 | Pitching_InningsPitched | 3.700 | 0.100 | -0.500 | 3.100 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 4.000 | 0.000 | 1.000 | 5.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.3333 -> 3.2000 (deboost -2.1333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.3333 -> 3.2000 (deboost -2.1333, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "680744",
"player_name": "Ty Madden",
"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": 2.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 5.3333,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 3.2,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 3.2,
"delta": -2.1333,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 3.2,
"delta": -2.1333,
"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": 1.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 3.2,
"predicted_R": 1.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 3.2,
"after": 3.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": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 3.2,
"delta": -2.1333,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 3.2,
"delta": -2.1333,
"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 | 1.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 5.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 3.200 | -2.133 |
| predicted_SO | 5.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 3 | 11.100 | 3.000 | 7.000 | 2.000 | 12.000 | 1.000 | 2.3824 | 0.7941 | 0.2647 | 0.6177 | 0.1765 | 1.0588 | 0.0882 |
| last_10 | 0.35 | 3 | 11.100 | 3.000 | 7.000 | 2.000 | 12.000 | 1.000 | 2.3824 | 0.7941 | 0.2647 | 0.6177 | 0.1765 | 1.0588 | 0.0882 |
| season | 0.20 | 3 | 11.100 | 3.000 | 7.000 | 2.000 | 12.000 | 1.000 | 2.3824 | 0.7941 | 0.2647 | 0.6177 | 0.1765 | 1.0588 | 0.0882 |
| Metric | Value |
|---|---|
| predicted_BB | 1.3960 |
| predicted_ER | 1.8690 |
| predicted_ERA | 3.5732 |
| predicted_H | 3.8870 |
| predicted_HR | 0.5490 |
| predicted_IP | 4.2000 |
| predicted_SO | 4.6380 |
| predicted_WHIP | 1.1219 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.3960 | 1.7669 | model_form_blend |
| predicted_ER | 1.0000 | 1.8690 | 1.3354 | model_form_blend |
| predicted_ERA | - | 3.5732 | 3.5732 | form_only |
| predicted_H | 3.0000 | 3.8870 | 3.3423 | model_form_blend |
| predicted_HR | 1.0000 | 0.5490 | 0.8259 | model_form_blend |
| predicted_IP | 5.1000 | 4.2000 | 5.1000 | model_form_blend |
| predicted_SO | 5.0000 | 4.6380 | 4.8603 | model_form_blend |
| predicted_WHIP | - | 1.1219 | 1.1219 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 3 |
| Season rows before report date | 3 |
| Report year | 2026 |
| Profile rows used | 3 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 3.2 |
| H | 3 |
| R | 1 |
| ER | 1 |
| BB | 2 |
| SO | 5 |
| HR | 1 |
| BF | 16 |
| Pitches | 71 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 2 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.38 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 7 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260515_TOR@DET |
| game_type | full |
| mlbID | 680744 |
| playerID | 680744 |
| playerName | Ty Madden |
| pos | P |
| started | False |
| startingPosition | P |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-15 |
| game_pk | 824280.0 |
| sl_k_percent | 27.9 |
| sl_bb_percent | 4.7 |
| sl_woba | 0.206 |
| sl_xwoba | 0.244 |
| sl_sweet_spot_percent | 13.8 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 34.5 |
| sl_whiff_percent | 26.3 |
| sl_swing_percent | 45.7 |
| sv_pitch_count | 7.0 |
| sv_outs_recorded_est | 1.0 |
| sv_release_speed | 85.75714285714285 |
| sv_release_spin_rate | 2227.8571428571427 |
| sv_effective_speed | 85.39999999999999 |
| sv_launch_speed | 84.75 |
| sv_launch_angle | 30.0 |
| sv_woba_value | 0.9 |
| sv_woba_denom | 2.0 |
| sv_delta_run_exp | 0.157 |
| sv_delta_home_win_exp | 0.006 |
| sl_avg_best_speed | 76.443262 |
| sl_avg_hyper_speed | 93.168822759 |
| 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.800 | 0.000 | 1.200 | 2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.850 | 2.000 | -0.850 | -2.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.600 | 4.000 | -1.600 | -4.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.725 | 0.200 | -0.625 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 2.300 | 0.000 | -1.300 | 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": "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": 2.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": 2.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": 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.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": 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.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 | 2.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 | 11.000 | 3.000 | 8.000 | 4.000 | 15.000 | 2.000 | 2.4545 | 1.0909 | 0.2727 | 0.7273 | 0.3636 | 1.3636 | 0.1818 |
| last_10 | 0.35 | 10 | 21.000 | 6.000 | 18.000 | 7.000 | 27.000 | 2.000 | 2.5714 | 1.1905 | 0.2857 | 0.8571 | 0.3333 | 1.2857 | 0.0952 |
| season | 0.20 | 20 | 38.000 | 17.000 | 32.000 | 16.000 | 46.000 | 5.000 | 4.0263 | 1.2632 | 0.4474 | 0.8421 | 0.4210 | 1.2105 | 0.1316 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6680 |
| predicted_ER | 0.6890 |
| predicted_ERA | 3.4009 |
| predicted_H | 1.5630 |
| predicted_HR | 0.2520 |
| predicted_IP | 1.2000 |
| predicted_SO | 2.1150 |
| predicted_WHIP | 1.2236 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.6680 | 1.3593 | model_form_blend |
| predicted_ER | 0.0000 | 0.6890 | 0.3314 | model_form_blend |
| predicted_ERA | - | 3.4009 | 3.4009 | form_only |
| predicted_H | 0.0000 | 1.5630 | 0.7518 | model_form_blend |
| predicted_HR | 0.0000 | 0.2520 | 0.1212 | model_form_blend |
| predicted_IP | 1.1000 | 1.2000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 2.1150 | 1.5363 | model_form_blend |
| predicted_WHIP | - | 1.2236 | 1.2236 | 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.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 2 |
| SO | 1 |
| HR | 0 |
| BF | 6 |
| Pitches | 34 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 2 |
| Pitching_ERA | 4.03 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 25 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 19 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260531_DET@CHW |
| game_type | full |
| mlbID | 623454 |
| playerID | 623454 |
| playerName | Drew Anderson |
| pos | P |
| started | False |
| startingPosition | P |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-31 |
| sl_k_percent | 29.5 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.289 |
| sl_xwoba | 0.271 |
| sl_sweet_spot_percent | 26.1 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 39.1 |
| sl_whiff_percent | 30.1 |
| sl_swing_percent | 48.4 |
| sl_avg_best_speed | 80.400961556 |
| sl_avg_hyper_speed | 94.33095427 |
| 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.731 | 0.000 | -0.731 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.231 | 1.000 | -0.231 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.885 | 2.000 | -0.885 | -2.000 |
| predicted_IP | 2.000 | 2.000 | 2.000 | Pitching_InningsPitched | 0.927 | 1.000 | 1.073 | 1.000 |
| 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 -> 2.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_IP: 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": "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": 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": 1.0,
"after": 2.0,
"delta": 1.0,
"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": 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": 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": 2.0,
"delta": 1.0,
"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": 1.0,
"after": 2.0,
"delta": 1.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 | 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 | 7.000 | 3.000 | 1.000 | 0.000 | 3.6000 | 2.0000 | 0.4000 | 1.4000 | 0.6000 | 0.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 3.000 | 11.000 | 8.000 | 3.000 | 1.000 | 2.4545 | 1.7273 | 0.2727 | 1.0000 | 0.7273 | 0.2727 | 0.0909 |
| season | 0.20 | 25 | 26.200 | 4.000 | 20.000 | 18.000 | 15.000 | 2.000 | 1.3500 | 1.4250 | 0.1500 | 0.7500 | 0.6750 | 0.5625 | 0.0750 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5180 |
| predicted_ER | 0.3890 |
| predicted_ERA | 3.4987 |
| predicted_H | 1.0420 |
| predicted_HR | 0.0890 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.6110 |
| predicted_WHIP | 1.5601 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5180 | 0.2301 | model_form_blend |
| predicted_ER | 0.0000 | 0.3890 | 0.1728 | model_form_blend |
| predicted_ERA | - | 3.4987 | 3.4987 | form_only |
| predicted_H | 0.0000 | 1.0420 | 0.4628 | model_form_blend |
| predicted_HR | 0.0000 | 0.0890 | 0.0395 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.6110 | 0.8272 | model_form_blend |
| predicted_WHIP | - | 1.5601 | 1.5601 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 26 |
| Season rows before report date | 26 |
| Report year | 2026 |
| Profile rows used | 25 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 2.0 |
| H | 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 | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.03 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 13 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260529_DET@CHW |
| game_type | full |
| mlbID | 640448 |
| playerID | 640448 |
| playerName | Kyle Finnegan |
| pos | P |
| started | False |
| startingPosition | P |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-29 |
| sl_k_percent | 13.3 |
| sl_bb_percent | 16.8 |
| sl_woba | 0.348 |
| sl_xwoba | 0.334 |
| sl_sweet_spot_percent | 26.6 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 40.5 |
| sl_whiff_percent | 21.2 |
| sl_swing_percent | 45.1 |
| sl_avg_best_speed | 77.072506923 |
| sl_avg_hyper_speed | 94.221872338 |
| 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 | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.778 | 0.000 | 0.222 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.828 | 1.000 | 0.172 | 0.000 |
| 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 | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 6.000 | 7.000 | 1.000 | 5.000 | 1.000 | 10.1250 | 1.5000 | 1.1250 | 1.3125 | 0.1875 | 0.9375 | 0.1875 |
| last_10 | 0.35 | 10 | 10.100 | 9.000 | 12.000 | 4.000 | 9.000 | 2.000 | 7.8387 | 1.5484 | 0.8710 | 1.1613 | 0.3871 | 0.8710 | 0.1935 |
| season | 0.20 | 18 | 17.000 | 14.000 | 18.000 | 7.000 | 18.000 | 2.000 | 7.4118 | 1.4706 | 0.8235 | 1.0588 | 0.4118 | 1.0588 | 0.1177 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2050 |
| predicted_ER | 0.4070 |
| predicted_ERA | 6.0927 |
| predicted_H | 0.6340 |
| predicted_HR | 0.0910 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.5650 |
| predicted_WHIP | 1.3959 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2050 | 0.0814 | model_form_blend |
| predicted_ER | 1.0000 | 0.4070 | 0.7645 | model_form_blend |
| predicted_ERA | - | 6.0927 | 6.0927 | form_only |
| predicted_H | 1.0000 | 0.6340 | 0.8546 | model_form_blend |
| predicted_HR | 0.0000 | 0.0910 | 0.0361 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 2.0000 | 0.5650 | 1.4301 | model_form_blend |
| predicted_WHIP | - | 1.3959 | 1.3959 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 18 |
| Season rows before report date | 18 |
| Report year | 2026 |
| Profile rows used | 18 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 7.41 |
| 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 | 11 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260529_DET@CHW |
| game_type | full |
| mlbID | 676684 |
| playerID | 676684 |
| playerName | Will Vest |
| pos | P |
| started | False |
| startingPosition | P |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-29 |
| sl_k_percent | 24.0 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.327 |
| sl_xwoba | 0.3 |
| sl_sweet_spot_percent | 22.0 |
| sl_barrel_batted_rate | 8.2 |
| sl_hard_hit_percent | 34.0 |
| sl_whiff_percent | 30.3 |
| sl_swing_percent | 47.4 |
| sl_avg_best_speed | 78.231822083 |
| sl_avg_hyper_speed | 94.290893542 |
| Field | Value |
|---|---|
| Pitcher | Griffin Jax |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0012 |
| ESPN Rank | 447 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1380 |
| Avg Velo | 92.1600 |
| Avg Spin | 2603.0006 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 1 |
| Pre H | 6 |
| Pre BB | 4 |
| Pre SO | 6 |
| Season ERA | 2.7000 |
| Season WHIP | 1.2667 |
| Role Avg IP | 3.5000 |
| Recent Avg IP | 3.7330 |
| Last Start IP | 2 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 64,
"wins": 39,
"losses": 25,
"win_pct": 0.6094,
"runs_scored": 279.0,
"runs_allowed": 270.0,
"run_differential": 9.0,
"run_differential_per_game": 0.1406,
"avg_runs_scored": 4.3594,
"avg_runs_allowed": 4.2188,
"offense_index": 0.9803,
"defense_index": 1.0541,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.4,
"run_differential": -19.0
},
"available": true,
"quality_score": 0.0754
},
"opponent": {
"team": "DET",
"games": 66,
"wins": 24,
"losses": 42,
"win_pct": 0.3636,
"runs_scored": 247.0,
"runs_allowed": 284.0,
"run_differential": -37.0,
"run_differential_per_game": -0.5606,
"avg_runs_scored": 3.7424,
"avg_runs_allowed": 4.303,
"offense_index": 0.8416,
"defense_index": 1.0334,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 4.3,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.2903
},
"edges": {
"quality_edge": 0.3657,
"offense_edge": -0.0197,
"opponent_offense_edge": -0.1584,
"defense_strength": 0.0541,
"opponent_defense_weakness": -0.0334,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0226,
"run_prevention": 0.951,
"strikeout": 1.0236
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "643377",
"profile": {
"available": true,
"pitcher_id": "643377",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 113.0,
"k_percent": 21.1,
"bb_percent": 11.7,
"woba": 0.316,
"xwoba": 0.324,
"sweet_spot_percent": 25.6,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 36.0,
"avg_best_speed": 76.1762,
"avg_hyper_speed": 94.1763,
"whiff_percent": 29.5,
"swing_percent": 46.5
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.0406,
"command_and_miss": -0.0314,
"regression_edge": -0.2286,
"xwoba_edge": -0.3429,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.3714,
"whiff_edge": 0.5286,
"bb_edge": -0.6,
"pitch_design_score": 0.138
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "643377",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 52,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 52,
"pitch_usage": 0.0,
"release_speed": 92.15999217444877,
"release_spin_rate": 2603.000569710109,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 52,
"pitch_usage": 0.0,
"release_speed": 92.15999217444877,
"release_spin_rate": 2603.000569710109,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.16,
"release_spin_rate": 2603.0006,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.138,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9859,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0012,
"sample_weight": 0.452,
"run_prevention_factor": 0.9999,
"strikeout_factor": 1.0057,
"walk_factor": 1.0217,
"homer_factor": 0.9867,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643377",
"espn_id": 42604,
"player_name": "Griffin Jax",
"team": "TB",
"role": "pitcher",
"espn_rank": 447,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 447,
"gp_value": 17.0,
"gp_rank": 168,
"gs_value": 6.0,
"gs_rank": 142,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 3.6,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 3.0,
"l_rank": 75,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 2.0,
"hld_rank": 154,
"ip_value": 30.0,
"ip_rank": 170,
"h_value": 27.0,
"h_rank": 174,
"er_value": 12.0,
"er_rank": 210,
"hr_value": 4.0,
"hr_rank": 150,
"bb_value": 15.0,
"bb_rank": 143,
"k_value": 27.0,
"k_rank": 209,
"k_per_9_value": 8.1,
"k_per_9_rank": 33,
"whip_value": 1.4,
"whip_rank": null,
"war_value": -0.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0,
"adjusted": 1
},
"predicted_H": {
"original": 3.0,
"factor": 1.0,
"adjusted": 3
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0098,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.994,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0026,
"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.2,
"ER": 7,
"H": 20,
"BB": 11,
"SO": 23,
"HR": 3,
"ERA": 2.554054054054054,
"WHIP": 1.2567567567567568,
"K9": 8.391891891891891,
"HR9": 1.0945945945945945,
"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-26T00:00:00"
}{
"available": true,
"pitcher_id": "643377",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 52,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 52,
"pitch_usage": 0.0,
"release_speed": 92.15999217444877,
"release_spin_rate": 2603.000569710109,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 52,
"pitch_usage": 0.0,
"release_speed": 92.15999217444877,
"release_spin_rate": 2603.000569710109,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.16,
"release_spin_rate": 2603.0006,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.138,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9859,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.921,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5421,
"prior_weight": 0.4579
},
"role": "pitcher",
"player_id": "643377",
"report_date": "20260601_D",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 18.2,
"ER": 4.0,
"R": 7.0,
"H": 16.0,
"BB": 7.0,
"SO": 15.0,
"HR": 1.0,
"BF": 76.0,
"Pitches": 270.0
},
"per_game": {
"IP": 3.2,
"ER": 0.8,
"R": 1.4,
"H": 3.2,
"BB": 1.4,
"SO": 3.0,
"HR": 0.2,
"BF": 15.2,
"Pitches": 54.0
},
"rates": {
"ERA": 1.9286,
"WHIP": 1.2321,
"ER_per_IP": 0.21429,
"H_per_IP": 0.85714,
"BB_per_IP": 0.375,
"SO_per_IP": 0.80357,
"HR_per_IP": 0.05357
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 24.2,
"ER": 7.0,
"R": 10.0,
"H": 20.0,
"BB": 11.0,
"SO": 23.0,
"HR": 3.0,
"BF": 101.0,
"Pitches": 379.0
},
"per_game": {
"IP": 2.1,
"ER": 0.7,
"R": 1.0,
"H": 2.0,
"BB": 1.1,
"SO": 2.3,
"HR": 0.3,
"BF": 10.1,
"Pitches": 37.9
},
"rates": {
"ERA": 2.5541,
"WHIP": 1.2568,
"ER_per_IP": 0.28378,
"H_per_IP": 0.81081,
"BB_per_IP": 0.44595,
"SO_per_IP": 0.93243,
"HR_per_IP": 0.12162
}
},
"season": {
"games": 16,
"totals": {
"IP": 30.0,
"ER": 9.0,
"R": 13.0,
"H": 24.0,
"BB": 14.0,
"SO": 27.0,
"HR": 4.0,
"BF": 123.0,
"Pitches": 468.0
},
"per_game": {
"IP": 2.0,
"ER": 0.5625,
"R": 0.8125,
"H": 1.5,
"BB": 0.875,
"SO": 1.6875,
"HR": 0.25,
"BF": 7.6875,
"Pitches": 29.25
},
"rates": {
"ERA": 2.7,
"WHIP": 1.2667,
"ER_per_IP": 0.3,
"H_per_IP": 0.8,
"BB_per_IP": 0.46667,
"SO_per_IP": 0.9,
"HR_per_IP": 0.13333
}
}
},
"weighted_prediction": {
"predicted_IP": 4.0,
"predicted_ER": 1.371,
"predicted_H": 3.401,
"predicted_BB": 1.52,
"predicted_SO": 3.464,
"predicted_HR": 0.43,
"predicted_ERA": 3.2111,
"predicted_WHIP": 1.2802
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5435,
"form_weight": 0.4565,
"form_reliability": 0.5421,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.921,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5421,
"prior_weight": 0.4579
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 4.0,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 1.371,
"final": 1.1694,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 3.401,
"final": 4.8135,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 4.0,
"form": 1.52,
"final": 2.8678,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 3.464,
"final": 4.2988,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.43,
"final": 0.1963,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2111,
"final": 3.2111,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2802,
"final": 1.2802,
"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 | Ian Seymour |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0109 |
| ESPN Rank | 444 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2024 |
| Avg Velo | 86.0811 |
| Avg Spin | 1950.0419 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.1034 |
| Season WHIP | 1.1034 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 64,
"wins": 39,
"losses": 25,
"win_pct": 0.6094,
"runs_scored": 279.0,
"runs_allowed": 270.0,
"run_differential": 9.0,
"run_differential_per_game": 0.1406,
"avg_runs_scored": 4.3594,
"avg_runs_allowed": 4.2188,
"offense_index": 0.9803,
"defense_index": 1.0541,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.4,
"run_differential": -19.0
},
"available": true,
"quality_score": 0.0754
},
"opponent": {
"team": "DET",
"games": 66,
"wins": 24,
"losses": 42,
"win_pct": 0.3636,
"runs_scored": 247.0,
"runs_allowed": 284.0,
"run_differential": -37.0,
"run_differential_per_game": -0.5606,
"avg_runs_scored": 3.7424,
"avg_runs_allowed": 4.303,
"offense_index": 0.8416,
"defense_index": 1.0334,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 4.3,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.2903
},
"edges": {
"quality_edge": 0.3657,
"offense_edge": -0.0197,
"opponent_offense_edge": -0.1584,
"defense_strength": 0.0541,
"opponent_defense_weakness": -0.0334,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0226,
"run_prevention": 0.951,
"strikeout": 1.0236
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "693855",
"profile": {
"available": true,
"pitcher_id": "693855",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 110.0,
"k_percent": 26.0,
"bb_percent": 9.8,
"woba": 0.309,
"xwoba": 0.306,
"sweet_spot_percent": 39.7,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 37.2,
"avg_best_speed": 78.4342,
"avg_hyper_speed": 93.7628,
"whiff_percent": 29.2,
"swing_percent": 48.8
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.112,
"command_and_miss": 0.3636,
"regression_edge": 0.0857,
"xwoba_edge": 0.1714,
"barrel_edge": -0.6889,
"hard_hit_edge": 0.2,
"whiff_edge": 0.4857,
"bb_edge": -0.125,
"pitch_design_score": -0.2024
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "693855",
"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": 86.08107507049887,
"release_spin_rate": 1950.04193432647,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 86.08107507049887,
"release_spin_rate": 1950.04193432647,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0811,
"release_spin_rate": 1950.0419,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2024,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.4456,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0109,
"sample_weight": 0.45,
"run_prevention_factor": 0.9991,
"strikeout_factor": 1.0175,
"walk_factor": 1.0045,
"homer_factor": 1.0189,
"woba_minus_xwoba": 0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693855",
"espn_id": 4669425,
"player_name": "Ian Seymour",
"team": "TB",
"role": "pitcher",
"espn_rank": 444,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 444,
"gp_value": 25.0,
"gp_rank": 47,
"gs_value": 1.0,
"gs_rank": 220,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 4.6551,
"era_rank": null,
"w_value": 3.0,
"w_rank": 74,
"l_value": 0.0,
"l_rank": 390,
"sv_value": 2.0,
"sv_rank": 50,
"hld_value": 10.0,
"hld_rank": 10,
"ip_value": 29.0,
"ip_rank": 179,
"h_value": 25.0,
"h_rank": 199,
"er_value": 15.0,
"er_rank": 158,
"hr_value": 3.0,
"hr_rank": 198,
"bb_value": 12.0,
"bb_rank": 199,
"k_value": 32.0,
"k_rank": 162,
"k_per_9_value": 9.931034,
"k_per_9_rank": 24,
"whip_value": 1.2758,
"whip_rank": null,
"war_value": -0.06,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9996,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9996,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.002,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0085,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0079,
"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": 5,
"H": 8,
"BB": 5,
"SO": 13,
"HR": 2,
"ERA": 3.6486486486486487,
"WHIP": 1.054054054054054,
"K9": 9.486486486486486,
"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-30T00:00:00"
}{
"available": true,
"pitcher_id": "693855",
"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": 86.08107507049887,
"release_spin_rate": 1950.04193432647,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 86.08107507049887,
"release_spin_rate": 1950.04193432647,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0811,
"release_spin_rate": 1950.0419,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2024,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.4456,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.723,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5337,
"prior_weight": 0.4663
},
"role": "pitcher",
"player_id": "693855",
"report_date": "20260601_D",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.0,
"ER": 2.0,
"R": 4.0,
"H": 4.0,
"BB": 4.0,
"SO": 6.0,
"HR": 0.0,
"BF": 29.0,
"Pitches": 103.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.8,
"H": 0.8,
"BB": 0.8,
"SO": 1.2,
"HR": 0.0,
"BF": 5.8,
"Pitches": 20.6
},
"rates": {
"ERA": 2.5714,
"WHIP": 1.1429,
"ER_per_IP": 0.28571,
"H_per_IP": 0.57143,
"BB_per_IP": 0.57143,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.1,
"ER": 5.0,
"R": 7.0,
"H": 8.0,
"BB": 5.0,
"SO": 13.0,
"HR": 2.0,
"BF": 50.0,
"Pitches": 180.0
},
"per_game": {
"IP": 1.1,
"ER": 0.5,
"R": 0.7,
"H": 0.8,
"BB": 0.5,
"SO": 1.3,
"HR": 0.2,
"BF": 5.0,
"Pitches": 18.0
},
"rates": {
"ERA": 3.6486,
"WHIP": 1.0541,
"ER_per_IP": 0.40541,
"H_per_IP": 0.64865,
"BB_per_IP": 0.40541,
"SO_per_IP": 1.05405,
"HR_per_IP": 0.16216
}
},
"season": {
"games": 24,
"totals": {
"IP": 29.0,
"ER": 10.0,
"R": 12.0,
"H": 20.0,
"BB": 12.0,
"SO": 32.0,
"HR": 3.0,
"BF": 118.0,
"Pitches": 442.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4167,
"R": 0.5,
"H": 0.8333,
"BB": 0.5,
"SO": 1.3333,
"HR": 0.125,
"BF": 4.9167,
"Pitches": 18.4167
},
"rates": {
"ERA": 3.1034,
"WHIP": 1.1034,
"ER_per_IP": 0.34483,
"H_per_IP": 0.68966,
"BB_per_IP": 0.41379,
"SO_per_IP": 1.10345,
"HR_per_IP": 0.10345
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.538,
"predicted_H": 1.033,
"predicted_BB": 0.572,
"predicted_SO": 1.279,
"predicted_HR": 0.138,
"predicted_ERA": 3.6297,
"predicted_WHIP": 1.204
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.547,
"form_weight": 0.453,
"form_reliability": 0.5337,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.723,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5337,
"prior_weight": 0.4663
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.538,
"final": 0.2437,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.033,
"final": 0.4679,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.572,
"final": 0.2591,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.279,
"final": 1.1264,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.138,
"final": 0.0625,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6297,
"final": 3.6297,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.204,
"final": 1.204,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Bryan Baker |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3313 |
| ESPN Rank | 97 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0707 |
| Avg Velo | 90.9571 |
| Avg Spin | 2116.8977 |
| 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.2192 |
| Season WHIP | 1.0685 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 64,
"wins": 39,
"losses": 25,
"win_pct": 0.6094,
"runs_scored": 279.0,
"runs_allowed": 270.0,
"run_differential": 9.0,
"run_differential_per_game": 0.1406,
"avg_runs_scored": 4.3594,
"avg_runs_allowed": 4.2188,
"offense_index": 0.9803,
"defense_index": 1.0541,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.4,
"run_differential": -19.0
},
"available": true,
"quality_score": 0.0754
},
"opponent": {
"team": "DET",
"games": 66,
"wins": 24,
"losses": 42,
"win_pct": 0.3636,
"runs_scored": 247.0,
"runs_allowed": 284.0,
"run_differential": -37.0,
"run_differential_per_game": -0.5606,
"avg_runs_scored": 3.7424,
"avg_runs_allowed": 4.303,
"offense_index": 0.8416,
"defense_index": 1.0334,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 4.3,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.2903
},
"edges": {
"quality_edge": 0.3657,
"offense_edge": -0.0197,
"opponent_offense_edge": -0.1584,
"defense_strength": 0.0541,
"opponent_defense_weakness": -0.0334,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0226,
"run_prevention": 0.951,
"strikeout": 1.0236
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641329",
"profile": {
"available": true,
"pitcher_id": "641329",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 89.0,
"k_percent": 29.5,
"bb_percent": 11.6,
"woba": 0.246,
"xwoba": 0.267,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 30.4,
"avg_best_speed": 73.8588,
"avg_hyper_speed": 92.8189,
"whiff_percent": 34.8,
"swing_percent": 50.6
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.0501,
"command_and_miss": 0.7786,
"regression_edge": -0.6,
"xwoba_edge": 1.2857,
"barrel_edge": 0.0222,
"hard_hit_edge": 1.1714,
"whiff_edge": 1.2857,
"bb_edge": -0.575,
"pitch_design_score": 0.0707
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641329",
"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": 90.95709400589595,
"release_spin_rate": 2116.8977373037465,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 90.95709400589595,
"release_spin_rate": 2116.8977373037465,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9571,
"release_spin_rate": 2116.8977,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0707,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5048,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.3313,
"sample_weight": 0.45,
"run_prevention_factor": 0.9718,
"strikeout_factor": 1.0409,
"walk_factor": 1.0207,
"homer_factor": 0.9608,
"woba_minus_xwoba": -0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641329",
"espn_id": 40884,
"player_name": "Bryan Baker",
"team": "TB",
"role": "pitcher",
"espn_rank": 97,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 97,
"gp_value": 26.0,
"gp_rank": 31,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.2191,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 0.0,
"l_rank": 390,
"sv_value": 16.0,
"sv_rank": 3,
"hld_value": 1.0,
"hld_rank": 184,
"ip_value": 24.1,
"ip_rank": 255,
"h_value": 15.0,
"h_rank": 349,
"er_value": 6.0,
"er_rank": 389,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 11.0,
"bb_rank": 221,
"k_value": 29.0,
"k_rank": 188,
"k_per_9_value": 10.7260275,
"k_per_9_rank": 19,
"whip_value": 1.0684,
"whip_rank": null,
"war_value": 0.79,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9873,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9873,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0093,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9824,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0184,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 2,
"H": 6,
"BB": 8,
"SO": 13,
"HR": 0,
"ERA": 1.8620689655172415,
"WHIP": 1.4482758620689655,
"K9": 12.10344827586207,
"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-31T00:00:00"
}{
"available": true,
"pitcher_id": "641329",
"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": 90.95709400589595,
"release_spin_rate": 2116.8977373037465,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 90.95709400589595,
"release_spin_rate": 2116.8977373037465,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9571,
"release_spin_rate": 2116.8977,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0707,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5048,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.802,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4899,
"prior_weight": 0.5101
},
"role": "pitcher",
"player_id": "641329",
"report_date": "20260601_D",
"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": 2.0,
"BB": 3.0,
"SO": 6.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 83.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.6,
"SO": 1.2,
"HR": 0.0,
"BF": 4.0,
"Pitches": 16.6
},
"rates": {
"ERA": 0.0,
"WHIP": 1.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.4,
"BB_per_IP": 0.6,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 8.0,
"SO": 13.0,
"HR": 0.0,
"BF": 43.0,
"Pitches": 164.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.8,
"SO": 1.3,
"HR": 0.0,
"BF": 4.3,
"Pitches": 16.4
},
"rates": {
"ERA": 1.8621,
"WHIP": 1.4483,
"ER_per_IP": 0.2069,
"H_per_IP": 0.62069,
"BB_per_IP": 0.82759,
"SO_per_IP": 1.34483,
"HR_per_IP": 0.0
}
},
"season": {
"games": 26,
"totals": {
"IP": 24.1,
"ER": 6.0,
"R": 6.0,
"H": 15.0,
"BB": 11.0,
"SO": 29.0,
"HR": 1.0,
"BF": 99.0,
"Pitches": 408.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2308,
"R": 0.2308,
"H": 0.5769,
"BB": 0.4231,
"SO": 1.1154,
"HR": 0.0385,
"BF": 3.8077,
"Pitches": 15.6923
},
"rates": {
"ERA": 2.2192,
"WHIP": 1.0685,
"ER_per_IP": 0.24658,
"H_per_IP": 0.61644,
"BB_per_IP": 0.45205,
"SO_per_IP": 1.19178,
"HR_per_IP": 0.0411
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.303,
"predicted_H": 0.74,
"predicted_BB": 0.506,
"predicted_SO": 1.092,
"predicted_HR": 0.072,
"predicted_ERA": 2.7239,
"predicted_WHIP": 1.2461
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5655,
"form_weight": 0.4345,
"form_reliability": 0.4899,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.802,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4899,
"prior_weight": 0.5101
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.303,
"final": 0.1316,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.74,
"final": 0.3215,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.506,
"final": 0.2198,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.092,
"final": 0.4745,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.072,
"final": 0.0313,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7239,
"final": 2.7239,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2461,
"final": 1.2461,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Kevin Kelly |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0268 |
| ESPN Rank | 125 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0420 |
| Avg Velo | 88.9454 |
| Avg Spin | 2044.0888 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.6667 |
| Season WHIP | 0.8148 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 64,
"wins": 39,
"losses": 25,
"win_pct": 0.6094,
"runs_scored": 279.0,
"runs_allowed": 270.0,
"run_differential": 9.0,
"run_differential_per_game": 0.1406,
"avg_runs_scored": 4.3594,
"avg_runs_allowed": 4.2188,
"offense_index": 0.9803,
"defense_index": 1.0541,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.4,
"run_differential": -19.0
},
"available": true,
"quality_score": 0.0754
},
"opponent": {
"team": "DET",
"games": 66,
"wins": 24,
"losses": 42,
"win_pct": 0.3636,
"runs_scored": 247.0,
"runs_allowed": 284.0,
"run_differential": -37.0,
"run_differential_per_game": -0.5606,
"avg_runs_scored": 3.7424,
"avg_runs_allowed": 4.303,
"offense_index": 0.8416,
"defense_index": 1.0334,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 4.3,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.2903
},
"edges": {
"quality_edge": 0.3657,
"offense_edge": -0.0197,
"opponent_offense_edge": -0.1584,
"defense_strength": 0.0541,
"opponent_defense_weakness": -0.0334,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0226,
"run_prevention": 0.951,
"strikeout": 1.0236
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687330",
"profile": {
"available": true,
"pitcher_id": "687330",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 86.0,
"k_percent": 19.6,
"bb_percent": 5.4,
"woba": 0.217,
"xwoba": 0.298,
"sweet_spot_percent": 29.4,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 44.1,
"avg_best_speed": 80.2419,
"avg_hyper_speed": 94.8676,
"whiff_percent": 20.0,
"swing_percent": 47.8
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.3904,
"command_and_miss": -0.2879,
"regression_edge": -2.0,
"xwoba_edge": 0.4,
"barrel_edge": -0.4222,
"hard_hit_edge": -0.7857,
"whiff_edge": -0.8286,
"bb_edge": 0.975,
"pitch_design_score": -0.042
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687330",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 88.94537534331532,
"release_spin_rate": 2044.08881620329,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 88.94537534331532,
"release_spin_rate": 2044.08881620329,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9454,
"release_spin_rate": 2044.0888,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.042,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2999,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0268,
"sample_weight": 0.45,
"run_prevention_factor": 1.0023,
"strikeout_factor": 0.9774,
"walk_factor": 0.9649,
"homer_factor": 1.0239,
"woba_minus_xwoba": -0.081,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "687330",
"espn_id": 5001153,
"player_name": "Kevin Kelly",
"team": "TB",
"role": "pitcher",
"espn_rank": 125,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 125,
"gp_value": 26.0,
"gp_rank": 31,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.6666,
"era_rank": null,
"w_value": 3.0,
"w_rank": 74,
"l_value": 2.0,
"l_rank": 140,
"sv_value": 2.0,
"sv_rank": 50,
"hld_value": 12.0,
"hld_rank": 3,
"ip_value": 27.0,
"ip_rank": 204,
"h_value": 17.0,
"h_rank": 311,
"er_value": 8.0,
"er_rank": 322,
"hr_value": 2.0,
"hr_rank": 258,
"bb_value": 5.0,
"bb_rank": 423,
"k_value": 19.0,
"k_rank": 309,
"k_per_9_value": 6.3333335,
"k_per_9_rank": 40,
"whip_value": 0.8148,
"whip_rank": null,
"war_value": 0.69,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.001,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.001,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9842,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0108,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9898,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 2,
"H": 7,
"BB": 1,
"SO": 6,
"HR": 1,
"ERA": 1.7419354838709677,
"WHIP": 0.7741935483870968,
"K9": 5.225806451612903,
"HR9": 0.8709677419354839,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-31T00:00:00"
}{
"available": true,
"pitcher_id": "687330",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 88.94537534331532,
"release_spin_rate": 2044.08881620329,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 88.94537534331532,
"release_spin_rate": 2044.08881620329,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9454,
"release_spin_rate": 2044.0888,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.042,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2999,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.329,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5159,
"prior_weight": 0.4841
},
"role": "pitcher",
"player_id": "687330",
"report_date": "20260601_D",
"season_year": 2026,
"rows_used": 26,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 1.0,
"SO": 2.0,
"HR": 1.0,
"BF": 18.0,
"Pitches": 62.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.2,
"SO": 0.4,
"HR": 0.2,
"BF": 3.6,
"Pitches": 12.4
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.2857,
"ER_per_IP": 0.42857,
"H_per_IP": 1.07143,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.42857,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 1.0,
"SO": 6.0,
"HR": 1.0,
"BF": 34.0,
"Pitches": 135.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.7,
"BB": 0.1,
"SO": 0.6,
"HR": 0.1,
"BF": 3.4,
"Pitches": 13.5
},
"rates": {
"ERA": 1.7419,
"WHIP": 0.7742,
"ER_per_IP": 0.19355,
"H_per_IP": 0.67742,
"BB_per_IP": 0.09677,
"SO_per_IP": 0.58065,
"HR_per_IP": 0.09677
}
},
"season": {
"games": 26,
"totals": {
"IP": 27.0,
"ER": 8.0,
"R": 10.0,
"H": 17.0,
"BB": 5.0,
"SO": 19.0,
"HR": 2.0,
"BF": 98.0,
"Pitches": 379.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3077,
"R": 0.3846,
"H": 0.6538,
"BB": 0.1923,
"SO": 0.7308,
"HR": 0.0769,
"BF": 3.7692,
"Pitches": 14.5769
},
"rates": {
"ERA": 2.6667,
"WHIP": 0.8148,
"ER_per_IP": 0.2963,
"H_per_IP": 0.62963,
"BB_per_IP": 0.18519,
"SO_per_IP": 0.7037,
"HR_per_IP": 0.07407
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.396,
"predicted_H": 0.896,
"predicted_BB": 0.265,
"predicted_SO": 0.732,
"predicted_HR": 0.14,
"predicted_ERA": 3.5608,
"predicted_WHIP": 1.1607
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5545,
"form_weight": 0.4455,
"form_reliability": 0.5159,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.329,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5159,
"prior_weight": 0.4841
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.396,
"final": 0.1764,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.896,
"final": 0.3991,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.265,
"final": 0.118,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.732,
"final": 0.8806,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.14,
"final": 0.0624,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5608,
"final": 3.5608,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1607,
"final": 1.1607,
"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 Cleavinger |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0062 |
| ESPN Rank | 356 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0341 |
| Avg Velo | 89.0864 |
| Avg Spin | 2548.5208 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 3.9706 |
| Season WHIP | 1.5000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 64,
"wins": 39,
"losses": 25,
"win_pct": 0.6094,
"runs_scored": 279.0,
"runs_allowed": 270.0,
"run_differential": 9.0,
"run_differential_per_game": 0.1406,
"avg_runs_scored": 4.3594,
"avg_runs_allowed": 4.2188,
"offense_index": 0.9803,
"defense_index": 1.0541,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.4,
"run_differential": -19.0
},
"available": true,
"quality_score": 0.0754
},
"opponent": {
"team": "DET",
"games": 66,
"wins": 24,
"losses": 42,
"win_pct": 0.3636,
"runs_scored": 247.0,
"runs_allowed": 284.0,
"run_differential": -37.0,
"run_differential_per_game": -0.5606,
"avg_runs_scored": 3.7424,
"avg_runs_allowed": 4.303,
"offense_index": 0.8416,
"defense_index": 1.0334,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 4.3,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.2903
},
"edges": {
"quality_edge": 0.3657,
"offense_edge": -0.0197,
"opponent_offense_edge": -0.1584,
"defense_strength": 0.0541,
"opponent_defense_weakness": -0.0334,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0226,
"run_prevention": 0.951,
"strikeout": 1.0236
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "664076",
"profile": {
"available": true,
"pitcher_id": "664076",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 47.0,
"k_percent": 31.4,
"bb_percent": 11.8,
"woba": 0.329,
"xwoba": 0.308,
"sweet_spot_percent": 39.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 50.0,
"avg_best_speed": 75.687,
"avg_hyper_speed": 94.6417,
"whiff_percent": 23.9,
"swing_percent": 49.7
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.2381,
"command_and_miss": 0.3457,
"regression_edge": 0.6,
"xwoba_edge": 0.1143,
"barrel_edge": 0.0222,
"hard_hit_edge": -1.6286,
"whiff_edge": -0.2714,
"bb_edge": -0.625,
"pitch_design_score": -0.0341
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "664076",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 89.08640448916356,
"release_spin_rate": 2548.520781808771,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 89.08640448916356,
"release_spin_rate": 2548.520781808771,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0864,
"release_spin_rate": 2548.5208,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0341,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2435,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0062,
"sample_weight": 0.45,
"run_prevention_factor": 0.9995,
"strikeout_factor": 1.0177,
"walk_factor": 1.0225,
"homer_factor": 1.027,
"woba_minus_xwoba": 0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664076",
"espn_id": 36429,
"player_name": "Garrett Cleavinger",
"team": "TB",
"role": "pitcher",
"espn_rank": 356,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 356,
"gp_value": 13.0,
"gp_rank": 213,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 3.9705,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 7.0,
"hld_rank": 33,
"ip_value": 11.1,
"ip_rank": 430,
"h_value": 11.0,
"h_rank": 417,
"er_value": 5.0,
"er_rank": 432,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 6.0,
"bb_rank": 379,
"k_value": 16.0,
"k_rank": 345,
"k_per_9_value": 12.705883,
"k_per_9_rank": 21,
"whip_value": 1.5,
"whip_rank": null,
"war_value": 0.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9998,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9998,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0101,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0121,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.008,
"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": 8,
"BB": 2,
"SO": 13,
"HR": 1,
"ERA": 3.0,
"WHIP": 1.1111111111111112,
"K9": 13.0,
"HR9": 1.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-30T00:00:00"
}{
"available": true,
"pitcher_id": "664076",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 89.08640448916356,
"release_spin_rate": 2548.520781808771,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 89.08640448916356,
"release_spin_rate": 2548.520781808771,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0864,
"release_spin_rate": 2548.5208,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0341,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2435,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.237,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3091,
"prior_weight": 0.6909
},
"role": "pitcher",
"player_id": "664076",
"report_date": "20260601_D",
"season_year": 2026,
"rows_used": 13,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 1.0,
"SO": 7.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 69.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.2,
"SO": 1.4,
"HR": 0.2,
"BF": 4.2,
"Pitches": 13.8
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.2857,
"ER_per_IP": 0.42857,
"H_per_IP": 1.07143,
"BB_per_IP": 0.21429,
"SO_per_IP": 1.5,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 3.0,
"R": 4.0,
"H": 8.0,
"BB": 2.0,
"SO": 13.0,
"HR": 1.0,
"BF": 37.0,
"Pitches": 137.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 0.8,
"BB": 0.2,
"SO": 1.3,
"HR": 0.1,
"BF": 3.7,
"Pitches": 13.7
},
"rates": {
"ERA": 3.0,
"WHIP": 1.1111,
"ER_per_IP": 0.33333,
"H_per_IP": 0.88889,
"BB_per_IP": 0.22222,
"SO_per_IP": 1.44444,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 13,
"totals": {
"IP": 11.1,
"ER": 5.0,
"R": 6.0,
"H": 11.0,
"BB": 6.0,
"SO": 16.0,
"HR": 1.0,
"BF": 51.0,
"Pitches": 185.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3846,
"R": 0.4615,
"H": 0.8462,
"BB": 0.4615,
"SO": 1.2308,
"HR": 0.0769,
"BF": 3.9231,
"Pitches": 14.2308
},
"rates": {
"ERA": 3.9706,
"WHIP": 1.5,
"ER_per_IP": 0.44118,
"H_per_IP": 0.97059,
"BB_per_IP": 0.52941,
"SO_per_IP": 1.41176,
"HR_per_IP": 0.08824
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.348,
"predicted_H": 0.74,
"predicted_BB": 0.263,
"predicted_SO": 0.848,
"predicted_HR": 0.108,
"predicted_ERA": 4.0689,
"predicted_WHIP": 1.3028
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6419,
"form_weight": 0.3581,
"form_reliability": 0.3091,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.237,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3091,
"prior_weight": 0.6909
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.348,
"final": 0.1246,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.74,
"final": 0.9069,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.263,
"final": 0.0942,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.848,
"final": 1.5875,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.108,
"final": 0.0387,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.0689,
"final": 4.0689,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3028,
"final": 1.3028,
"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 | Casey Legumina |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.2253 |
| ESPN Rank | 257 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0234 |
| Avg Velo | 89.2780 |
| Avg Spin | 2388.6040 |
| 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.6986 |
| Season WHIP | 1.4384 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 64,
"wins": 39,
"losses": 25,
"win_pct": 0.6094,
"runs_scored": 279.0,
"runs_allowed": 270.0,
"run_differential": 9.0,
"run_differential_per_game": 0.1406,
"avg_runs_scored": 4.3594,
"avg_runs_allowed": 4.2188,
"offense_index": 0.9803,
"defense_index": 1.0541,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 5.4,
"run_differential": -19.0
},
"available": true,
"quality_score": 0.0754
},
"opponent": {
"team": "DET",
"games": 66,
"wins": 24,
"losses": 42,
"win_pct": 0.3636,
"runs_scored": 247.0,
"runs_allowed": 284.0,
"run_differential": -37.0,
"run_differential_per_game": -0.5606,
"avg_runs_scored": 3.7424,
"avg_runs_allowed": 4.303,
"offense_index": 0.8416,
"defense_index": 1.0334,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 4.3,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.2903
},
"edges": {
"quality_edge": 0.3657,
"offense_edge": -0.0197,
"opponent_offense_edge": -0.1584,
"defense_strength": 0.0541,
"opponent_defense_weakness": -0.0334,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0226,
"run_prevention": 0.951,
"strikeout": 1.0236
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668984",
"profile": {
"available": true,
"pitcher_id": "668984",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 89.0,
"k_percent": 15.2,
"bb_percent": 6.1,
"woba": 0.352,
"xwoba": 0.342,
"sweet_spot_percent": 40.0,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 39.4,
"avg_best_speed": 77.936,
"avg_hyper_speed": 93.7071,
"whiff_percent": 20.6,
"swing_percent": 48.5
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.6743,
"command_and_miss": -0.5757,
"regression_edge": 0.2857,
"xwoba_edge": -0.8571,
"barrel_edge": -0.2889,
"hard_hit_edge": -0.1143,
"whiff_edge": -0.7429,
"bb_edge": 0.8,
"pitch_design_score": -0.0234
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "668984",
"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.27799641691462,
"release_spin_rate": 2388.6039948834004,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.27799641691462,
"release_spin_rate": 2388.6039948834004,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.278,
"release_spin_rate": 2388.604,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0234,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1669,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2253,
"sample_weight": 0.45,
"run_prevention_factor": 1.0191,
"strikeout_factor": 0.9676,
"walk_factor": 0.9712,
"homer_factor": 1.024,
"woba_minus_xwoba": 0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668984",
"espn_id": 4346117,
"player_name": "Casey Legumina",
"team": "TB",
"role": "pitcher",
"espn_rank": 257,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 257,
"gp_value": 18.0,
"gp_rank": 155,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 3.6986,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 2.0,
"hld_rank": 154,
"ip_value": 24.1,
"ip_rank": 255,
"h_value": 29.0,
"h_rank": 160,
"er_value": 10.0,
"er_rank": 258,
"hr_value": 2.0,
"hr_rank": 258,
"bb_value": 6.0,
"bb_rank": 379,
"k_value": 16.0,
"k_rank": 345,
"k_per_9_value": 5.9178085,
"k_per_9_rank": 36,
"whip_value": 1.4383,
"whip_rank": null,
"war_value": 0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0086,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0086,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.987,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0108,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9854,
"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": 4,
"H": 14,
"BB": 3,
"SO": 7,
"HR": 2,
"ERA": 2.8421052631578947,
"WHIP": 1.3421052631578947,
"K9": 4.973684210526315,
"HR9": 1.4210526315789473,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-31T00:00:00"
}{
"available": true,
"pitcher_id": "668984",
"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.27799641691462,
"release_spin_rate": 2388.6039948834004,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.27799641691462,
"release_spin_rate": 2388.6039948834004,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.278,
"release_spin_rate": 2388.604,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0234,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1669,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.802,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4899,
"prior_weight": 0.5101
},
"role": "pitcher",
"player_id": "668984",
"report_date": "20260601_D",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.1,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 1.0,
"SO": 4.0,
"HR": 2.0,
"BF": 28.0,
"Pitches": 95.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.4,
"H": 1.2,
"BB": 0.2,
"SO": 0.8,
"HR": 0.4,
"BF": 5.6,
"Pitches": 19.0
},
"rates": {
"ERA": 2.4545,
"WHIP": 0.9545,
"ER_per_IP": 0.27273,
"H_per_IP": 0.81818,
"BB_per_IP": 0.13636,
"SO_per_IP": 0.54545,
"HR_per_IP": 0.27273
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.2,
"ER": 4.0,
"R": 4.0,
"H": 14.0,
"BB": 3.0,
"SO": 7.0,
"HR": 2.0,
"BF": 53.0,
"Pitches": 183.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.4,
"H": 1.4,
"BB": 0.3,
"SO": 0.7,
"HR": 0.2,
"BF": 5.3,
"Pitches": 18.3
},
"rates": {
"ERA": 2.8421,
"WHIP": 1.3421,
"ER_per_IP": 0.31579,
"H_per_IP": 1.10526,
"BB_per_IP": 0.23684,
"SO_per_IP": 0.55263,
"HR_per_IP": 0.15789
}
},
"season": {
"games": 18,
"totals": {
"IP": 24.1,
"ER": 10.0,
"R": 10.0,
"H": 29.0,
"BB": 6.0,
"SO": 16.0,
"HR": 2.0,
"BF": 106.0,
"Pitches": 390.0
},
"per_game": {
"IP": 1.1,
"ER": 0.5556,
"R": 0.5556,
"H": 1.6111,
"BB": 0.3333,
"SO": 0.8889,
"HR": 0.1111,
"BF": 5.8889,
"Pitches": 21.6667
},
"rates": {
"ERA": 3.6986,
"WHIP": 1.4384,
"ER_per_IP": 0.41096,
"H_per_IP": 1.19178,
"BB_per_IP": 0.24658,
"SO_per_IP": 0.65753,
"HR_per_IP": 0.08219
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.327,
"predicted_H": 0.8,
"predicted_BB": 0.233,
"predicted_SO": 0.625,
"predicted_HR": 0.135,
"predicted_ERA": 3.578,
"predicted_WHIP": 1.2541
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5655,
"form_weight": 0.4345,
"form_reliability": 0.4899,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.802,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4899,
"prior_weight": 0.5101
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.327,
"final": 0.1421,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.8,
"final": 0.3476,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.233,
"final": 0.1012,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.625,
"final": 0.8371,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.135,
"final": 0.0587,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.578,
"final": 3.578,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2541,
"final": 1.2541,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.085 | 0.000 | 0.000 | Hitting_2B | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_3B | 0.009 | 0.000 | 0.000 | Hitting_3B | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_AB | 3.094 | 3.000 | 5.000 | Hitting_AB | 3.017 | 3.000 | -0.017 | 0.000 |
| predicted_AVG | 0.248 | 0.000 | 0.200 | Hitting_AVG | 0.276 | 0.000 | -0.276 | 0.000 |
| predicted_BB | 0.479 | 1.000 | 1.000 | Hitting_BB | 0.467 | 2.000 | 0.533 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_H | 0.280 | 0.000 | 1.000 | Hitting_H | 0.833 | 0.000 | -0.833 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_OBP | 0.321 | 0.250 | 0.333 | Hitting_OBP | 0.385 | 0.400 | -0.135 | -0.150 |
| predicted_R | 0.402 | 0.000 | 1.000 | Hitting_R | 0.408 | 1.000 | -0.408 | -1.000 |
| predicted_RBI | 0.200 | 0.000 | 1.000 | Hitting_RBI | 0.483 | 0.000 | -0.483 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.192 | 0.000 | -0.192 | 0.000 |
| predicted_SLG | 0.349 | 0.000 | 0.200 | Hitting_SLG | 0.343 | 0.000 | -0.343 | 0.000 |
| predicted_SO | 0.821 | 0.000 | 1.000 | Hitting_SO | 0.800 | 1.000 | -0.800 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.4790 -> 1.0000 (boost 0.5210, better) |
| Biggest Deboost | predicted_SO: 0.8210 -> 0.0000 (deboost -0.8210, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 8 | 7 | 1 | 6 | 2 | predicted_AB: 3.0940 -> 5.4087 (boost 2.3147, better) | predicted_SLG: 0.3490 -> 0.3435 (deboost -0.0055, 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.3435 -> 0.2802 (deboost -0.0633, 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_RBI: 0.6596 -> 1.0000 (boost 0.3404, better) | predicted_AB: 5.4087 -> 5.0000 (deboost -0.4087, worse) | AB rounded to 5 (raw=5.41), rates preserved: AVG=0.207 HR/AB=0.010 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6974 -> 1.0000 (boost 0.3026, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3103 -> 0.3330 (boost 0.0227, better) | predicted_SLG: 0.2802 -> 0.2000 (deboost -0.0802, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2000 -> 0.2802 (boost 0.0802, better) | predicted_OBP: 0.3330 -> 0.3103 (deboost -0.0227, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680700",
"player_name": "Richie Palacios",
"position": "2B",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.085,
"predicted_3B": 0.009,
"predicted_AB": 3.094,
"predicted_AVG": 0.248,
"predicted_BB": 0.479,
"predicted_H": 0.28,
"predicted_HR": 0.03,
"predicted_OBP": 0.321,
"predicted_R": 0.402,
"predicted_RBI": 0.2,
"predicted_SLG": 0.349,
"predicted_SO": 0.821
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1307,
"predicted_3B": 0.0508,
"predicted_AB": 5.4087,
"predicted_AVG": 0.2527,
"predicted_BB": 0.7996,
"predicted_H": 1.1036,
"predicted_HBP": 0.169,
"predicted_HR": 0.0533,
"predicted_OBP": 0.3381,
"predicted_R": 0.6757,
"predicted_RBI": 0.6391,
"predicted_SLG": 0.3435,
"predicted_SO": 1.3476
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.085,
"after": 0.1307,
"delta": 0.0457,
"percent_delta": 0.5376,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.009,
"after": 0.0508,
"delta": 0.0418,
"percent_delta": 4.6444,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.094,
"after": 5.4087,
"delta": 2.3147,
"percent_delta": 0.7481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2527,
"delta": 0.0047,
"percent_delta": 0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.479,
"after": 0.7996,
"delta": 0.3206,
"percent_delta": 0.6693,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.28,
"after": 1.1036,
"delta": 0.8236,
"percent_delta": 2.9414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0533,
"delta": 0.0233,
"percent_delta": 0.7767,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3381,
"delta": 0.0171,
"percent_delta": 0.0533,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.402,
"after": 0.6757,
"delta": 0.2737,
"percent_delta": 0.6808,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2,
"after": 0.6391,
"delta": 0.4391,
"percent_delta": 2.1955,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.349,
"after": 0.3435,
"delta": -0.0055,
"percent_delta": -0.0158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.821,
"after": 1.3476,
"delta": 0.5266,
"percent_delta": 0.6414,
"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.094,
"after": 5.4087,
"delta": 2.3147,
"percent_delta": 0.7481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.349,
"after": 0.3435,
"delta": -0.0055,
"percent_delta": -0.0158,
"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": 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.1307,
"predicted_3B": 0.0508,
"predicted_AB": 5.4087,
"predicted_AVG": 0.2073,
"predicted_BB": 0.8078,
"predicted_H": 1.1213,
"predicted_HBP": 0.169,
"predicted_HR": 0.054,
"predicted_OBP": 0.3103,
"predicted_R": 0.6974,
"predicted_RBI": 0.6596,
"predicted_SLG": 0.2802,
"predicted_SO": 1.3339
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1307,
"after": 0.1307,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0508,
"after": 0.0508,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.4087,
"after": 5.4087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2527,
"after": 0.2073,
"delta": -0.0454,
"percent_delta": -0.1797,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7996,
"after": 0.8078,
"delta": 0.0082,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1036,
"after": 1.1213,
"delta": 0.0177,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.169,
"after": 0.169,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0533,
"after": 0.054,
"delta": 0.0007,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3381,
"after": 0.3103,
"delta": -0.0278,
"percent_delta": -0.0822,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6757,
"after": 0.6974,
"delta": 0.0217,
"percent_delta": 0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6391,
"after": 0.6596,
"delta": 0.0205,
"percent_delta": 0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3435,
"after": 0.2802,
"delta": -0.0633,
"percent_delta": -0.1843,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3476,
"after": 1.3339,
"delta": -0.0137,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3435,
"after": 0.2802,
"delta": -0.0633,
"percent_delta": -0.1843,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.41), rates preserved: AVG=0.207 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1307,
"after": 0.0,
"delta": -0.1307,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0508,
"after": 0.0,
"delta": -0.0508,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 5.4087,
"after": 5.0,
"delta": -0.4087,
"percent_delta": -0.0756,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8078,
"after": 1.0,
"delta": 0.1922,
"percent_delta": 0.2379,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1213,
"after": 1.0,
"delta": -0.1213,
"percent_delta": -0.1082,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.169,
"after": 0.0,
"delta": -0.169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.054,
"after": 0.0,
"delta": -0.054,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6596,
"after": 1.0,
"delta": 0.3404,
"percent_delta": 0.5161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3339,
"after": 1.0,
"delta": -0.3339,
"percent_delta": -0.2503,
"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_RBI",
"before": 0.6596,
"after": 1.0,
"delta": 0.3404,
"percent_delta": 0.5161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.4087,
"after": 5.0,
"delta": -0.4087,
"percent_delta": -0.0756,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6974,
"after": 1.0,
"delta": 0.3026,
"percent_delta": 0.4339,
"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.6974,
"after": 1.0,
"delta": 0.3026,
"percent_delta": 0.4339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2073,
"after": 0.2,
"delta": -0.0073,
"percent_delta": -0.0352,
"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.3103,
"after": 0.333,
"delta": 0.0227,
"percent_delta": 0.0732,
"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.2802,
"after": 0.2,
"delta": -0.0802,
"percent_delta": -0.2862,
"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.3103,
"after": 0.333,
"delta": 0.0227,
"percent_delta": 0.0732,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2802,
"after": 0.2,
"delta": -0.0802,
"percent_delta": -0.2862,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2073,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3103,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2802,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.2073,
"delta": 0.0073,
"percent_delta": 0.0365,
"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.3103,
"delta": -0.0227,
"percent_delta": -0.0681,
"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.2802,
"delta": 0.0802,
"percent_delta": 0.401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.2802,
"delta": 0.0802,
"percent_delta": 0.401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3103,
"delta": -0.0227,
"percent_delta": -0.0681,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.085,
"after": 0.0,
"delta": -0.085,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.094,
"after": 3.0,
"delta": -0.094,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2073,
"delta": -0.0407,
"percent_delta": -0.1641,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.479,
"after": 1.0,
"delta": 0.521,
"percent_delta": 1.0877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"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.321,
"after": 0.3103,
"delta": -0.0107,
"percent_delta": -0.0333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.402,
"after": 0.0,
"delta": -0.402,
"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.349,
"after": 0.2802,
"delta": -0.0688,
"percent_delta": -0.1971,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.821,
"after": 0.0,
"delta": -0.821,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.479,
"after": 1.0,
"delta": 0.521,
"percent_delta": 1.0877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.821,
"after": 0.0,
"delta": -0.821,
"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.085 | - |
| predicted_3B | 0.009 | - |
| predicted_AB | 3.094 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.479 | - |
| predicted_H | 0.280 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.402 | - |
| predicted_RBI | 0.200 | - |
| predicted_SLG | 0.349 | - |
| predicted_SO | 0.821 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.131 | 0.046 |
| predicted_3B | 0.051 | 0.042 |
| predicted_AB | 5.409 | 2.315 |
| predicted_AVG | 0.253 | 0.005 |
| predicted_BB | 0.800 | 0.321 |
| predicted_H | 1.104 | 0.824 |
| predicted_HBP | 0.169 | - |
| predicted_HR | 0.053 | 0.023 |
| predicted_OBP | 0.338 | 0.017 |
| predicted_R | 0.676 | 0.274 |
| predicted_RBI | 0.639 | 0.439 |
| predicted_SLG | 0.344 | -0.005 |
| predicted_SO | 1.348 | 0.527 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.131 | 0.000 |
| predicted_3B | 0.051 | 0.000 |
| predicted_AB | 5.409 | 0.000 |
| predicted_AVG | 0.207 | -0.045 |
| predicted_BB | 0.808 | 0.008 |
| predicted_H | 1.121 | 0.018 |
| predicted_HBP | 0.169 | 0.000 |
| predicted_HR | 0.054 | 0.001 |
| predicted_OBP | 0.310 | -0.028 |
| predicted_R | 0.697 | 0.022 |
| predicted_RBI | 0.660 | 0.020 |
| predicted_SLG | 0.280 | -0.063 |
| predicted_SO | 1.334 | -0.014 |
AB rounded to 5 (raw=5.41), rates preserved: AVG=0.207 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 | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.131 |
| predicted_3B | 0.000 | -0.051 |
| predicted_AB | 5.000 | -0.409 |
| predicted_AVG | 0.200 | -0.007 |
| predicted_BB | 1.000 | 0.192 |
| predicted_H | 1.000 | -0.121 |
| predicted_HR | 0.000 | -0.054 |
| predicted_OBP | 0.333 | 0.023 |
| predicted_R | 1.000 | 0.303 |
| predicted_RBI | 1.000 | 0.340 |
| predicted_SLG | 0.200 | -0.080 |
| predicted_SO | 1.000 | -0.334 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -2.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 3 | - | 18.000 | 4.000 | 0.000 | 1.000 | 0.000 | 2.000 | 2.000 | 3.000 | 3.000 | 0.2222 | 0.3333 | 0.3333 | 0.2222 | 0.0000 | 0.1111 | 0.1667 | 0.1667 |
| last_10 | 0.20 | 5 | - | 37.000 | 7.000 | 0.000 | 1.000 | 0.000 | 3.000 | 3.000 | 3.000 | 7.000 | 0.1892 | 0.2500 | 0.2432 | 0.1892 | 0.0000 | 0.0811 | 0.0811 | 0.1892 |
| season | 0.60 | 38 | - | 362.000 | 100.000 | 10.000 | 1.000 | 4.000 | 58.000 | 47.000 | 56.000 | 96.000 | 0.2762 | 0.3852 | 0.3425 | 0.2762 | 0.0111 | 0.1602 | 0.1547 | 0.2652 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1910 |
| predicted_3B | 0.1060 |
| predicted_AB | 8.4650 |
| predicted_AVG | 0.2588 |
| predicted_BB | 1.2230 |
| predicted_H | 2.1910 |
| predicted_HBP | 0.1690 |
| predicted_HR | 0.0840 |
| predicted_OBP | 0.3606 |
| predicted_R | 1.0370 |
| predicted_RBI | 1.2190 |
| predicted_SLG | 0.3362 |
| predicted_SO | 2.0430 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0850 | 0.1910 | 0.1307 | model_form_blend |
| predicted_3B | 0.0090 | 0.1060 | 0.0508 | model_form_blend |
| predicted_AB | 3.0940 | 8.4650 | 5.4087 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2588 | 0.2527 | model_form_blend |
| predicted_BB | 0.4790 | 1.2230 | 0.7996 | model_form_blend |
| predicted_H | 0.2800 | 2.1910 | 1.1036 | model_form_blend |
| predicted_HBP | - | 0.1690 | 0.1690 | form_only |
| predicted_HR | 0.0300 | 0.0840 | 0.0533 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3606 | 0.3381 | model_form_blend |
| predicted_R | 0.4020 | 1.0370 | 0.6757 | model_form_blend |
| predicted_RBI | 0.2000 | 1.2190 | 0.6391 | model_form_blend |
| predicted_SLG | 0.3490 | 0.3362 | 0.3435 | model_form_blend |
| predicted_SO | 0.8210 | 2.0430 | 1.3476 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 120 |
| Season rows before report date | 120 |
| Report year | 2026 |
| Profile rows used | 117 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 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 | 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 | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 2B |
| gameID | 20260531_LAA@TB |
| game_type | full |
| mlbID | 680700 |
| playerID | 680700 |
| playerName | Richie Palacios |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | TB |
| teamID | 27 |
| game_date | 2026-05-31 |
| sl_k_percent | 22.1 |
| sl_bb_percent | 12.3 |
| sl_woba | 0.328 |
| sl_xwoba | 0.307 |
| sl_xba | 0.233 |
| sl_xslg | 0.317 |
| sl_sweet_spot_percent | 35.1 |
| sl_barrel_batted_rate | 3.9 |
| sl_hard_hit_percent | 27.3 |
| sl_exit_velocity_avg | 87.3 |
| sl_launch_angle_avg | 10.8 |
| sl_whiff_percent | 23.5 |
| sl_swing_percent | 43.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.186 | 0.000 | 0.000 | Hitting_2B | 0.186 | 0.000 | -0.186 | 0.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_AB | 4.360 | 3.000 | 8.000 | Hitting_AB | 3.919 | 4.000 | -0.919 | -1.000 |
| predicted_AVG | 0.256 | 0.000 | 0.250 | Hitting_AVG | 0.316 | 0.000 | -0.316 | 0.000 |
| predicted_BB | 0.389 | 1.000 | 1.000 | Hitting_BB | 0.389 | 1.000 | 0.611 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.120 | 0.000 | 2.000 | Hitting_H | 1.240 | 0.000 | -1.240 | 0.000 |
| predicted_HR | 0.250 | 0.000 | 1.000 | Hitting_HR | 0.149 | 0.000 | -0.149 | 0.000 |
| predicted_OBP | 0.371 | 0.250 | 0.333 | Hitting_OBP | 0.396 | 0.200 | -0.146 | 0.050 |
| predicted_R | 0.566 | 0.000 | 1.000 | Hitting_R | 0.566 | 0.000 | -0.566 | 0.000 |
| predicted_RBI | 0.780 | 0.000 | 2.000 | Hitting_RBI | 0.706 | 1.000 | -0.706 | -1.000 |
| predicted_SLG | 0.523 | 0.000 | 0.625 | Hitting_SLG | 0.492 | 0.000 | -0.492 | 0.000 |
| predicted_SO | 0.561 | 0.000 | 1.000 | Hitting_SO | 0.561 | 0.000 | -0.561 | 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.3890 -> 1.0000 (boost 0.6110, better) |
| Biggest Deboost | predicted_AB: 4.3600 -> 3.0000 (deboost -1.3600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.3600 -> 8.1944 (boost 3.8344, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 3 | 1 | 3 | 1 | predicted_RBI: 1.6293 -> 1.6816 (boost 0.0523, better) | predicted_OBP: 0.3880 -> 0.3816 (deboost -0.0064, 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_HR: 0.5620 -> 1.0000 (boost 0.4380, better) | predicted_SO: 1.4313 -> 1.0000 (deboost -0.4313, better) | AB rounded to 8 (raw=8.19), rates preserved: AVG=0.293 HR/AB=0.069 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3168 -> 1.0000 (deboost -0.3168, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.5475 -> 0.6250 (boost 0.0775, better) | predicted_OBP: 0.3816 -> 0.3330 (deboost -0.0486, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 8.0000 -> 3.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3330 -> 0.3816 (boost 0.0486, better) | predicted_SLG: 0.6250 -> 0.5475 (deboost -0.0775, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "650490",
"player_name": "Yandy Díaz",
"position": "DH",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.186,
"predicted_3B": 0.027,
"predicted_AB": 4.36,
"predicted_AVG": 0.256,
"predicted_BB": 0.389,
"predicted_H": 1.12,
"predicted_HR": 0.25,
"predicted_OBP": 0.371,
"predicted_R": 0.566,
"predicted_RBI": 0.78,
"predicted_SLG": 0.523,
"predicted_SO": 0.561
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3105,
"predicted_3B": 0.0447,
"predicted_AB": 8.1944,
"predicted_AVG": 0.2761,
"predicted_BB": 1.1637,
"predicted_H": 2.3625,
"predicted_HBP": 0.354,
"predicted_HR": 0.555,
"predicted_OBP": 0.388,
"predicted_R": 1.2758,
"predicted_RBI": 1.6293,
"predicted_SLG": 0.5411,
"predicted_SO": 1.446
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.186,
"after": 0.3105,
"delta": 0.1245,
"percent_delta": 0.6694,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0447,
"delta": 0.0177,
"percent_delta": 0.6556,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.36,
"after": 8.1944,
"delta": 3.8344,
"percent_delta": 0.8794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2761,
"delta": 0.0201,
"percent_delta": 0.0785,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.389,
"after": 1.1637,
"delta": 0.7747,
"percent_delta": 1.9915,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 2.3625,
"delta": 1.2425,
"percent_delta": 1.1094,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.555,
"delta": 0.305,
"percent_delta": 1.22,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.371,
"after": 0.388,
"delta": 0.017,
"percent_delta": 0.0458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.566,
"after": 1.2758,
"delta": 0.7098,
"percent_delta": 1.2541,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.78,
"after": 1.6293,
"delta": 0.8493,
"percent_delta": 1.0888,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.523,
"after": 0.5411,
"delta": 0.0181,
"percent_delta": 0.0346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.561,
"after": 1.446,
"delta": 0.885,
"percent_delta": 1.5775,
"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.36,
"after": 8.1944,
"delta": 3.8344,
"percent_delta": 0.8794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.3105,
"predicted_3B": 0.0447,
"predicted_AB": 8.1944,
"predicted_AVG": 0.2929,
"predicted_BB": 1.1756,
"predicted_H": 2.4003,
"predicted_HBP": 0.354,
"predicted_HR": 0.562,
"predicted_OBP": 0.3816,
"predicted_R": 1.3168,
"predicted_RBI": 1.6816,
"predicted_SLG": 0.5475,
"predicted_SO": 1.4313
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3105,
"after": 0.3105,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0447,
"after": 0.0447,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.1944,
"after": 8.1944,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2761,
"after": 0.2929,
"delta": 0.0168,
"percent_delta": 0.0608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1637,
"after": 1.1756,
"delta": 0.0119,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.3625,
"after": 2.4003,
"delta": 0.0378,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.354,
"after": 0.354,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.555,
"after": 0.562,
"delta": 0.007,
"percent_delta": 0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.388,
"after": 0.3816,
"delta": -0.0064,
"percent_delta": -0.0165,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.2758,
"after": 1.3168,
"delta": 0.041,
"percent_delta": 0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.6293,
"after": 1.6816,
"delta": 0.0523,
"percent_delta": 0.0321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5411,
"after": 0.5475,
"delta": 0.0064,
"percent_delta": 0.0118,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.446,
"after": 1.4313,
"delta": -0.0147,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.6293,
"after": 1.6816,
"delta": 0.0523,
"percent_delta": 0.0321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.388,
"after": 0.3816,
"delta": -0.0064,
"percent_delta": -0.0165,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=8.19), rates preserved: AVG=0.293 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": 2.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3105,
"after": 0.0,
"delta": -0.3105,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0447,
"after": 0.0,
"delta": -0.0447,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.1944,
"after": 8.0,
"delta": -0.1944,
"percent_delta": -0.0237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1756,
"after": 1.0,
"delta": -0.1756,
"percent_delta": -0.1494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.4003,
"after": 2.0,
"delta": -0.4003,
"percent_delta": -0.1668,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.354,
"after": 0.0,
"delta": -0.354,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.562,
"after": 1.0,
"delta": 0.438,
"percent_delta": 0.7794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.6816,
"after": 2.0,
"delta": 0.3184,
"percent_delta": 0.1893,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4313,
"after": 1.0,
"delta": -0.4313,
"percent_delta": -0.3013,
"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.562,
"after": 1.0,
"delta": 0.438,
"percent_delta": 0.7794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.4313,
"after": 1.0,
"delta": -0.4313,
"percent_delta": -0.3013,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 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.3168,
"after": 1.0,
"delta": -0.3168,
"percent_delta": -0.2406,
"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.3168,
"after": 1.0,
"delta": -0.3168,
"percent_delta": -0.2406,
"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": 2.0,
"predicted_SLG": 0.625,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2929,
"after": 0.25,
"delta": -0.0429,
"percent_delta": -0.1465,
"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.3816,
"after": 0.333,
"delta": -0.0486,
"percent_delta": -0.1274,
"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.5475,
"after": 0.625,
"delta": 0.0775,
"percent_delta": 0.1416,
"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.5475,
"after": 0.625,
"delta": 0.0775,
"percent_delta": 0.1416,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3816,
"after": 0.333,
"delta": -0.0486,
"percent_delta": -0.1274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 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": 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.2929,
"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.3816,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5475,
"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.2929,
"delta": 0.0429,
"percent_delta": 0.1717,
"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.3816,
"delta": 0.0486,
"percent_delta": 0.146,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.625,
"after": 0.5475,
"delta": -0.0775,
"percent_delta": -0.124,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3816,
"delta": 0.0486,
"percent_delta": 0.146,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.625,
"after": 0.5475,
"delta": -0.0775,
"percent_delta": -0.124,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.186,
"after": 0.0,
"delta": -0.186,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.36,
"after": 3.0,
"delta": -1.36,
"percent_delta": -0.3119,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2929,
"delta": 0.0369,
"percent_delta": 0.1441,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.389,
"after": 1.0,
"delta": 0.611,
"percent_delta": 1.5707,
"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.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.371,
"after": 0.3816,
"delta": 0.0106,
"percent_delta": 0.0286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.566,
"after": 0.0,
"delta": -0.566,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.78,
"after": 0.0,
"delta": -0.78,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.523,
"after": 0.5475,
"delta": 0.0245,
"percent_delta": 0.0468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.561,
"after": 0.0,
"delta": -0.561,
"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_BB",
"before": 0.389,
"after": 1.0,
"delta": 0.611,
"percent_delta": 1.5707,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.36,
"after": 3.0,
"delta": -1.36,
"percent_delta": -0.3119,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.186 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 4.360 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.389 | - |
| predicted_H | 1.120 | - |
| predicted_HR | 0.250 | - |
| predicted_OBP | 0.371 | - |
| predicted_R | 0.566 | - |
| predicted_RBI | 0.780 | - |
| predicted_SLG | 0.523 | - |
| predicted_SO | 0.561 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.310 | 0.124 |
| predicted_3B | 0.045 | 0.018 |
| predicted_AB | 8.194 | 3.834 |
| predicted_AVG | 0.276 | 0.020 |
| predicted_BB | 1.164 | 0.775 |
| predicted_H | 2.362 | 1.242 |
| predicted_HBP | 0.354 | - |
| predicted_HR | 0.555 | 0.305 |
| predicted_OBP | 0.388 | 0.017 |
| predicted_R | 1.276 | 0.710 |
| predicted_RBI | 1.629 | 0.849 |
| predicted_SLG | 0.541 | 0.018 |
| predicted_SO | 1.446 | 0.885 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.310 | 0.000 |
| predicted_3B | 0.045 | 0.000 |
| predicted_AB | 8.194 | 0.000 |
| predicted_AVG | 0.293 | 0.017 |
| predicted_BB | 1.176 | 0.012 |
| predicted_H | 2.400 | 0.038 |
| predicted_HBP | 0.354 | 0.000 |
| predicted_HR | 0.562 | 0.007 |
| predicted_OBP | 0.382 | -0.006 |
| predicted_R | 1.317 | 0.041 |
| predicted_RBI | 1.682 | 0.052 |
| predicted_SLG | 0.547 | 0.006 |
| predicted_SO | 1.431 | -0.015 |
AB rounded to 8 (raw=8.19), rates preserved: AVG=0.293 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 | 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 | 1.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.310 |
| predicted_3B | 0.000 | -0.045 |
| predicted_AB | 8.000 | -0.194 |
| predicted_AVG | 0.250 | -0.043 |
| predicted_BB | 1.000 | -0.176 |
| predicted_H | 2.000 | -0.400 |
| predicted_HR | 1.000 | 0.438 |
| predicted_OBP | 0.333 | -0.049 |
| predicted_R | 1.000 | -0.317 |
| predicted_RBI | 2.000 | 0.318 |
| predicted_SLG | 0.625 | 0.078 |
| predicted_SO | 1.000 | -0.431 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -5.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 15.000 | 4.000 | 0.000 | 0.000 | 3.000 | 5.000 | 4.000 | 6.000 | 5.000 | 0.2667 | 0.4762 | 0.8667 | 0.2667 | 0.2000 | 0.3333 | 0.4000 | 0.3333 |
| last_10 | 0.20 | 5 | - | 32.000 | 8.000 | 0.000 | 0.000 | 3.000 | 5.000 | 4.000 | 8.000 | 14.000 | 0.2500 | 0.4000 | 0.5312 | 0.2500 | 0.0938 | 0.1562 | 0.2500 | 0.4375 |
| season | 0.60 | 53 | - | 866.000 | 274.000 | 41.000 | 6.000 | 33.000 | 156.000 | 125.000 | 86.000 | 124.000 | 0.3164 | 0.3964 | 0.4919 | 0.3164 | 0.0381 | 0.1801 | 0.0993 | 0.1432 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4680 |
| predicted_3B | 0.0670 |
| predicted_AB | 13.0470 |
| predicted_AVG | 0.3016 |
| predicted_BB | 2.1440 |
| predicted_H | 3.9350 |
| predicted_HBP | 0.3540 |
| predicted_HR | 0.9410 |
| predicted_OBP | 0.4096 |
| predicted_R | 2.1740 |
| predicted_RBI | 2.7040 |
| predicted_SLG | 0.5641 |
| predicted_SO | 2.5660 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1860 | 0.4680 | 0.3105 | model_form_blend |
| predicted_3B | 0.0270 | 0.0670 | 0.0447 | model_form_blend |
| predicted_AB | 4.3600 | 13.0470 | 8.1944 | model_form_blend |
| predicted_AVG | 0.2560 | 0.3016 | 0.2761 | model_form_blend |
| predicted_BB | 0.3890 | 2.1440 | 1.1637 | model_form_blend |
| predicted_H | 1.1200 | 3.9350 | 2.3625 | model_form_blend |
| predicted_HBP | - | 0.3540 | 0.3540 | form_only |
| predicted_HR | 0.2500 | 0.9410 | 0.5550 | model_form_blend |
| predicted_OBP | 0.3710 | 0.4096 | 0.3880 | model_form_blend |
| predicted_R | 0.5660 | 2.1740 | 1.2758 | model_form_blend |
| predicted_RBI | 0.7800 | 2.7040 | 1.6293 | model_form_blend |
| predicted_SLG | 0.5230 | 0.5641 | 0.5411 | model_form_blend |
| predicted_SO | 0.5610 | 2.5660 | 1.4460 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 221 |
| Season rows before report date | 221 |
| Report year | 2026 |
| Profile rows used | 221 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.316 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260531_LAA@TB |
| game_type | full |
| mlbID | 650490 |
| playerID | 650490 |
| playerName | Yandy Díaz |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | TB |
| teamID | 27 |
| game_date | 2026-05-31 |
| sl_k_percent | 13.2 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.405 |
| sl_xwoba | 0.373 |
| sl_xba | 0.291 |
| sl_xslg | 0.486 |
| sl_sweet_spot_percent | 27.6 |
| sl_barrel_batted_rate | 9.5 |
| sl_hard_hit_percent | 45.8 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 5.7 |
| sl_whiff_percent | 14.4 |
| sl_swing_percent | 46.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.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 | 3.980 | 3.000 | 8.000 | Hitting_AB | 3.722 | 4.000 | -0.722 | -1.000 |
| predicted_AVG | 0.273 | 0.000 | 0.375 | Hitting_AVG | 0.291 | 0.250 | -0.291 | -0.250 |
| predicted_BB | 0.604 | 1.000 | 2.000 | Hitting_BB | 0.604 | 1.000 | 0.396 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.090 | 0.000 | 3.000 | Hitting_H | 1.083 | 1.000 | -1.083 | -1.000 |
| predicted_HR | 0.220 | 0.000 | 1.000 | Hitting_HR | 0.191 | 1.000 | -0.191 | -1.000 |
| predicted_OBP | 0.406 | 0.250 | 0.500 | Hitting_OBP | 0.386 | 0.400 | -0.136 | -0.150 |
| predicted_R | 0.600 | 0.000 | 2.000 | Hitting_R | 0.600 | 2.000 | -0.600 | -2.000 |
| predicted_RBI | 0.690 | 0.000 | 2.000 | Hitting_RBI | 0.835 | 1.000 | -0.835 | -1.000 |
| predicted_SLG | 0.519 | 0.000 | 0.750 | Hitting_SLG | 0.491 | 1.000 | -0.491 | -1.000 |
| predicted_SO | 1.057 | 1.000 | 2.000 | Hitting_SO | 1.057 | 1.000 | -0.057 | 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.6040 -> 1.0000 (boost 0.3960, better) |
| Biggest Deboost | predicted_H: 1.0900 -> 0.0000 (deboost -1.0900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.9800 -> 7.6563 (boost 3.6763, 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.3093 -> 0.3369 (boost 0.0276, 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 | 5 | 2 | predicted_BB: 1.4858 -> 2.0000 (boost 0.5142, better) | predicted_2B: 0.2827 -> 0.0000 (deboost -0.2827, worse) | AB rounded to 8 (raw=7.66), rates preserved: AVG=0.337 HR/AB=0.065 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.5189 -> 2.0000 (boost 0.4811, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.5678 -> 0.7500 (boost 0.1822, 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 -> 3.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.7500 -> 0.5678 (deboost -0.1822, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666018",
"player_name": "Jonathan Aranda",
"position": "1B",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.17,
"predicted_3B": 0.0,
"predicted_AB": 3.98,
"predicted_AVG": 0.273,
"predicted_BB": 0.604,
"predicted_H": 1.09,
"predicted_HR": 0.22,
"predicted_OBP": 0.406,
"predicted_R": 0.6,
"predicted_RBI": 0.69,
"predicted_SLG": 0.519,
"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.2827,
"predicted_3B": 0.0004,
"predicted_AB": 7.6563,
"predicted_AVG": 0.3093,
"predicted_BB": 1.4708,
"predicted_H": 2.5387,
"predicted_HBP": 0.139,
"predicted_HR": 0.4886,
"predicted_OBP": 0.4275,
"predicted_R": 1.4717,
"predicted_RBI": 1.4826,
"predicted_SLG": 0.5512,
"predicted_SO": 2.0157
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.17,
"after": 0.2827,
"delta": 0.1127,
"percent_delta": 0.6629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.98,
"after": 7.6563,
"delta": 3.6763,
"percent_delta": 0.9237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.3093,
"delta": 0.0363,
"percent_delta": 0.133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.604,
"after": 1.4708,
"delta": 0.8668,
"percent_delta": 1.4351,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 2.5387,
"delta": 1.4487,
"percent_delta": 1.3291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.4886,
"delta": 0.2686,
"percent_delta": 1.2209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.406,
"after": 0.4275,
"delta": 0.0215,
"percent_delta": 0.053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6,
"after": 1.4717,
"delta": 0.8717,
"percent_delta": 1.4528,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.69,
"after": 1.4826,
"delta": 0.7926,
"percent_delta": 1.1487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.519,
"after": 0.5512,
"delta": 0.0322,
"percent_delta": 0.062,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.057,
"after": 2.0157,
"delta": 0.9587,
"percent_delta": 0.907,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.98,
"after": 7.6563,
"delta": 3.6763,
"percent_delta": 0.9237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.2827,
"predicted_3B": 0.0004,
"predicted_AB": 7.6563,
"predicted_AVG": 0.3369,
"predicted_BB": 1.4858,
"predicted_H": 2.5793,
"predicted_HBP": 0.139,
"predicted_HR": 0.4948,
"predicted_OBP": 0.4447,
"predicted_R": 1.5189,
"predicted_RBI": 1.5302,
"predicted_SLG": 0.5678,
"predicted_SO": 1.9951
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2827,
"after": 0.2827,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.6563,
"after": 7.6563,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3093,
"after": 0.3369,
"delta": 0.0276,
"percent_delta": 0.0892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.4708,
"after": 1.4858,
"delta": 0.015,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.5387,
"after": 2.5793,
"delta": 0.0406,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.139,
"after": 0.139,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4886,
"after": 0.4948,
"delta": 0.0062,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4275,
"after": 0.4447,
"delta": 0.0172,
"percent_delta": 0.0402,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.4717,
"after": 1.5189,
"delta": 0.0472,
"percent_delta": 0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.4826,
"after": 1.5302,
"delta": 0.0476,
"percent_delta": 0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5512,
"after": 0.5678,
"delta": 0.0166,
"percent_delta": 0.0301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0157,
"after": 1.9951,
"delta": -0.0206,
"percent_delta": -0.0102,
"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.3093,
"after": 0.3369,
"delta": 0.0276,
"percent_delta": 0.0892,
"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.66), rates preserved: AVG=0.337 HR/AB=0.065",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.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.2827,
"after": 0.0,
"delta": -0.2827,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.6563,
"after": 8.0,
"delta": 0.3437,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.4858,
"after": 2.0,
"delta": 0.5142,
"percent_delta": 0.3461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.5793,
"after": 3.0,
"delta": 0.4207,
"percent_delta": 0.1631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.139,
"after": 0.0,
"delta": -0.139,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.4948,
"after": 1.0,
"delta": 0.5052,
"percent_delta": 1.021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.5302,
"after": 2.0,
"delta": 0.4698,
"percent_delta": 0.307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9951,
"after": 2.0,
"delta": 0.0049,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 5,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 1.4858,
"after": 2.0,
"delta": 0.5142,
"percent_delta": 0.3461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2827,
"after": 0.0,
"delta": -0.2827,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 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": 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": 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.5189,
"after": 2.0,
"delta": 0.4811,
"percent_delta": 0.3167,
"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.5189,
"after": 2.0,
"delta": 0.4811,
"percent_delta": 0.3167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.375,
"predicted_BB": 2.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.5,
"predicted_R": 2.0,
"predicted_RBI": 2.0,
"predicted_SLG": 0.75,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.3369,
"after": 0.375,
"delta": 0.0381,
"percent_delta": 0.1131,
"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": 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.4447,
"after": 0.5,
"delta": 0.0553,
"percent_delta": 0.1244,
"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.5678,
"after": 0.75,
"delta": 0.1822,
"percent_delta": 0.3209,
"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.5678,
"after": 0.75,
"delta": 0.1822,
"percent_delta": 0.3209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 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": 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.3369,
"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.4447,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5678,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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.375,
"after": 0.3369,
"delta": -0.0381,
"percent_delta": -0.1016,
"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.5,
"after": 0.4447,
"delta": -0.0553,
"percent_delta": -0.1107,
"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.75,
"after": 0.5678,
"delta": -0.1822,
"percent_delta": -0.243,
"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.75,
"after": 0.5678,
"delta": -0.1822,
"percent_delta": -0.243,
"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": 3.98,
"after": 3.0,
"delta": -0.98,
"percent_delta": -0.2462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.3369,
"delta": 0.0639,
"percent_delta": 0.2341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.604,
"after": 1.0,
"delta": 0.396,
"percent_delta": 0.6556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 0.0,
"delta": -1.09,
"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.406,
"after": 0.4447,
"delta": 0.0387,
"percent_delta": 0.0953,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6,
"after": 0.0,
"delta": -0.6,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.519,
"after": 0.5678,
"delta": 0.0488,
"percent_delta": 0.094,
"direction": "boost",
"projection_effect": "better",
"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": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.604,
"after": 1.0,
"delta": 0.396,
"percent_delta": 0.6556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.09,
"after": 0.0,
"delta": -1.09,
"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 | 3.980 | - |
| predicted_AVG | 0.273 | - |
| predicted_BB | 0.604 | - |
| predicted_H | 1.090 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.406 | - |
| predicted_R | 0.600 | - |
| predicted_RBI | 0.690 | - |
| predicted_SLG | 0.519 | - |
| 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.283 | 0.113 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.656 | 3.676 |
| predicted_AVG | 0.309 | 0.036 |
| predicted_BB | 1.471 | 0.867 |
| predicted_H | 2.539 | 1.449 |
| predicted_HBP | 0.139 | - |
| predicted_HR | 0.489 | 0.269 |
| predicted_OBP | 0.427 | 0.021 |
| predicted_R | 1.472 | 0.872 |
| predicted_RBI | 1.483 | 0.793 |
| predicted_SLG | 0.551 | 0.032 |
| predicted_SO | 2.016 | 0.959 |
Step 3: 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.000 | 0.000 |
| predicted_AB | 7.656 | 0.000 |
| predicted_AVG | 0.337 | 0.028 |
| predicted_BB | 1.486 | 0.015 |
| predicted_H | 2.579 | 0.041 |
| predicted_HBP | 0.139 | 0.000 |
| predicted_HR | 0.495 | 0.006 |
| predicted_OBP | 0.445 | 0.017 |
| predicted_R | 1.519 | 0.047 |
| predicted_RBI | 1.530 | 0.048 |
| predicted_SLG | 0.568 | 0.017 |
| predicted_SO | 1.995 | -0.021 |
AB rounded to 8 (raw=7.66), rates preserved: AVG=0.337 HR/AB=0.065
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 2.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 | 8.000 | 0.000 |
| BB | 2.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.283 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 8.000 | 0.344 |
| predicted_AVG | 0.375 | 0.038 |
| predicted_BB | 2.000 | 0.514 |
| predicted_H | 3.000 | 0.421 |
| predicted_HR | 1.000 | 0.505 |
| predicted_OBP | 0.500 | 0.055 |
| predicted_R | 2.000 | 0.481 |
| predicted_RBI | 2.000 | 0.470 |
| predicted_SLG | 0.750 | 0.182 |
| predicted_SO | 2.000 | 0.005 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -5.000 |
| BB | 1.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -3.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 | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 15.000 | 8.000 | 0.000 | 0.000 | 2.000 | 2.000 | 6.000 | 6.000 | 3.000 | 0.5333 | 0.6667 | 0.9333 | 0.5333 | 0.1333 | 0.1333 | 0.4000 | 0.2000 |
| last_10 | 0.20 | 5 | - | 33.000 | 22.000 | 0.000 | 0.000 | 2.000 | 6.000 | 7.000 | 7.000 | 7.000 | 0.6667 | 0.7250 | 0.8485 | 0.6667 | 0.0606 | 0.1818 | 0.2121 | 0.2121 |
| season | 0.60 | 56 | - | 856.000 | 249.000 | 39.000 | 0.000 | 44.000 | 192.000 | 138.000 | 139.000 | 243.000 | 0.2909 | 0.3856 | 0.4907 | 0.2909 | 0.0514 | 0.2243 | 0.1624 | 0.2839 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4250 |
| predicted_3B | 0.0010 |
| predicted_AB | 12.3010 |
| predicted_AVG | 0.3551 |
| predicted_BB | 2.5660 |
| predicted_H | 4.3690 |
| predicted_HBP | 0.1390 |
| predicted_HR | 0.8280 |
| predicted_OBP | 0.4547 |
| predicted_R | 2.5730 |
| predicted_RBI | 2.4840 |
| predicted_SLG | 0.5918 |
| predicted_SO | 3.2270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1700 | 0.4250 | 0.2827 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9800 | 12.3010 | 7.6563 | model_form_blend |
| predicted_AVG | 0.2730 | 0.3551 | 0.3093 | model_form_blend |
| predicted_BB | 0.6040 | 2.5660 | 1.4708 | model_form_blend |
| predicted_H | 1.0900 | 4.3690 | 2.5387 | model_form_blend |
| predicted_HBP | - | 0.1390 | 0.1390 | form_only |
| predicted_HR | 0.2200 | 0.8280 | 0.4886 | model_form_blend |
| predicted_OBP | 0.4060 | 0.4547 | 0.4275 | model_form_blend |
| predicted_R | 0.6000 | 2.5730 | 1.4717 | model_form_blend |
| predicted_RBI | 0.6900 | 2.4840 | 1.4826 | model_form_blend |
| predicted_SLG | 0.5190 | 0.5918 | 0.5512 | model_form_blend |
| predicted_SO | 1.0570 | 3.2270 | 2.0157 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.291 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 1 |
| 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 | 1B |
| gameID | 20260531_LAA@TB |
| game_type | full |
| mlbID | 666018 |
| playerID | 666018 |
| playerName | Jonathan Aranda |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TB |
| teamID | 27 |
| game_date | 2026-05-31 |
| sl_k_percent | 23.4 |
| sl_bb_percent | 14.2 |
| sl_woba | 0.383 |
| sl_xwoba | 0.387 |
| sl_xba | 0.276 |
| sl_xslg | 0.502 |
| sl_sweet_spot_percent | 40.4 |
| sl_barrel_batted_rate | 13.0 |
| sl_hard_hit_percent | 47.3 |
| sl_exit_velocity_avg | 91.0 |
| sl_launch_angle_avg | 15.8 |
| sl_whiff_percent | 21.7 |
| sl_swing_percent | 43.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.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 | 4.060 | 3.000 | 8.000 | Hitting_AB | 3.936 | 3.000 | -0.936 | 0.000 |
| predicted_AVG | 0.262 | 0.333 | 0.250 | Hitting_AVG | 0.268 | 0.667 | 0.065 | -0.333 |
| predicted_BB | 0.621 | 1.000 | 1.000 | Hitting_BB | 0.621 | 2.000 | 0.379 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.038 | 0.000 | -0.038 | 0.000 |
| predicted_H | 1.060 | 1.000 | 2.000 | Hitting_H | 1.055 | 2.000 | -0.055 | -1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.243 | 0.000 | -0.243 | 0.000 |
| predicted_OBP | 0.392 | 0.500 | 0.333 | Hitting_OBP | 0.367 | 0.800 | 0.133 | -0.300 |
| predicted_R | 0.664 | 1.000 | 1.000 | Hitting_R | 0.664 | 1.000 | 0.336 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 1.000 | Hitting_RBI | 0.545 | 0.000 | -0.545 | 0.000 |
| predicted_SLG | 0.465 | 0.333 | 0.250 | Hitting_SLG | 0.484 | 0.667 | -0.151 | -0.333 |
| predicted_SO | 0.715 | 1.000 | 1.000 | Hitting_SO | 0.715 | 0.000 | 0.285 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.6210 -> 1.0000 (boost 0.3790, better) |
| Biggest Deboost | predicted_AB: 4.0600 -> 3.0000 (deboost -1.0600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 10 | 0 | 9 | 1 | predicted_AB: 4.0600 -> 8.1169 (boost 4.0569, 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.2749 -> 0.2872 (boost 0.0123, 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_BB: 1.4861 -> 1.0000 (deboost -0.4861, worse) | AB rounded to 8 (raw=8.12), rates preserved: AVG=0.287 HR/AB=0.044 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3122 -> 1.0000 (deboost -0.3122, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4747 -> 0.2500 (deboost -0.2247, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 8.0000 -> 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.4747 (boost 0.2247, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691406",
"player_name": "Junior Caminero",
"position": "3B",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.123,
"predicted_3B": 0.0,
"predicted_AB": 4.06,
"predicted_AVG": 0.262,
"predicted_BB": 0.621,
"predicted_H": 1.06,
"predicted_HR": 0.15,
"predicted_OBP": 0.392,
"predicted_R": 0.664,
"predicted_RBI": 0.44,
"predicted_SLG": 0.465,
"predicted_SO": 0.715
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4515,
"predicted_3B": 0.0004,
"predicted_AB": 8.1169,
"predicted_AVG": 0.2749,
"predicted_BB": 1.4711,
"predicted_H": 2.2947,
"predicted_HBP": 0.003,
"predicted_HR": 0.352,
"predicted_OBP": 0.3959,
"predicted_R": 1.2714,
"predicted_RBI": 0.9373,
"predicted_SLG": 0.478,
"predicted_SO": 1.2897
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.123,
"after": 0.4515,
"delta": 0.3285,
"percent_delta": 2.6707,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.06,
"after": 8.1169,
"delta": 4.0569,
"percent_delta": 0.9992,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2749,
"delta": 0.0129,
"percent_delta": 0.0492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.621,
"after": 1.4711,
"delta": 0.8501,
"percent_delta": 1.3689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 2.2947,
"delta": 1.2347,
"percent_delta": 1.1648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.352,
"delta": 0.202,
"percent_delta": 1.3467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.392,
"after": 0.3959,
"delta": 0.0039,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.664,
"after": 1.2714,
"delta": 0.6074,
"percent_delta": 0.9148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.9373,
"delta": 0.4973,
"percent_delta": 1.1302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.465,
"after": 0.478,
"delta": 0.013,
"percent_delta": 0.028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.715,
"after": 1.2897,
"delta": 0.5747,
"percent_delta": 0.8038,
"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.06,
"after": 8.1169,
"delta": 4.0569,
"percent_delta": 0.9992,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.4515,
"predicted_3B": 0.0004,
"predicted_AB": 8.1169,
"predicted_AVG": 0.2872,
"predicted_BB": 1.4861,
"predicted_H": 2.3314,
"predicted_HBP": 0.003,
"predicted_HR": 0.3564,
"predicted_OBP": 0.3975,
"predicted_R": 1.3122,
"predicted_RBI": 0.9674,
"predicted_SLG": 0.4747,
"predicted_SO": 1.2765
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4515,
"after": 0.4515,
"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.1169,
"after": 8.1169,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2749,
"after": 0.2872,
"delta": 0.0123,
"percent_delta": 0.0447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.4711,
"after": 1.4861,
"delta": 0.015,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.2947,
"after": 2.3314,
"delta": 0.0367,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.352,
"after": 0.3564,
"delta": 0.0044,
"percent_delta": 0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3959,
"after": 0.3975,
"delta": 0.0016,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.2714,
"after": 1.3122,
"delta": 0.0408,
"percent_delta": 0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9373,
"after": 0.9674,
"delta": 0.0301,
"percent_delta": 0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.478,
"after": 0.4747,
"delta": -0.0033,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.2897,
"after": 1.2765,
"delta": -0.0132,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_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.2749,
"after": 0.2872,
"delta": 0.0123,
"percent_delta": 0.0447,
"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.12), rates preserved: AVG=0.287 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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4515,
"after": 0.0,
"delta": -0.4515,
"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.1169,
"after": 8.0,
"delta": -0.1169,
"percent_delta": -0.0144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.4861,
"after": 1.0,
"delta": -0.4861,
"percent_delta": -0.3271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.3314,
"after": 2.0,
"delta": -0.3314,
"percent_delta": -0.1421,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3564,
"after": 0.0,
"delta": -0.3564,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9674,
"after": 1.0,
"delta": 0.0326,
"percent_delta": 0.0337,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.2765,
"after": 1.0,
"delta": -0.2765,
"percent_delta": -0.2166,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.4861,
"after": 1.0,
"delta": -0.4861,
"percent_delta": -0.3271,
"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.3122,
"after": 1.0,
"delta": -0.3122,
"percent_delta": -0.2379,
"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.3122,
"after": 1.0,
"delta": -0.3122,
"percent_delta": -0.2379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2872,
"after": 0.25,
"delta": -0.0372,
"percent_delta": -0.1295,
"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.3975,
"after": 0.333,
"delta": -0.0645,
"percent_delta": -0.1623,
"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.4747,
"after": 0.25,
"delta": -0.2247,
"percent_delta": -0.4734,
"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.4747,
"after": 0.25,
"delta": -0.2247,
"percent_delta": -0.4734,
"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": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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": 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.2872,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3975,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4747,
"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.25,
"after": 0.2872,
"delta": 0.0372,
"percent_delta": 0.1489,
"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.3975,
"delta": 0.0645,
"percent_delta": 0.1938,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4747,
"delta": 0.2247,
"percent_delta": 0.8988,
"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.4747,
"delta": 0.2247,
"percent_delta": 0.8988,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.123,
"after": 0.0,
"delta": -0.123,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.06,
"after": 3.0,
"delta": -1.06,
"percent_delta": -0.2611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2872,
"delta": 0.0252,
"percent_delta": 0.0962,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.621,
"after": 1.0,
"delta": 0.379,
"percent_delta": 0.6103,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.0,
"delta": -0.06,
"percent_delta": -0.0566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.392,
"after": 0.3975,
"delta": 0.0055,
"percent_delta": 0.014,
"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.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.465,
"after": 0.4747,
"delta": 0.0097,
"percent_delta": 0.0209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.715,
"after": 1.0,
"delta": 0.285,
"percent_delta": 0.3986,
"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.621,
"after": 1.0,
"delta": 0.379,
"percent_delta": 0.6103,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.06,
"after": 3.0,
"delta": -1.06,
"percent_delta": -0.2611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.123 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.060 | - |
| predicted_AVG | 0.262 | - |
| predicted_BB | 0.621 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.392 | - |
| predicted_R | 0.664 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.465 | - |
| predicted_SO | 0.715 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.452 | 0.329 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.117 | 4.057 |
| predicted_AVG | 0.275 | 0.013 |
| predicted_BB | 1.471 | 0.850 |
| predicted_H | 2.295 | 1.235 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.352 | 0.202 |
| predicted_OBP | 0.396 | 0.004 |
| predicted_R | 1.271 | 0.607 |
| predicted_RBI | 0.937 | 0.497 |
| predicted_SLG | 0.478 | 0.013 |
| predicted_SO | 1.290 | 0.575 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.452 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.117 | 0.000 |
| predicted_AVG | 0.287 | 0.012 |
| predicted_BB | 1.486 | 0.015 |
| predicted_H | 2.331 | 0.037 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.356 | 0.004 |
| predicted_OBP | 0.398 | 0.002 |
| predicted_R | 1.312 | 0.041 |
| predicted_RBI | 0.967 | 0.030 |
| predicted_SLG | 0.475 | -0.003 |
| predicted_SO | 1.276 | -0.013 |
AB rounded to 8 (raw=8.12), rates preserved: AVG=0.287 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 | 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.452 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 8.000 | -0.117 |
| predicted_AVG | 0.250 | -0.037 |
| predicted_BB | 1.000 | -0.486 |
| predicted_H | 2.000 | -0.331 |
| predicted_HR | 0.000 | -0.356 |
| predicted_OBP | 0.333 | -0.065 |
| predicted_R | 1.000 | -0.312 |
| predicted_RBI | 1.000 | 0.033 |
| predicted_SLG | 0.250 | -0.225 |
| predicted_SO | 1.000 | -0.276 |
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 | 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 | 4 | - | 16.000 | 6.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 5.000 | 1.000 | 0.3750 | 0.5238 | 0.5625 | 0.3750 | 0.0000 | 0.0625 | 0.3125 | 0.0625 |
| last_10 | 0.20 | 5 | - | 31.000 | 10.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 9.000 | 1.000 | 0.3226 | 0.4750 | 0.4194 | 0.3226 | 0.0000 | 0.0323 | 0.2903 | 0.0323 |
| season | 0.60 | 56 | - | 925.000 | 248.000 | 29.000 | 0.000 | 57.000 | 128.000 | 156.000 | 146.000 | 168.000 | 0.2681 | 0.3665 | 0.4843 | 0.2681 | 0.0616 | 0.1384 | 0.1578 | 0.1816 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8660 |
| predicted_3B | 0.0010 |
| predicted_AB | 13.2370 |
| predicted_AVG | 0.2911 |
| predicted_BB | 2.5440 |
| predicted_H | 3.8530 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.6070 |
| predicted_OBP | 0.4009 |
| predicted_R | 2.0380 |
| predicted_RBI | 1.5650 |
| predicted_SLG | 0.4943 |
| predicted_SO | 2.0150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1230 | 0.8660 | 0.4515 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0600 | 13.2370 | 8.1169 | model_form_blend |
| predicted_AVG | 0.2620 | 0.2911 | 0.2749 | model_form_blend |
| predicted_BB | 0.6210 | 2.5440 | 1.4711 | model_form_blend |
| predicted_H | 1.0600 | 3.8530 | 2.2947 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1500 | 0.6070 | 0.3520 | model_form_blend |
| predicted_OBP | 0.3920 | 0.4009 | 0.3959 | model_form_blend |
| predicted_R | 0.6640 | 2.0380 | 1.2714 | model_form_blend |
| predicted_RBI | 0.4400 | 1.5650 | 0.9373 | model_form_blend |
| predicted_SLG | 0.4650 | 0.4943 | 0.4780 | model_form_blend |
| predicted_SO | 0.7150 | 2.0150 | 1.2897 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| 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.667 |
| Hitting_BB | 2 |
| 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 | 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 | 20260531_LAA@TB |
| game_type | full |
| mlbID | 691406 |
| playerID | 691406 |
| playerName | Junior Caminero |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | TB |
| teamID | 27 |
| game_date | 2026-05-31 |
| sl_k_percent | 15.7 |
| sl_bb_percent | 13.2 |
| sl_woba | 0.378 |
| sl_xwoba | 0.37 |
| sl_xba | 0.276 |
| sl_xslg | 0.487 |
| sl_sweet_spot_percent | 25.0 |
| sl_barrel_batted_rate | 12.3 |
| sl_hard_hit_percent | 48.0 |
| sl_exit_velocity_avg | 92.7 |
| sl_launch_angle_avg | 10.1 |
| sl_whiff_percent | 20.8 |
| sl_swing_percent | 41.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.089 | 0.000 | 0.000 | Hitting_2B | 0.089 | 0.000 | -0.089 | 0.000 |
| predicted_3B | 0.058 | 0.000 | 0.000 | Hitting_3B | 0.058 | 0.000 | -0.058 | 0.000 |
| predicted_AB | 4.156 | 4.000 | 8.000 | Hitting_AB | 4.156 | 5.000 | -0.156 | -1.000 |
| predicted_AVG | 0.228 | 0.250 | 0.250 | Hitting_AVG | 0.285 | 0.000 | -0.035 | 0.250 |
| predicted_BB | 0.237 | 0.000 | 1.000 | Hitting_BB | 0.237 | 0.000 | -0.237 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.161 | 0.000 | -0.161 | 0.000 |
| predicted_H | 0.370 | 1.000 | 2.000 | Hitting_H | 1.183 | 0.000 | -0.183 | 1.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.280 | 0.250 | 0.333 | Hitting_OBP | 0.321 | 0.000 | -0.071 | 0.250 |
| predicted_R | 0.522 | 0.000 | 1.000 | Hitting_R | 0.522 | 1.000 | -0.522 | -1.000 |
| predicted_RBI | 0.120 | 0.000 | 0.000 | Hitting_RBI | 0.196 | 0.000 | -0.196 | 0.000 |
| predicted_SLG | 0.325 | 0.250 | 0.250 | Hitting_SLG | 0.334 | 0.000 | -0.084 | 0.250 |
| predicted_SO | 0.469 | 1.000 | 1.000 | Hitting_SO | 0.469 | 0.000 | 0.531 | 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_H: 0.3700 -> 1.0000 (boost 0.6300, better) |
| Biggest Deboost | predicted_R: 0.5220 -> 0.0000 (deboost -0.5220, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.1560 -> 8.4363 (boost 4.2803, better) | predicted_SLG: 0.3250 -> 0.3127 (deboost -0.0123, 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.3127 -> 0.2608 (deboost -0.0519, 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.6188 -> 1.0000 (boost 0.3812, better) | predicted_AB: 8.4363 -> 8.0000 (deboost -0.4363, worse) | AB rounded to 8 (raw=8.44), rates preserved: AVG=0.212 HR/AB=0.002 |
| 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.2659 -> 0.3330 (boost 0.0671, better) | predicted_SLG: 0.2608 -> 0.2500 (deboost -0.0108, 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: 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.2608 (boost 0.0108, better) | predicted_OBP: 0.3330 -> 0.2659 (deboost -0.0671, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "802415",
"player_name": "Chandler Simpson",
"position": "LF",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.089,
"predicted_3B": 0.058,
"predicted_AB": 4.156,
"predicted_AVG": 0.228,
"predicted_BB": 0.237,
"predicted_H": 0.37,
"predicted_HR": 0.02,
"predicted_OBP": 0.28,
"predicted_R": 0.522,
"predicted_RBI": 0.12,
"predicted_SLG": 0.325,
"predicted_SO": 0.469
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1685,
"predicted_3B": 0.0951,
"predicted_AB": 8.4363,
"predicted_AVG": 0.2395,
"predicted_BB": 0.6126,
"predicted_H": 1.7604,
"predicted_HBP": 0.004,
"predicted_HR": 0.0174,
"predicted_OBP": 0.2922,
"predicted_R": 1.0159,
"predicted_RBI": 0.301,
"predicted_SLG": 0.3127,
"predicted_SO": 0.9457
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.089,
"after": 0.1685,
"delta": 0.0795,
"percent_delta": 0.8933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.058,
"after": 0.0951,
"delta": 0.0371,
"percent_delta": 0.6397,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.156,
"after": 8.4363,
"delta": 4.2803,
"percent_delta": 1.0299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2395,
"delta": 0.0115,
"percent_delta": 0.0504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.237,
"after": 0.6126,
"delta": 0.3756,
"percent_delta": 1.5848,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.37,
"after": 1.7604,
"delta": 1.3904,
"percent_delta": 3.7578,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0174,
"delta": -0.0026,
"percent_delta": -0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.2922,
"delta": 0.0122,
"percent_delta": 0.0436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.522,
"after": 1.0159,
"delta": 0.4939,
"percent_delta": 0.9462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 0.301,
"delta": 0.181,
"percent_delta": 1.5083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.325,
"after": 0.3127,
"delta": -0.0123,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.469,
"after": 0.9457,
"delta": 0.4767,
"percent_delta": 1.0164,
"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.156,
"after": 8.4363,
"delta": 4.2803,
"percent_delta": 1.0299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.325,
"after": 0.3127,
"delta": -0.0123,
"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": 4,
"last_10": 5,
"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.1685,
"predicted_3B": 0.0951,
"predicted_AB": 8.4363,
"predicted_AVG": 0.212,
"predicted_BB": 0.6188,
"predicted_H": 1.7886,
"predicted_HBP": 0.004,
"predicted_HR": 0.0176,
"predicted_OBP": 0.2659,
"predicted_R": 1.0485,
"predicted_RBI": 0.3107,
"predicted_SLG": 0.2608,
"predicted_SO": 0.9361
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1685,
"after": 0.1685,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0951,
"after": 0.0951,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.4363,
"after": 8.4363,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2395,
"after": 0.212,
"delta": -0.0275,
"percent_delta": -0.1148,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6126,
"after": 0.6188,
"delta": 0.0062,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7604,
"after": 1.7886,
"delta": 0.0282,
"percent_delta": 0.016,
"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.0174,
"after": 0.0176,
"delta": 0.0002,
"percent_delta": 0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2922,
"after": 0.2659,
"delta": -0.0263,
"percent_delta": -0.09,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0159,
"after": 1.0485,
"delta": 0.0326,
"percent_delta": 0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.301,
"after": 0.3107,
"delta": 0.0097,
"percent_delta": 0.0322,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3127,
"after": 0.2608,
"delta": -0.0519,
"percent_delta": -0.166,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9457,
"after": 0.9361,
"delta": -0.0096,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3127,
"after": 0.2608,
"delta": -0.0519,
"percent_delta": -0.166,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=8.44), rates preserved: AVG=0.212 HR/AB=0.002",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1685,
"after": 0.0,
"delta": -0.1685,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0951,
"after": 0.0,
"delta": -0.0951,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 8.4363,
"after": 8.0,
"delta": -0.4363,
"percent_delta": -0.0517,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6188,
"after": 1.0,
"delta": 0.3812,
"percent_delta": 0.616,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7886,
"after": 2.0,
"delta": 0.2114,
"percent_delta": 0.1182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.0,
"delta": -0.004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0176,
"after": 0.0,
"delta": -0.0176,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3107,
"after": 0.0,
"delta": -0.3107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9361,
"after": 1.0,
"delta": 0.0639,
"percent_delta": 0.0683,
"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.6188,
"after": 1.0,
"delta": 0.3812,
"percent_delta": 0.616,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.4363,
"after": 8.0,
"delta": -0.4363,
"percent_delta": -0.0517,
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0485,
"after": 1.0,
"delta": -0.0485,
"percent_delta": -0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.212,
"after": 0.25,
"delta": 0.038,
"percent_delta": 0.1792,
"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.2659,
"after": 0.333,
"delta": 0.0671,
"percent_delta": 0.2524,
"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.2608,
"after": 0.25,
"delta": -0.0108,
"percent_delta": -0.0414,
"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.2659,
"after": 0.333,
"delta": 0.0671,
"percent_delta": 0.2524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2608,
"after": 0.25,
"delta": -0.0108,
"percent_delta": -0.0414,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": 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.212,
"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.2659,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2608,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.212,
"delta": -0.038,
"percent_delta": -0.152,
"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.2659,
"delta": -0.0671,
"percent_delta": -0.2016,
"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.2608,
"delta": 0.0108,
"percent_delta": 0.0432,
"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.2608,
"delta": 0.0108,
"percent_delta": 0.0432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2659,
"delta": -0.0671,
"percent_delta": -0.2016,
"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.089,
"after": 0.0,
"delta": -0.089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.058,
"after": 0.0,
"delta": -0.058,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.156,
"after": 4.0,
"delta": -0.156,
"percent_delta": -0.0375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.212,
"delta": -0.016,
"percent_delta": -0.0702,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.237,
"after": 0.0,
"delta": -0.237,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.37,
"after": 1.0,
"delta": 0.63,
"percent_delta": 1.7027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.2659,
"delta": -0.0141,
"percent_delta": -0.0504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.522,
"after": 0.0,
"delta": -0.522,
"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.325,
"after": 0.2608,
"delta": -0.0642,
"percent_delta": -0.1975,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.469,
"after": 1.0,
"delta": 0.531,
"percent_delta": 1.1322,
"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_H",
"before": 0.37,
"after": 1.0,
"delta": 0.63,
"percent_delta": 1.7027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.522,
"after": 0.0,
"delta": -0.522,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.089 | - |
| predicted_3B | 0.058 | - |
| predicted_AB | 4.156 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.237 | - |
| predicted_H | 0.370 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.280 | - |
| predicted_R | 0.522 | - |
| predicted_RBI | 0.120 | - |
| predicted_SLG | 0.325 | - |
| predicted_SO | 0.469 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.169 | 0.080 |
| predicted_3B | 0.095 | 0.037 |
| predicted_AB | 8.436 | 4.280 |
| predicted_AVG | 0.239 | 0.011 |
| predicted_BB | 0.613 | 0.376 |
| predicted_H | 1.760 | 1.390 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.017 | -0.003 |
| predicted_OBP | 0.292 | 0.012 |
| predicted_R | 1.016 | 0.494 |
| predicted_RBI | 0.301 | 0.181 |
| predicted_SLG | 0.313 | -0.012 |
| predicted_SO | 0.946 | 0.477 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.169 | 0.000 |
| predicted_3B | 0.095 | 0.000 |
| predicted_AB | 8.436 | 0.000 |
| predicted_AVG | 0.212 | -0.027 |
| predicted_BB | 0.619 | 0.006 |
| predicted_H | 1.789 | 0.028 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.018 | 0.000 |
| predicted_OBP | 0.266 | -0.026 |
| predicted_R | 1.048 | 0.033 |
| predicted_RBI | 0.311 | 0.010 |
| predicted_SLG | 0.261 | -0.052 |
| predicted_SO | 0.936 | -0.010 |
AB rounded to 8 (raw=8.44), rates preserved: AVG=0.212 HR/AB=0.002
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.169 |
| predicted_3B | 0.000 | -0.095 |
| predicted_AB | 8.000 | -0.436 |
| predicted_AVG | 0.250 | 0.038 |
| predicted_BB | 1.000 | 0.381 |
| predicted_H | 2.000 | 0.211 |
| predicted_HR | 0.000 | -0.018 |
| predicted_OBP | 0.333 | 0.067 |
| predicted_R | 1.000 | -0.048 |
| predicted_RBI | 0.000 | -0.311 |
| predicted_SLG | 0.250 | -0.011 |
| predicted_SO | 1.000 | 0.064 |
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 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 21.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 2.000 | 0.1429 | 0.2500 | 0.1429 | 0.1429 | 0.0000 | 0.0000 | 0.1429 | 0.0952 |
| last_10 | 0.20 | 5 | - | 41.000 | 10.000 | 2.000 | 0.000 | 0.000 | 0.000 | 4.000 | 6.000 | 4.000 | 0.2439 | 0.3404 | 0.2927 | 0.2439 | 0.0000 | 0.0000 | 0.1463 | 0.0976 |
| season | 0.60 | 55 | - | 931.000 | 265.000 | 20.000 | 13.000 | 0.000 | 44.000 | 117.000 | 53.000 | 105.000 | 0.2846 | 0.3206 | 0.3340 | 0.2846 | 0.0000 | 0.0473 | 0.0569 | 0.1128 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2690 |
| predicted_3B | 0.1420 |
| predicted_AB | 13.8530 |
| predicted_AVG | 0.2541 |
| predicted_BB | 1.0880 |
| predicted_H | 3.5200 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.0140 |
| predicted_OBP | 0.3076 |
| predicted_R | 1.6410 |
| predicted_RBI | 0.5300 |
| predicted_SLG | 0.2971 |
| predicted_SO | 1.5490 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0890 | 0.2690 | 0.1685 | model_form_blend |
| predicted_3B | 0.0580 | 0.1420 | 0.0951 | model_form_blend |
| predicted_AB | 4.1560 | 13.8530 | 8.4363 | model_form_blend |
| predicted_AVG | 0.2280 | 0.2541 | 0.2395 | model_form_blend |
| predicted_BB | 0.2370 | 1.0880 | 0.6126 | model_form_blend |
| predicted_H | 0.3700 | 3.5200 | 1.7604 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0200 | 0.0140 | 0.0174 | model_form_blend |
| predicted_OBP | 0.2800 | 0.3076 | 0.2922 | model_form_blend |
| predicted_R | 0.5220 | 1.6410 | 1.0159 | model_form_blend |
| predicted_RBI | 0.1200 | 0.5300 | 0.3010 | model_form_blend |
| predicted_SLG | 0.3250 | 0.2971 | 0.3127 | model_form_blend |
| predicted_SO | 0.4690 | 1.5490 | 0.9457 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 224 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.285 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 20260531_LAA@TB |
| game_type | full |
| mlbID | 802415 |
| playerID | 802415 |
| playerName | Chandler Simpson |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | TB |
| teamID | 27 |
| game_date | 2026-05-31 |
| sl_k_percent | 10.8 |
| sl_bb_percent | 5.2 |
| sl_woba | 0.299 |
| sl_xwoba | 0.26 |
| sl_xba | 0.252 |
| sl_xslg | 0.29 |
| sl_sweet_spot_percent | 27.7 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 16.0 |
| sl_exit_velocity_avg | 84.1 |
| sl_launch_angle_avg | 2.2 |
| sl_whiff_percent | 10.8 |
| sl_swing_percent | 46.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.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.714 | 3.000 | 4.000 | Hitting_AB | 3.714 | 4.000 | -0.714 | -1.000 |
| predicted_AVG | 0.250 | 0.000 | 0.250 | Hitting_AVG | 0.250 | 0.250 | -0.250 | -0.250 |
| predicted_BB | 0.286 | 0.000 | 0.000 | Hitting_BB | 0.286 | 0.000 | -0.286 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.800 | 0.000 | 1.000 | Hitting_H | 0.929 | 1.000 | -0.929 | -1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.429 | 0.000 | -0.429 | 0.000 |
| predicted_OBP | 0.306 | 0.000 | 0.250 | Hitting_OBP | 0.304 | 0.250 | -0.304 | -0.250 |
| predicted_R | 0.571 | 0.000 | 1.000 | Hitting_R | 0.571 | 0.000 | -0.571 | 0.000 |
| predicted_RBI | 0.470 | 0.000 | 0.000 | Hitting_RBI | 0.929 | 1.000 | -0.929 | -1.000 |
| predicted_SLG | 0.416 | 0.000 | 0.250 | Hitting_SLG | 0.596 | 0.250 | -0.596 | -0.250 |
| predicted_SO | 0.929 | 2.000 | 1.000 | Hitting_SO | 0.929 | 2.000 | 1.071 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 0 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.9290 -> 2.0000 (boost 1.0710, 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 | 5 | 4 | 1 | 4 | 1 | predicted_H: 0.8000 -> 0.9047 (boost 0.1047, better) | predicted_SLG: 0.4160 -> 0.3978 (deboost -0.0182, 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.3978 -> 0.3459 (deboost -0.0519, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 2 | 3 | 2 | 3 | predicted_AB: 3.7704 -> 4.0000 (boost 0.2296, better) | predicted_RBI: 0.4639 -> 0.0000 (deboost -0.4639, worse) | AB rounded to 4 (raw=3.77), rates preserved: AVG=0.244 HR/AB=0.032 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5803 -> 1.0000 (boost 0.4197, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2438 -> 0.2500 (boost 0.0062, better) | predicted_SLG: 0.3459 -> 0.2500 (deboost -0.0959, 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: 4.0000 -> 3.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.2500 -> 0.3459 (boost 0.0959, better) | predicted_AVG: 0.2500 -> 0.2438 (deboost -0.0062, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683748",
"player_name": "Victor Mesa Jr.",
"position": "RF",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.714,
"predicted_AVG": 0.25,
"predicted_BB": 0.286,
"predicted_H": 0.8,
"predicted_HR": 0.14,
"predicted_OBP": 0.306,
"predicted_R": 0.571,
"predicted_RBI": 0.47,
"predicted_SLG": 0.416,
"predicted_SO": 0.929
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.023,
"predicted_3B": 0.0017,
"predicted_AB": 3.7704,
"predicted_AVG": 0.2619,
"predicted_BB": 0.2989,
"predicted_H": 0.9047,
"predicted_HBP": 0.012,
"predicted_HR": 0.1181,
"predicted_OBP": 0.3187,
"predicted_R": 0.5623,
"predicted_RBI": 0.4495,
"predicted_SLG": 0.3978,
"predicted_SO": 0.9749
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.023,
"delta": 0.023,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0017,
"delta": 0.0017,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.714,
"after": 3.7704,
"delta": 0.0564,
"percent_delta": 0.0152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2619,
"delta": 0.0119,
"percent_delta": 0.0476,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.286,
"after": 0.2989,
"delta": 0.0129,
"percent_delta": 0.0451,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 0.9047,
"delta": 0.1047,
"percent_delta": 0.1309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1181,
"delta": -0.0219,
"percent_delta": -0.1564,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3187,
"delta": 0.0127,
"percent_delta": 0.0415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.571,
"after": 0.5623,
"delta": -0.0087,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.4495,
"delta": -0.0205,
"percent_delta": -0.0436,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.416,
"after": 0.3978,
"delta": -0.0182,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.929,
"after": 0.9749,
"delta": 0.0459,
"percent_delta": 0.0494,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.8,
"after": 0.9047,
"delta": 0.1047,
"percent_delta": 0.1309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.416,
"after": 0.3978,
"delta": -0.0182,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.023,
"predicted_3B": 0.0017,
"predicted_AB": 3.7704,
"predicted_AVG": 0.2438,
"predicted_BB": 0.3019,
"predicted_H": 0.9192,
"predicted_HBP": 0.012,
"predicted_HR": 0.1196,
"predicted_OBP": 0.2999,
"predicted_R": 0.5803,
"predicted_RBI": 0.4639,
"predicted_SLG": 0.3459,
"predicted_SO": 0.965
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.023,
"after": 0.023,
"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": 3.7704,
"after": 3.7704,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2619,
"after": 0.2438,
"delta": -0.0181,
"percent_delta": -0.0691,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2989,
"after": 0.3019,
"delta": 0.003,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9047,
"after": 0.9192,
"delta": 0.0145,
"percent_delta": 0.016,
"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.1181,
"after": 0.1196,
"delta": 0.0015,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3187,
"after": 0.2999,
"delta": -0.0188,
"percent_delta": -0.059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5623,
"after": 0.5803,
"delta": 0.018,
"percent_delta": 0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4495,
"after": 0.4639,
"delta": 0.0144,
"percent_delta": 0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3978,
"after": 0.3459,
"delta": -0.0519,
"percent_delta": -0.1305,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9749,
"after": 0.965,
"delta": -0.0099,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3978,
"after": 0.3459,
"delta": -0.0519,
"percent_delta": -0.1305,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.77), rates preserved: AVG=0.244 HR/AB=0.032",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0017,
"after": 0.0,
"delta": -0.0017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7704,
"after": 4.0,
"delta": 0.2296,
"percent_delta": 0.0609,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3019,
"after": 0.0,
"delta": -0.3019,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9192,
"after": 1.0,
"delta": 0.0808,
"percent_delta": 0.0879,
"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.1196,
"after": 0.0,
"delta": -0.1196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4639,
"after": 0.0,
"delta": -0.4639,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.965,
"after": 1.0,
"delta": 0.035,
"percent_delta": 0.0363,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.7704,
"after": 4.0,
"delta": 0.2296,
"percent_delta": 0.0609,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4639,
"after": 0.0,
"delta": -0.4639,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5803,
"after": 1.0,
"delta": 0.4197,
"percent_delta": 0.7232,
"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.5803,
"after": 1.0,
"delta": 0.4197,
"percent_delta": 0.7232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2438,
"after": 0.25,
"delta": 0.0062,
"percent_delta": 0.0254,
"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.2999,
"after": 0.25,
"delta": -0.0499,
"percent_delta": -0.1664,
"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.3459,
"after": 0.25,
"delta": -0.0959,
"percent_delta": -0.2772,
"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.2438,
"after": 0.25,
"delta": 0.0062,
"percent_delta": 0.0254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3459,
"after": 0.25,
"delta": -0.0959,
"percent_delta": -0.2772,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2438,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2999,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3459,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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.2438,
"delta": -0.0062,
"percent_delta": -0.0249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2999,
"delta": 0.0499,
"percent_delta": 0.1994,
"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.3459,
"delta": 0.0959,
"percent_delta": 0.3838,
"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.3459,
"delta": 0.0959,
"percent_delta": 0.3838,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2438,
"delta": -0.0062,
"percent_delta": -0.0249,
"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.714,
"after": 3.0,
"delta": -0.714,
"percent_delta": -0.1922,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2438,
"delta": -0.0062,
"percent_delta": -0.0248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.286,
"after": 0.0,
"delta": -0.286,
"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.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.2999,
"delta": -0.0061,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.571,
"after": 0.0,
"delta": -0.571,
"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.3459,
"delta": -0.0701,
"percent_delta": -0.1685,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.929,
"after": 2.0,
"delta": 1.071,
"percent_delta": 1.1529,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 0,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.929,
"after": 2.0,
"delta": 1.071,
"percent_delta": 1.1529,
"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.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.714 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.286 | - |
| predicted_H | 0.800 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.306 | - |
| predicted_R | 0.571 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.416 | - |
| predicted_SO | 0.929 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.023 | 0.023 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.770 | 0.056 |
| predicted_AVG | 0.262 | 0.012 |
| predicted_BB | 0.299 | 0.013 |
| predicted_H | 0.905 | 0.105 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.118 | -0.022 |
| predicted_OBP | 0.319 | 0.013 |
| predicted_R | 0.562 | -0.009 |
| predicted_RBI | 0.450 | -0.020 |
| predicted_SLG | 0.398 | -0.018 |
| predicted_SO | 0.975 | 0.046 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.023 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.770 | 0.000 |
| predicted_AVG | 0.244 | -0.018 |
| predicted_BB | 0.302 | 0.003 |
| predicted_H | 0.919 | 0.015 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.120 | 0.002 |
| predicted_OBP | 0.300 | -0.019 |
| predicted_R | 0.580 | 0.018 |
| predicted_RBI | 0.464 | 0.014 |
| predicted_SLG | 0.346 | -0.052 |
| predicted_SO | 0.965 | -0.010 |
AB rounded to 4 (raw=3.77), rates preserved: AVG=0.244 HR/AB=0.032
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.023 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | 0.230 |
| predicted_AVG | 0.250 | 0.006 |
| predicted_BB | 0.000 | -0.302 |
| predicted_H | 1.000 | 0.081 |
| predicted_HR | 0.000 | -0.120 |
| predicted_OBP | 0.250 | -0.050 |
| predicted_R | 1.000 | 0.420 |
| predicted_RBI | 0.000 | -0.464 |
| predicted_SLG | 0.250 | -0.096 |
| predicted_SO | 1.000 | 0.035 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 4 | - | 13.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 4.000 | 0.3077 | 0.3571 | 0.3077 | 0.3077 | 0.0000 | 0.0769 | 0.0769 | 0.3077 |
| last_10 | 0.20 | 5 | - | 32.000 | 9.000 | 0.000 | 0.000 | 2.000 | 5.000 | 4.000 | 4.000 | 9.000 | 0.2812 | 0.3611 | 0.4688 | 0.2812 | 0.0625 | 0.1562 | 0.1250 | 0.2812 |
| season | 0.60 | 5 | - | 52.000 | 13.000 | 0.000 | 0.000 | 6.000 | 13.000 | 8.000 | 4.000 | 13.000 | 0.2500 | 0.3036 | 0.5962 | 0.2500 | 0.1154 | 0.2500 | 0.0769 | 0.2500 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0660 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.8760 |
| predicted_AVG | 0.2842 |
| predicted_BB | 0.3230 |
| predicted_H | 1.1010 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.0770 |
| predicted_OBP | 0.3424 |
| predicted_R | 0.5460 |
| predicted_RBI | 0.4110 |
| predicted_SLG | 0.3636 |
| predicted_SO | 1.0610 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0660 | 0.0230 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0017 | model_form_blend |
| predicted_AB | 3.7140 | 3.8760 | 3.7704 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2842 | 0.2619 | model_form_blend |
| predicted_BB | 0.2860 | 0.3230 | 0.2989 | model_form_blend |
| predicted_H | 0.8000 | 1.1010 | 0.9047 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.1400 | 0.0770 | 0.1181 | model_form_blend |
| predicted_OBP | 0.3060 | 0.3424 | 0.3187 | model_form_blend |
| predicted_R | 0.5710 | 0.5460 | 0.5623 | model_form_blend |
| predicted_RBI | 0.4700 | 0.4110 | 0.4495 | model_form_blend |
| predicted_SLG | 0.4160 | 0.3636 | 0.3978 | model_form_blend |
| predicted_SO | 0.9290 | 1.0610 | 0.9749 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 14 |
| Season rows before report date | 14 |
| Report year | 2026 |
| Profile rows used | 14 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.25 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 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 | 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 | 20260531_LAA@TB |
| game_type | full |
| mlbID | 683748 |
| playerID | 683748 |
| playerName | Victor Mesa Jr. |
| pos | CF |
| started | True |
| startingPosition | RF |
| team | TB |
| teamID | 27 |
| game_date | 2026-05-31 |
| sl_k_percent | 21.4 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.352 |
| sl_xwoba | 0.464 |
| sl_xba | 0.349 |
| sl_xslg | 0.706 |
| sl_sweet_spot_percent | 60.0 |
| sl_barrel_batted_rate | 20.0 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 94.1 |
| sl_launch_angle_avg | 20.1 |
| sl_whiff_percent | 29.0 |
| sl_swing_percent | 62.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.081 | 0.000 | 0.000 | Hitting_2B | 0.081 | 0.000 | -0.081 | 0.000 |
| predicted_3B | 0.022 | 0.000 | 0.000 | Hitting_3B | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_AB | 3.724 | 3.000 | 7.000 | Hitting_AB | 3.704 | 3.000 | -0.704 | 0.000 |
| predicted_AVG | 0.214 | 0.333 | 0.143 | Hitting_AVG | 0.189 | 0.000 | 0.145 | 0.333 |
| predicted_BB | 0.319 | 0.000 | 1.000 | Hitting_BB | 0.317 | 1.000 | -0.317 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.108 | 0.000 | -0.108 | 0.000 |
| predicted_H | 0.730 | 1.000 | 1.000 | Hitting_H | 0.699 | 0.000 | 0.301 | 1.000 |
| predicted_HR | 0.060 | 1.000 | 0.000 | Hitting_HR | 0.070 | 0.000 | 0.930 | 1.000 |
| predicted_OBP | 0.285 | 0.333 | 0.250 | Hitting_OBP | 0.263 | 0.250 | 0.070 | 0.083 |
| predicted_R | 0.411 | 1.000 | 1.000 | Hitting_R | 0.409 | 0.000 | 0.591 | 1.000 |
| predicted_RBI | 0.340 | 2.000 | 1.000 | Hitting_RBI | 0.392 | 1.000 | 1.608 | 1.000 |
| predicted_SLG | 0.305 | 1.333 | 0.143 | Hitting_SLG | 0.279 | 0.000 | 1.055 | 1.333 |
| predicted_SO | 0.724 | 2.000 | 1.000 | Hitting_SO | 0.720 | 1.000 | 1.280 | 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.3400 -> 2.0000 (boost 1.6600, better) |
| Biggest Deboost | predicted_AB: 3.7240 -> 3.0000 (deboost -0.7240, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.7240 -> 7.1241 (boost 3.4001, better) | predicted_SLG: 0.3050 -> 0.2895 (deboost -0.0155, 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.2895 -> 0.2757 (deboost -0.0138, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 3 | 5 | predicted_RBI: 0.6853 -> 1.0000 (boost 0.3147, better) | predicted_H: 1.3679 -> 1.0000 (deboost -0.3679, worse) | AB rounded to 7 (raw=7.12), rates preserved: AVG=0.192 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7423 -> 1.0000 (boost 0.2577, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2757 -> 0.1430 (deboost -0.1327, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 3 | 2 | 2 | 3 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1430 -> 0.2757 (boost 0.1327, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656775",
"player_name": "Cedric Mullins",
"position": "CF",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.081,
"predicted_3B": 0.022,
"predicted_AB": 3.724,
"predicted_AVG": 0.214,
"predicted_BB": 0.319,
"predicted_H": 0.73,
"predicted_HR": 0.06,
"predicted_OBP": 0.285,
"predicted_R": 0.411,
"predicted_RBI": 0.34,
"predicted_SLG": 0.305,
"predicted_SO": 0.724
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1973,
"predicted_3B": 0.0343,
"predicted_AB": 7.1241,
"predicted_AVG": 0.2018,
"predicted_BB": 0.6957,
"predicted_H": 1.3464,
"predicted_HBP": 0.16,
"predicted_HR": 0.1087,
"predicted_OBP": 0.2781,
"predicted_R": 0.7192,
"predicted_RBI": 0.664,
"predicted_SLG": 0.2895,
"predicted_SO": 1.3781
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.081,
"after": 0.1973,
"delta": 0.1163,
"percent_delta": 1.4358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.022,
"after": 0.0343,
"delta": 0.0123,
"percent_delta": 0.5591,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.724,
"after": 7.1241,
"delta": 3.4001,
"percent_delta": 0.913,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.2018,
"delta": -0.0122,
"percent_delta": -0.057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.319,
"after": 0.6957,
"delta": 0.3767,
"percent_delta": 1.1809,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 1.3464,
"delta": 0.6164,
"percent_delta": 0.8444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.1087,
"delta": 0.0487,
"percent_delta": 0.8117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2781,
"delta": -0.0069,
"percent_delta": -0.0242,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.411,
"after": 0.7192,
"delta": 0.3082,
"percent_delta": 0.7499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.664,
"delta": 0.324,
"percent_delta": 0.9529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.305,
"after": 0.2895,
"delta": -0.0155,
"percent_delta": -0.0508,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.724,
"after": 1.3781,
"delta": 0.6541,
"percent_delta": 0.9035,
"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.724,
"after": 7.1241,
"delta": 3.4001,
"percent_delta": 0.913,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.305,
"after": 0.2895,
"delta": -0.0155,
"percent_delta": -0.0508,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.1973,
"predicted_3B": 0.0343,
"predicted_AB": 7.1241,
"predicted_AVG": 0.192,
"predicted_BB": 0.7028,
"predicted_H": 1.3679,
"predicted_HBP": 0.16,
"predicted_HR": 0.1101,
"predicted_OBP": 0.2646,
"predicted_R": 0.7423,
"predicted_RBI": 0.6853,
"predicted_SLG": 0.2757,
"predicted_SO": 1.364
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1973,
"after": 0.1973,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0343,
"after": 0.0343,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.1241,
"after": 7.1241,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2018,
"after": 0.192,
"delta": -0.0098,
"percent_delta": -0.0486,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6957,
"after": 0.7028,
"delta": 0.0071,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3464,
"after": 1.3679,
"delta": 0.0215,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.16,
"after": 0.16,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1087,
"after": 0.1101,
"delta": 0.0014,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2781,
"after": 0.2646,
"delta": -0.0135,
"percent_delta": -0.0485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7192,
"after": 0.7423,
"delta": 0.0231,
"percent_delta": 0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.664,
"after": 0.6853,
"delta": 0.0213,
"percent_delta": 0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2895,
"after": 0.2757,
"delta": -0.0138,
"percent_delta": -0.0477,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3781,
"after": 1.364,
"delta": -0.0141,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2895,
"after": 0.2757,
"delta": -0.0138,
"percent_delta": -0.0477,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.12), rates preserved: AVG=0.192 HR/AB=0.015",
"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.1973,
"after": 0.0,
"delta": -0.1973,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0343,
"after": 0.0,
"delta": -0.0343,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.1241,
"after": 7.0,
"delta": -0.1241,
"percent_delta": -0.0174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7028,
"after": 1.0,
"delta": 0.2972,
"percent_delta": 0.4229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3679,
"after": 1.0,
"delta": -0.3679,
"percent_delta": -0.269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"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.1101,
"after": 0.0,
"delta": -0.1101,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6853,
"after": 1.0,
"delta": 0.3147,
"percent_delta": 0.4592,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.364,
"after": 1.0,
"delta": -0.364,
"percent_delta": -0.2669,
"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.6853,
"after": 1.0,
"delta": 0.3147,
"percent_delta": 0.4592,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.3679,
"after": 1.0,
"delta": -0.3679,
"percent_delta": -0.269,
"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.7423,
"after": 1.0,
"delta": 0.2577,
"percent_delta": 0.3472,
"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.7423,
"after": 1.0,
"delta": 0.2577,
"percent_delta": 0.3472,
"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.192,
"after": 0.143,
"delta": -0.049,
"percent_delta": -0.2552,
"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.2646,
"after": 0.25,
"delta": -0.0146,
"percent_delta": -0.0552,
"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.2757,
"after": 0.143,
"delta": -0.1327,
"percent_delta": -0.4813,
"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.2757,
"after": 0.143,
"delta": -0.1327,
"percent_delta": -0.4813,
"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": 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": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.192,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2646,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2757,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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.192,
"delta": 0.049,
"percent_delta": 0.3428,
"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.25,
"after": 0.2646,
"delta": 0.0146,
"percent_delta": 0.0583,
"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.143,
"after": 0.2757,
"delta": 0.1327,
"percent_delta": 0.9279,
"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.2757,
"delta": 0.1327,
"percent_delta": 0.9279,
"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.081,
"after": 0.0,
"delta": -0.081,
"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.724,
"after": 3.0,
"delta": -0.724,
"percent_delta": -0.1944,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.192,
"delta": -0.022,
"percent_delta": -0.1028,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.319,
"after": 0.0,
"delta": -0.319,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 1.0,
"delta": 0.27,
"percent_delta": 0.3699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 1.0,
"delta": 0.94,
"percent_delta": 15.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2646,
"delta": -0.0204,
"percent_delta": -0.0716,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.411,
"after": 1.0,
"delta": 0.589,
"percent_delta": 1.4331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 2.0,
"delta": 1.66,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.305,
"after": 0.2757,
"delta": -0.0293,
"percent_delta": -0.0961,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.724,
"after": 2.0,
"delta": 1.276,
"percent_delta": 1.7624,
"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.34,
"after": 2.0,
"delta": 1.66,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.724,
"after": 3.0,
"delta": -0.724,
"percent_delta": -0.1944,
"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.081 | - |
| predicted_3B | 0.022 | - |
| predicted_AB | 3.724 | - |
| predicted_AVG | 0.214 | - |
| predicted_BB | 0.319 | - |
| predicted_H | 0.730 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.411 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.305 | - |
| predicted_SO | 0.724 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.197 | 0.116 |
| predicted_3B | 0.034 | 0.012 |
| predicted_AB | 7.124 | 3.400 |
| predicted_AVG | 0.202 | -0.012 |
| predicted_BB | 0.696 | 0.377 |
| predicted_H | 1.346 | 0.616 |
| predicted_HBP | 0.160 | - |
| predicted_HR | 0.109 | 0.049 |
| predicted_OBP | 0.278 | -0.007 |
| predicted_R | 0.719 | 0.308 |
| predicted_RBI | 0.664 | 0.324 |
| predicted_SLG | 0.289 | -0.016 |
| predicted_SO | 1.378 | 0.654 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.197 | 0.000 |
| predicted_3B | 0.034 | 0.000 |
| predicted_AB | 7.124 | 0.000 |
| predicted_AVG | 0.192 | -0.010 |
| predicted_BB | 0.703 | 0.007 |
| predicted_H | 1.368 | 0.021 |
| predicted_HBP | 0.160 | 0.000 |
| predicted_HR | 0.110 | 0.001 |
| predicted_OBP | 0.265 | -0.014 |
| predicted_R | 0.742 | 0.023 |
| predicted_RBI | 0.685 | 0.021 |
| predicted_SLG | 0.276 | -0.014 |
| predicted_SO | 1.364 | -0.014 |
AB rounded to 7 (raw=7.12), rates preserved: AVG=0.192 HR/AB=0.015
| 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.197 |
| predicted_3B | 0.000 | -0.034 |
| predicted_AB | 7.000 | -0.124 |
| predicted_AVG | 0.143 | -0.049 |
| predicted_BB | 1.000 | 0.297 |
| predicted_H | 1.000 | -0.368 |
| predicted_HR | 0.000 | -0.110 |
| predicted_OBP | 0.250 | -0.015 |
| predicted_R | 1.000 | 0.258 |
| predicted_RBI | 1.000 | 0.315 |
| predicted_SLG | 0.143 | -0.133 |
| predicted_SO | 1.000 | -0.364 |
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 | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 3.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 17.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 3.000 | 0.1765 | 0.3000 | 0.2353 | 0.1765 | 0.0000 | 0.0588 | 0.1765 | 0.1765 |
| last_10 | 0.20 | 5 | - | 37.000 | 5.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 8.000 | 0.1351 | 0.2000 | 0.1622 | 0.1351 | 0.0000 | 0.0270 | 0.0811 | 0.2162 |
| season | 0.60 | 49 | - | 689.000 | 130.000 | 15.000 | 4.000 | 13.000 | 73.000 | 76.000 | 59.000 | 134.000 | 0.1887 | 0.2634 | 0.2787 | 0.1887 | 0.0189 | 0.1060 | 0.0856 | 0.1945 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3460 |
| predicted_3B | 0.0500 |
| predicted_AB | 11.4690 |
| predicted_AVG | 0.1861 |
| predicted_BB | 1.1770 |
| predicted_H | 2.1340 |
| predicted_HBP | 0.1600 |
| predicted_HR | 0.1710 |
| predicted_OBP | 0.2693 |
| predicted_R | 1.1130 |
| predicted_RBI | 1.0780 |
| predicted_SLG | 0.2696 |
| predicted_SO | 2.2140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0810 | 0.3460 | 0.1973 | model_form_blend |
| predicted_3B | 0.0220 | 0.0500 | 0.0343 | model_form_blend |
| predicted_AB | 3.7240 | 11.4690 | 7.1241 | model_form_blend |
| predicted_AVG | 0.2140 | 0.1861 | 0.2018 | model_form_blend |
| predicted_BB | 0.3190 | 1.1770 | 0.6957 | model_form_blend |
| predicted_H | 0.7300 | 2.1340 | 1.3464 | model_form_blend |
| predicted_HBP | - | 0.1600 | 0.1600 | form_only |
| predicted_HR | 0.0600 | 0.1710 | 0.1087 | model_form_blend |
| predicted_OBP | 0.2850 | 0.2693 | 0.2781 | model_form_blend |
| predicted_R | 0.4110 | 1.1130 | 0.7192 | model_form_blend |
| predicted_RBI | 0.3400 | 1.0780 | 0.6640 | model_form_blend |
| predicted_SLG | 0.3050 | 0.2696 | 0.2895 | model_form_blend |
| predicted_SO | 0.7240 | 2.2140 | 1.3781 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 186 |
| Season rows before report date | 186 |
| 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 | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.189 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260531_LAA@TB |
| game_type | full |
| mlbID | 656775 |
| playerID | 656775 |
| playerName | Cedric Mullins |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | TB |
| teamID | 27 |
| game_date | 2026-05-31 |
| sl_k_percent | 16.8 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.249 |
| sl_xwoba | 0.244 |
| sl_xba | 0.184 |
| sl_xslg | 0.28 |
| sl_sweet_spot_percent | 28.4 |
| sl_barrel_batted_rate | 1.4 |
| sl_hard_hit_percent | 28.8 |
| sl_exit_velocity_avg | 87.8 |
| sl_launch_angle_avg | 29.2 |
| sl_whiff_percent | 19.2 |
| sl_swing_percent | 48.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.068 | 1.000 | 0.000 | Hitting_2B | 0.066 | 0.000 | 0.934 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.635 | 3.000 | 4.000 | Hitting_AB | 2.566 | 2.000 | 0.434 | 1.000 |
| predicted_AVG | 0.281 | 0.333 | 0.250 | Hitting_AVG | 0.251 | 0.000 | 0.082 | 0.333 |
| predicted_BB | 0.243 | 0.000 | 0.000 | Hitting_BB | 0.250 | 1.000 | -0.250 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.210 | 1.000 | 1.000 | Hitting_H | 0.645 | 0.000 | 0.355 | 1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_OBP | 0.310 | 0.333 | 0.250 | Hitting_OBP | 0.323 | 0.333 | 0.011 | 0.000 |
| predicted_R | 0.270 | 0.000 | 0.000 | Hitting_R | 0.263 | 0.000 | -0.263 | 0.000 |
| predicted_RBI | 0.110 | 0.000 | 0.000 | Hitting_RBI | 0.197 | 0.000 | -0.197 | 0.000 |
| predicted_SLG | 0.388 | 0.667 | 0.250 | Hitting_SLG | 0.292 | 0.000 | 0.374 | 0.667 |
| predicted_SO | 1.014 | 0.000 | 1.000 | Hitting_SO | 0.987 | 1.000 | -0.987 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_2B: 0.0680 -> 1.0000 (boost 0.9320, better) |
| Biggest Deboost | predicted_SO: 1.0140 -> 0.0000 (deboost -1.0140, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 8 | 1 | 7 | 2 | predicted_AB: 2.6350 -> 4.2986 (boost 1.6636, better) | predicted_SLG: 0.3880 -> 0.3700 (deboost -0.0180, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3700 -> 0.2751 (deboost -0.0949, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 0 | 6 | 1 | 5 | - | predicted_SO: 1.5496 -> 1.0000 (deboost -0.5496, better) | AB rounded to 4 (raw=4.30), rates preserved: AVG=0.223 HR/AB=0.009 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4096 -> 0.0000 (deboost -0.4096, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2226 -> 0.2500 (boost 0.0274, better) | predicted_OBP: 0.2842 -> 0.2500 (deboost -0.0342, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2500 -> 0.2842 (boost 0.0342, better) | predicted_AVG: 0.2500 -> 0.2226 (deboost -0.0274, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676439",
"player_name": "Hunter Feduccia",
"position": "C",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.068,
"predicted_3B": 0.0,
"predicted_AB": 2.635,
"predicted_AVG": 0.281,
"predicted_BB": 0.243,
"predicted_H": 0.21,
"predicted_HR": 0.03,
"predicted_OBP": 0.31,
"predicted_R": 0.27,
"predicted_RBI": 0.11,
"predicted_SLG": 0.388,
"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.1053,
"predicted_3B": 0.0012,
"predicted_AB": 4.2986,
"predicted_AVG": 0.2877,
"predicted_BB": 0.3658,
"predicted_H": 0.942,
"predicted_HBP": 0.078,
"predicted_HR": 0.0387,
"predicted_OBP": 0.3289,
"predicted_R": 0.3969,
"predicted_RBI": 0.2452,
"predicted_SLG": 0.37,
"predicted_SO": 1.5656
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.068,
"after": 0.1053,
"delta": 0.0373,
"percent_delta": 0.5485,
"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.635,
"after": 4.2986,
"delta": 1.6636,
"percent_delta": 0.6313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.2877,
"delta": 0.0067,
"percent_delta": 0.0238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.243,
"after": 0.3658,
"delta": 0.1228,
"percent_delta": 0.5053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.21,
"after": 0.942,
"delta": 0.732,
"percent_delta": 3.4857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0387,
"delta": 0.0087,
"percent_delta": 0.29,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3289,
"delta": 0.0189,
"percent_delta": 0.061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.27,
"after": 0.3969,
"delta": 0.1269,
"percent_delta": 0.47,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.11,
"after": 0.2452,
"delta": 0.1352,
"percent_delta": 1.2291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.388,
"after": 0.37,
"delta": -0.018,
"percent_delta": -0.0464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.014,
"after": 1.5656,
"delta": 0.5516,
"percent_delta": 0.544,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 8,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.635,
"after": 4.2986,
"delta": 1.6636,
"percent_delta": 0.6313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.388,
"after": 0.37,
"delta": -0.018,
"percent_delta": -0.0464,
"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.1053,
"predicted_3B": 0.0012,
"predicted_AB": 4.2986,
"predicted_AVG": 0.2226,
"predicted_BB": 0.3695,
"predicted_H": 0.9571,
"predicted_HBP": 0.078,
"predicted_HR": 0.0392,
"predicted_OBP": 0.2842,
"predicted_R": 0.4096,
"predicted_RBI": 0.2531,
"predicted_SLG": 0.2751,
"predicted_SO": 1.5496
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1053,
"after": 0.1053,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2986,
"after": 4.2986,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2877,
"after": 0.2226,
"delta": -0.0651,
"percent_delta": -0.2263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3658,
"after": 0.3695,
"delta": 0.0037,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.942,
"after": 0.9571,
"delta": 0.0151,
"percent_delta": 0.016,
"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.0387,
"after": 0.0392,
"delta": 0.0005,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3289,
"after": 0.2842,
"delta": -0.0447,
"percent_delta": -0.1359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3969,
"after": 0.4096,
"delta": 0.0127,
"percent_delta": 0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2452,
"after": 0.2531,
"delta": 0.0079,
"percent_delta": 0.0322,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.37,
"after": 0.2751,
"delta": -0.0949,
"percent_delta": -0.2565,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5656,
"after": 1.5496,
"delta": -0.016,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.37,
"after": 0.2751,
"delta": -0.0949,
"percent_delta": -0.2565,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.30), rates preserved: AVG=0.223 HR/AB=0.009",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1053,
"after": 0.0,
"delta": -0.1053,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0,
"delta": -0.0012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2986,
"after": 4.0,
"delta": -0.2986,
"percent_delta": -0.0695,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3695,
"after": 0.0,
"delta": -0.3695,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9571,
"after": 1.0,
"delta": 0.0429,
"percent_delta": 0.0448,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.0392,
"after": 0.0,
"delta": -0.0392,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2531,
"after": 0.0,
"delta": -0.2531,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5496,
"after": 1.0,
"delta": -0.5496,
"percent_delta": -0.3547,
"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.5496,
"after": 1.0,
"delta": -0.5496,
"percent_delta": -0.3547,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4096,
"after": 0.0,
"delta": -0.4096,
"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.4096,
"after": 0.0,
"delta": -0.4096,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2226,
"after": 0.25,
"delta": 0.0274,
"percent_delta": 0.1231,
"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.2842,
"after": 0.25,
"delta": -0.0342,
"percent_delta": -0.1203,
"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.2751,
"after": 0.25,
"delta": -0.0251,
"percent_delta": -0.0912,
"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.2226,
"after": 0.25,
"delta": 0.0274,
"percent_delta": 0.1231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2842,
"after": 0.25,
"delta": -0.0342,
"percent_delta": -0.1203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2226,
"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.2842,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2751,
"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.2226,
"delta": -0.0274,
"percent_delta": -0.1094,
"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.2842,
"delta": 0.0342,
"percent_delta": 0.1367,
"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.2751,
"delta": 0.0251,
"percent_delta": 0.1002,
"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_OBP",
"before": 0.25,
"after": 0.2842,
"delta": 0.0342,
"percent_delta": 0.1367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2226,
"delta": -0.0274,
"percent_delta": -0.1094,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.068,
"after": 1.0,
"delta": 0.932,
"percent_delta": 13.7059,
"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.635,
"after": 3.0,
"delta": 0.365,
"percent_delta": 0.1385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.2226,
"delta": -0.0584,
"percent_delta": -0.2078,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.243,
"after": 0.0,
"delta": -0.243,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.21,
"after": 1.0,
"delta": 0.79,
"percent_delta": 3.7619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.2842,
"delta": -0.0258,
"percent_delta": -0.0832,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"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.388,
"after": 0.2751,
"delta": -0.1129,
"percent_delta": -0.291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.014,
"after": 0.0,
"delta": -1.014,
"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_2B",
"before": 0.068,
"after": 1.0,
"delta": 0.932,
"percent_delta": 13.7059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.014,
"after": 0.0,
"delta": -1.014,
"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.068 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.635 | - |
| predicted_AVG | 0.281 | - |
| predicted_BB | 0.243 | - |
| predicted_H | 0.210 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.310 | - |
| predicted_R | 0.270 | - |
| predicted_RBI | 0.110 | - |
| predicted_SLG | 0.388 | - |
| 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.105 | 0.037 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.299 | 1.664 |
| predicted_AVG | 0.288 | 0.007 |
| predicted_BB | 0.366 | 0.123 |
| predicted_H | 0.942 | 0.732 |
| predicted_HBP | 0.078 | - |
| predicted_HR | 0.039 | 0.009 |
| predicted_OBP | 0.329 | 0.019 |
| predicted_R | 0.397 | 0.127 |
| predicted_RBI | 0.245 | 0.135 |
| predicted_SLG | 0.370 | -0.018 |
| predicted_SO | 1.566 | 0.552 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.105 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.299 | 0.000 |
| predicted_AVG | 0.223 | -0.065 |
| predicted_BB | 0.369 | 0.004 |
| predicted_H | 0.957 | 0.015 |
| predicted_HBP | 0.078 | 0.000 |
| predicted_HR | 0.039 | 0.001 |
| predicted_OBP | 0.284 | -0.045 |
| predicted_R | 0.410 | 0.013 |
| predicted_RBI | 0.253 | 0.008 |
| predicted_SLG | 0.275 | -0.095 |
| predicted_SO | 1.550 | -0.016 |
AB rounded to 4 (raw=4.30), rates preserved: AVG=0.223 HR/AB=0.009
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.105 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.299 |
| predicted_AVG | 0.250 | 0.027 |
| predicted_BB | 0.000 | -0.369 |
| predicted_H | 1.000 | 0.043 |
| predicted_HR | 0.000 | -0.039 |
| predicted_OBP | 0.250 | -0.034 |
| predicted_R | 0.000 | -0.410 |
| predicted_RBI | 0.000 | -0.253 |
| predicted_SLG | 0.250 | -0.025 |
| predicted_SO | 1.000 | -0.550 |
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 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 2 | - | 18.000 | 12.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 5.000 | 0.6667 | 0.6842 | 0.6667 | 0.6667 | 0.0000 | 0.0000 | 0.0556 | 0.2778 |
| last_10 | 0.20 | 4 | - | 36.000 | 12.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 13.000 | 0.3333 | 0.3514 | 0.3333 | 0.3333 | 0.0000 | 0.0000 | 0.0278 | 0.3611 |
| season | 0.60 | 30 | - | 195.000 | 49.000 | 5.000 | 0.000 | 1.000 | 14.000 | 20.000 | 18.000 | 75.000 | 0.2513 | 0.3196 | 0.2923 | 0.2513 | 0.0051 | 0.0718 | 0.0923 | 0.3846 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1580 |
| predicted_3B | 0.0030 |
| predicted_AB | 6.6460 |
| predicted_AVG | 0.2972 |
| predicted_BB | 0.5390 |
| predicted_H | 1.9750 |
| predicted_HBP | 0.0780 |
| predicted_HR | 0.0510 |
| predicted_OBP | 0.3556 |
| predicted_R | 0.5760 |
| predicted_RBI | 0.4360 |
| predicted_SLG | 0.3447 |
| predicted_SO | 2.3440 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0680 | 0.1580 | 0.1053 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 2.6350 | 6.6460 | 4.2986 | model_form_blend |
| predicted_AVG | 0.2810 | 0.2972 | 0.2877 | model_form_blend |
| predicted_BB | 0.2430 | 0.5390 | 0.3658 | model_form_blend |
| predicted_H | 0.2100 | 1.9750 | 0.9420 | model_form_blend |
| predicted_HBP | - | 0.0780 | 0.0780 | form_only |
| predicted_HR | 0.0300 | 0.0510 | 0.0387 | model_form_blend |
| predicted_OBP | 0.3100 | 0.3556 | 0.3289 | model_form_blend |
| predicted_R | 0.2700 | 0.5760 | 0.3969 | model_form_blend |
| predicted_RBI | 0.1100 | 0.4360 | 0.2452 | model_form_blend |
| predicted_SLG | 0.3880 | 0.3447 | 0.3700 | model_form_blend |
| predicted_SO | 1.0140 | 2.3440 | 1.5656 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 74 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.251 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 20260531_LAA@TB |
| game_type | full |
| mlbID | 676439 |
| playerID | 676439 |
| playerName | Hunter Feduccia |
| pos | C |
| started | True |
| startingPosition | C |
| team | TB |
| teamID | 27 |
| game_date | 2026-05-31 |
| sl_k_percent | 30.7 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.325 |
| sl_xwoba | 0.293 |
| sl_xba | 0.223 |
| sl_xslg | 0.325 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 2.3 |
| sl_hard_hit_percent | 25.6 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 20.3 |
| sl_whiff_percent | 25.2 |
| sl_swing_percent | 47.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.150 | 0.000 | 0.000 | Hitting_2B | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_3B | 0.054 | 0.000 | 0.000 | Hitting_3B | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_AB | 3.340 | 3.000 | 7.000 | Hitting_AB | 3.295 | 3.000 | -0.295 | 0.000 |
| predicted_AVG | 0.230 | 0.000 | 0.143 | Hitting_AVG | 0.202 | 0.667 | -0.202 | -0.667 |
| predicted_BB | 0.463 | 0.000 | 1.000 | Hitting_BB | 0.456 | 1.000 | -0.456 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_H | 0.630 | 0.000 | 1.000 | Hitting_H | 0.664 | 2.000 | -0.664 | -2.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.306 | 0.000 | 0.250 | Hitting_OBP | 0.304 | 0.750 | -0.304 | -0.750 |
| predicted_R | 0.510 | 0.000 | 1.000 | Hitting_R | 0.510 | 0.000 | -0.510 | 0.000 |
| predicted_RBI | 0.290 | 0.000 | 1.000 | Hitting_RBI | 0.362 | 0.000 | -0.362 | 0.000 |
| predicted_SLG | 0.308 | 0.000 | 0.143 | Hitting_SLG | 0.279 | 0.667 | -0.279 | -0.667 |
| predicted_SO | 1.034 | 2.000 | 2.000 | Hitting_SO | 1.020 | 0.000 | 0.980 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 0 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 1.0340 -> 2.0000 (boost 0.9660, worse) |
| Biggest Deboost | predicted_H: 0.6300 -> 0.0000 (deboost -0.6300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 7 | 3 | 6 | 4 | predicted_AB: 3.3400 -> 6.6719 (boost 3.3319, better) | predicted_SLG: 0.3080 -> 0.2910 (deboost -0.0170, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2182 -> 0.2021 (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 | 3 | 5 | 4 | 4 | predicted_RBI: 0.6088 -> 1.0000 (boost 0.3912, better) | predicted_H: 1.3484 -> 1.0000 (deboost -0.3484, worse) | AB rounded to 7 (raw=6.67), rates preserved: AVG=0.202 HR/AB=0.005 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8947 -> 1.0000 (boost 0.1053, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2817 -> 0.1430 (deboost -0.1387, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1430 -> 0.2817 (boost 0.1387, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670764",
"player_name": "Taylor Walls",
"position": "SS",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.15,
"predicted_3B": 0.054,
"predicted_AB": 3.34,
"predicted_AVG": 0.23,
"predicted_BB": 0.463,
"predicted_H": 0.63,
"predicted_HR": 0.04,
"predicted_OBP": 0.306,
"predicted_R": 0.51,
"predicted_RBI": 0.29,
"predicted_SLG": 0.308,
"predicted_SO": 1.034
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2575,
"predicted_3B": 0.0897,
"predicted_AB": 6.6719,
"predicted_AVG": 0.2182,
"predicted_BB": 0.8464,
"predicted_H": 1.3272,
"predicted_HBP": 0.072,
"predicted_HR": 0.0309,
"predicted_OBP": 0.3006,
"predicted_R": 0.8669,
"predicted_RBI": 0.5899,
"predicted_SLG": 0.291,
"predicted_SO": 2.1816
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.15,
"after": 0.2575,
"delta": 0.1075,
"percent_delta": 0.7167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.054,
"after": 0.0897,
"delta": 0.0357,
"percent_delta": 0.6611,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.34,
"after": 6.6719,
"delta": 3.3319,
"percent_delta": 0.9976,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2182,
"delta": -0.0118,
"percent_delta": -0.0513,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.463,
"after": 0.8464,
"delta": 0.3834,
"percent_delta": 0.8281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 1.3272,
"delta": 0.6972,
"percent_delta": 1.1067,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0309,
"delta": -0.0091,
"percent_delta": -0.2275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3006,
"delta": -0.0054,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.51,
"after": 0.8669,
"delta": 0.3569,
"percent_delta": 0.6998,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.5899,
"delta": 0.2999,
"percent_delta": 1.0341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.308,
"after": 0.291,
"delta": -0.017,
"percent_delta": -0.0552,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.034,
"after": 2.1816,
"delta": 1.1476,
"percent_delta": 1.1099,
"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.34,
"after": 6.6719,
"delta": 3.3319,
"percent_delta": 0.9976,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.308,
"after": 0.291,
"delta": -0.017,
"percent_delta": -0.0552,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 3,
"last_10": 4,
"season": 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.2575,
"predicted_3B": 0.0897,
"predicted_AB": 6.6719,
"predicted_AVG": 0.2021,
"predicted_BB": 0.855,
"predicted_H": 1.3484,
"predicted_HBP": 0.072,
"predicted_HR": 0.0313,
"predicted_OBP": 0.2927,
"predicted_R": 0.8947,
"predicted_RBI": 0.6088,
"predicted_SLG": 0.2817,
"predicted_SO": 2.1593
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2575,
"after": 0.2575,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0897,
"after": 0.0897,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.6719,
"after": 6.6719,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2182,
"after": 0.2021,
"delta": -0.0161,
"percent_delta": -0.0738,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8464,
"after": 0.855,
"delta": 0.0086,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3272,
"after": 1.3484,
"delta": 0.0212,
"percent_delta": 0.016,
"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.0309,
"after": 0.0313,
"delta": 0.0004,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3006,
"after": 0.2927,
"delta": -0.0079,
"percent_delta": -0.0263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8669,
"after": 0.8947,
"delta": 0.0278,
"percent_delta": 0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5899,
"after": 0.6088,
"delta": 0.0189,
"percent_delta": 0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.291,
"after": 0.2817,
"delta": -0.0093,
"percent_delta": -0.032,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1816,
"after": 2.1593,
"delta": -0.0223,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2182,
"after": 0.2021,
"delta": -0.0161,
"percent_delta": -0.0738,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.67), rates preserved: AVG=0.202 HR/AB=0.005",
"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.2575,
"after": 0.0,
"delta": -0.2575,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0897,
"after": 0.0,
"delta": -0.0897,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.6719,
"after": 7.0,
"delta": 0.3281,
"percent_delta": 0.0492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.855,
"after": 1.0,
"delta": 0.145,
"percent_delta": 0.1696,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3484,
"after": 1.0,
"delta": -0.3484,
"percent_delta": -0.2584,
"direction": "deboost",
"projection_effect": "worse",
"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.0313,
"after": 0.0,
"delta": -0.0313,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6088,
"after": 1.0,
"delta": 0.3912,
"percent_delta": 0.6426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1593,
"after": 2.0,
"delta": -0.1593,
"percent_delta": -0.0738,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6088,
"after": 1.0,
"delta": 0.3912,
"percent_delta": 0.6426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.3484,
"after": 1.0,
"delta": -0.3484,
"percent_delta": -0.2584,
"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.8947,
"after": 1.0,
"delta": 0.1053,
"percent_delta": 0.1177,
"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.8947,
"after": 1.0,
"delta": 0.1053,
"percent_delta": 0.1177,
"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.2021,
"after": 0.143,
"delta": -0.0591,
"percent_delta": -0.2924,
"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.2927,
"after": 0.25,
"delta": -0.0427,
"percent_delta": -0.1459,
"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.2817,
"after": 0.143,
"delta": -0.1387,
"percent_delta": -0.4924,
"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.2817,
"after": 0.143,
"delta": -0.1387,
"percent_delta": -0.4924,
"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": 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": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2021,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2927,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2817,
"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.143,
"after": 0.2021,
"delta": 0.0591,
"percent_delta": 0.4133,
"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.2927,
"delta": 0.0427,
"percent_delta": 0.171,
"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.2817,
"delta": 0.1387,
"percent_delta": 0.9696,
"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.2817,
"delta": 0.1387,
"percent_delta": 0.9696,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.054,
"after": 0.0,
"delta": -0.054,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.34,
"after": 3.0,
"delta": -0.34,
"percent_delta": -0.1018,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2021,
"delta": -0.0279,
"percent_delta": -0.1213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.463,
"after": 0.0,
"delta": -0.463,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.2927,
"delta": -0.0133,
"percent_delta": -0.0435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"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.308,
"after": 0.2817,
"delta": -0.0263,
"percent_delta": -0.0854,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.034,
"after": 2.0,
"delta": 0.966,
"percent_delta": 0.9342,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 0,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.034,
"after": 2.0,
"delta": 0.966,
"percent_delta": 0.9342,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.150 | - |
| predicted_3B | 0.054 | - |
| predicted_AB | 3.340 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.463 | - |
| predicted_H | 0.630 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.306 | - |
| predicted_R | 0.510 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.308 | - |
| predicted_SO | 1.034 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.258 | 0.108 |
| predicted_3B | 0.090 | 0.036 |
| predicted_AB | 6.672 | 3.332 |
| predicted_AVG | 0.218 | -0.012 |
| predicted_BB | 0.846 | 0.383 |
| predicted_H | 1.327 | 0.697 |
| predicted_HBP | 0.072 | - |
| predicted_HR | 0.031 | -0.009 |
| predicted_OBP | 0.301 | -0.005 |
| predicted_R | 0.867 | 0.357 |
| predicted_RBI | 0.590 | 0.300 |
| predicted_SLG | 0.291 | -0.017 |
| predicted_SO | 2.182 | 1.148 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.258 | 0.000 |
| predicted_3B | 0.090 | 0.000 |
| predicted_AB | 6.672 | 0.000 |
| predicted_AVG | 0.202 | -0.016 |
| predicted_BB | 0.855 | 0.009 |
| predicted_H | 1.348 | 0.021 |
| predicted_HBP | 0.072 | 0.000 |
| predicted_HR | 0.031 | 0.000 |
| predicted_OBP | 0.293 | -0.008 |
| predicted_R | 0.895 | 0.028 |
| predicted_RBI | 0.609 | 0.019 |
| predicted_SLG | 0.282 | -0.009 |
| predicted_SO | 2.159 | -0.022 |
AB rounded to 7 (raw=6.67), rates preserved: AVG=0.202 HR/AB=0.005
| 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.258 |
| predicted_3B | 0.000 | -0.090 |
| predicted_AB | 7.000 | 0.328 |
| predicted_AVG | 0.143 | -0.059 |
| predicted_BB | 1.000 | 0.145 |
| predicted_H | 1.000 | -0.348 |
| predicted_HR | 0.000 | -0.031 |
| predicted_OBP | 0.250 | -0.043 |
| predicted_R | 1.000 | 0.105 |
| predicted_RBI | 1.000 | 0.391 |
| predicted_SLG | 0.143 | -0.139 |
| predicted_SO | 2.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 | -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 | 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 | - | 24.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 11.000 | 0.2083 | 0.2692 | 0.2083 | 0.2083 | 0.0000 | 0.0000 | 0.0833 | 0.4583 |
| last_10 | 0.20 | 4 | - | 50.000 | 8.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 22.000 | 0.1600 | 0.1923 | 0.1600 | 0.1600 | 0.0000 | 0.0000 | 0.0400 | 0.4400 |
| season | 0.60 | 41 | - | 491.000 | 99.000 | 22.000 | 8.000 | 0.000 | 54.000 | 75.000 | 68.000 | 152.000 | 0.2016 | 0.3037 | 0.2790 | 0.2016 | 0.0000 | 0.1100 | 0.1385 | 0.3096 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3970 |
| predicted_3B | 0.1360 |
| predicted_AB | 10.9960 |
| predicted_AVG | 0.2030 |
| predicted_BB | 1.3440 |
| predicted_H | 2.2320 |
| predicted_HBP | 0.0720 |
| predicted_HR | 0.0190 |
| predicted_OBP | 0.2935 |
| predicted_R | 1.3300 |
| predicted_RBI | 0.9790 |
| predicted_SLG | 0.2690 |
| predicted_SO | 3.6710 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1500 | 0.3970 | 0.2575 | model_form_blend |
| predicted_3B | 0.0540 | 0.1360 | 0.0897 | model_form_blend |
| predicted_AB | 3.3400 | 10.9960 | 6.6719 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2030 | 0.2182 | model_form_blend |
| predicted_BB | 0.4630 | 1.3440 | 0.8464 | model_form_blend |
| predicted_H | 0.6300 | 2.2320 | 1.3272 | model_form_blend |
| predicted_HBP | - | 0.0720 | 0.0720 | form_only |
| predicted_HR | 0.0400 | 0.0190 | 0.0309 | model_form_blend |
| predicted_OBP | 0.3060 | 0.2935 | 0.3006 | model_form_blend |
| predicted_R | 0.5100 | 1.3300 | 0.8669 | model_form_blend |
| predicted_RBI | 0.2900 | 0.9790 | 0.5899 | model_form_blend |
| predicted_SLG | 0.3080 | 0.2690 | 0.2910 | model_form_blend |
| predicted_SO | 1.0340 | 3.6710 | 2.1816 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 149 |
| Season rows before report date | 149 |
| Report year | 2026 |
| Profile rows used | 147 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.202 |
| 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.667 |
| Hitting_BB | 1 |
| 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 | 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 | 20260531_LAA@TB |
| game_type | full |
| mlbID | 670764 |
| playerID | 670764 |
| playerName | Taylor Walls |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | TB |
| teamID | 27 |
| game_date | 2026-05-31 |
| sl_k_percent | 25.2 |
| sl_bb_percent | 11.9 |
| sl_woba | 0.271 |
| sl_xwoba | 0.239 |
| sl_xba | 0.17 |
| sl_xslg | 0.221 |
| sl_sweet_spot_percent | 27.7 |
| sl_barrel_batted_rate | 2.2 |
| sl_hard_hit_percent | 14.9 |
| sl_exit_velocity_avg | 82.7 |
| sl_launch_angle_avg | 19.9 |
| sl_whiff_percent | 21.1 |
| sl_swing_percent | 43.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 4.000 | 4.000 | 4.000 | Pitching_BB | 0.882 | 0.000 | 3.118 | 4.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.706 | 1.000 | 0.294 | 0.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 1.588 | 4.000 | 4.412 | 2.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 1.600 | 2.000 | 3.400 | 3.000 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 1.588 | 3.000 | 4.412 | 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: 5.0000 -> 6.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 | 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 | 1 | 1 | 0 | 1 | 0 | predicted_SO: 5.0000 -> 6.0000 (boost 1.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "643377",
"player_name": "Griffin Jax",
"position": "Starter",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 1.0,
"predicted_H": 6.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": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 1.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 1.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_R": 1.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 5.0,
"after": 5.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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"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": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"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": 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 | 4.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.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 | 4.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 6.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 5.000 | 0.000 |
| predicted_SO | 5.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 18.200 | 4.000 | 16.000 | 7.000 | 15.000 | 1.000 | 1.9286 | 1.2321 | 0.2143 | 0.8571 | 0.3750 | 0.8036 | 0.0536 |
| last_10 | 0.35 | 10 | 24.200 | 7.000 | 20.000 | 11.000 | 23.000 | 3.000 | 2.5541 | 1.2568 | 0.2838 | 0.8108 | 0.4460 | 0.9324 | 0.1216 |
| season | 0.20 | 16 | 30.000 | 9.000 | 24.000 | 14.000 | 27.000 | 4.000 | 2.7000 | 1.2667 | 0.3000 | 0.8000 | 0.4667 | 0.9000 | 0.1333 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5200 |
| predicted_ER | 1.3710 |
| predicted_ERA | 3.2111 |
| predicted_H | 3.4010 |
| predicted_HR | 0.4300 |
| predicted_IP | 4.0000 |
| predicted_SO | 3.4640 |
| predicted_WHIP | 1.2802 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 4.0000 | 1.5200 | 2.8678 | model_form_blend |
| predicted_ER | 1.0000 | 1.3710 | 1.1694 | model_form_blend |
| predicted_ERA | - | 3.2111 | 3.2111 | form_only |
| predicted_H | 6.0000 | 3.4010 | 4.8135 | model_form_blend |
| predicted_HR | 0.0000 | 0.4300 | 0.1963 | model_form_blend |
| predicted_IP | 5.0000 | 4.0000 | 4.2000 | model_form_blend |
| predicted_SO | 5.0000 | 3.4640 | 4.2988 | model_form_blend |
| predicted_WHIP | - | 1.2802 | 1.2802 | 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 | 16 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.0 |
| H | 6 |
| R | 1 |
| ER | 1 |
| BB | 4 |
| SO | 6 |
| HR | 0 |
| BF | 25 |
| Pitches | 97 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 11 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.60 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 2 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.0 |
| Pitching_Pitches | 38 |
| Pitching_R | 3 |
| Pitching_SO | 3 |
| Pitching_Strikes | 26 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260526_TB@BAL |
| game_type | full |
| mlbID | 643377 |
| playerID | 643377 |
| playerName | Griffin Jax |
| pos | P |
| started | True |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-05-26 |
| game_pk | 824837.0 |
| sl_k_percent | 21.1 |
| sl_bb_percent | 11.7 |
| sl_woba | 0.316 |
| sl_xwoba | 0.324 |
| sl_sweet_spot_percent | 25.6 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 36.0 |
| sl_whiff_percent | 29.5 |
| sl_swing_percent | 46.5 |
| sv_pitch_count | 38.0 |
| sv_outs_recorded_est | 6.0 |
| sv_release_speed | 92.75526315789472 |
| sv_release_spin_rate | 2470.4210526315787 |
| sv_effective_speed | 92.77368421052633 |
| sv_launch_speed | 79.33333333333333 |
| sv_launch_angle | -1.5 |
| sv_woba_value | 4.5 |
| sv_woba_denom | 11.0 |
| sv_delta_run_exp | 0.8549999999999999 |
| sv_delta_home_win_exp | 0.218 |
| sl_avg_best_speed | 76.176205476 |
| sl_avg_hyper_speed | 94.176314578 |
| 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.480 | 2.000 | -0.480 | -2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.600 | 1.000 | -0.600 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.000 | 0.000 | -1.000 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.992 | 1.000 | 0.108 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.280 | 1.000 | -0.280 | 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": "693855",
"player_name": "Ian Seymour",
"position": "Middle Reliever",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 7.000 | 2.000 | 4.000 | 4.000 | 6.000 | 0.000 | 2.5714 | 1.1429 | 0.2857 | 0.5714 | 0.5714 | 0.8571 | 0.0000 |
| last_10 | 0.35 | 10 | 12.100 | 5.000 | 8.000 | 5.000 | 13.000 | 2.000 | 3.6486 | 1.0541 | 0.4054 | 0.6486 | 0.4054 | 1.0540 | 0.1622 |
| season | 0.20 | 24 | 29.000 | 10.000 | 20.000 | 12.000 | 32.000 | 3.000 | 3.1034 | 1.1034 | 0.3448 | 0.6897 | 0.4138 | 1.1035 | 0.1035 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5720 |
| predicted_ER | 0.5380 |
| predicted_ERA | 3.6297 |
| predicted_H | 1.0330 |
| predicted_HR | 0.1380 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.2790 |
| predicted_WHIP | 1.2040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5720 | 0.2591 | model_form_blend |
| predicted_ER | 0.0000 | 0.5380 | 0.2437 | model_form_blend |
| predicted_ERA | - | 3.6297 | 3.6297 | form_only |
| predicted_H | 0.0000 | 1.0330 | 0.4679 | model_form_blend |
| predicted_HR | 0.0000 | 0.1380 | 0.0625 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.2790 | 1.1264 | model_form_blend |
| predicted_WHIP | - | 1.2040 | 1.2040 | 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 | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 10 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 4.66 |
| 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 | 23 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 1 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260530_LAA@TB |
| game_type | full |
| mlbID | 693855 |
| playerID | 693855 |
| playerName | Ian Seymour |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-05-30 |
| sl_k_percent | 26.0 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.309 |
| sl_xwoba | 0.306 |
| sl_sweet_spot_percent | 39.7 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 37.2 |
| sl_whiff_percent | 29.2 |
| sl_swing_percent | 48.8 |
| sl_avg_best_speed | 78.434240811 |
| sl_avg_hyper_speed | 93.762813425 |
| 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.423 | 0.000 | -0.423 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.231 | 0.000 | -0.231 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.577 | 1.000 | -0.577 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.900 | 1.000 | 0.100 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.115 | 1.000 | -1.115 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "641329",
"player_name": "Bryan Baker",
"position": "Middle Reliever",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 2.000 | 3.000 | 6.000 | 0.000 | 0.0000 | 1.0000 | 0.0000 | 0.4000 | 0.6000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 2.000 | 6.000 | 8.000 | 13.000 | 0.000 | 1.8621 | 1.4483 | 0.2069 | 0.6207 | 0.8276 | 1.3448 | 0.0000 |
| season | 0.20 | 26 | 24.100 | 6.000 | 15.000 | 11.000 | 29.000 | 1.000 | 2.2192 | 1.0685 | 0.2466 | 0.6164 | 0.4521 | 1.1918 | 0.0411 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5060 |
| predicted_ER | 0.3030 |
| predicted_ERA | 2.7239 |
| predicted_H | 0.7400 |
| predicted_HR | 0.0720 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0920 |
| predicted_WHIP | 1.2461 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5060 | 0.2198 | model_form_blend |
| predicted_ER | 0.0000 | 0.3030 | 0.1316 | model_form_blend |
| predicted_ERA | - | 2.7239 | 2.7239 | form_only |
| predicted_H | 0.0000 | 0.7400 | 0.3215 | model_form_blend |
| predicted_HR | 0.0000 | 0.0720 | 0.0313 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0920 | 0.4745 | model_form_blend |
| predicted_WHIP | - | 1.2461 | 1.2461 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 26 |
| Season rows before report date | 26 |
| Report year | 2026 |
| Profile rows used | 26 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 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 | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.22 |
| 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 | 11 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260531_LAA@TB |
| game_type | full |
| mlbID | 641329 |
| playerID | 641329 |
| playerName | Bryan Baker |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-05-31 |
| sl_k_percent | 29.5 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.246 |
| sl_xwoba | 0.267 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 30.4 |
| sl_whiff_percent | 34.8 |
| sl_swing_percent | 50.6 |
| sl_avg_best_speed | 73.858752857 |
| sl_avg_hyper_speed | 92.81886375 |
| 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.192 | 0.000 | -0.192 | 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.654 | 2.000 | -0.654 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.877 | 1.100 | 0.123 | -0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.731 | 1.000 | 0.269 | 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": "687330",
"player_name": "Kevin Kelly",
"position": "Middle Reliever",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 2.000 | 5.000 | 1.000 | 2.000 | 1.000 | 3.8571 | 1.2857 | 0.4286 | 1.0714 | 0.2143 | 0.4286 | 0.2143 |
| last_10 | 0.35 | 10 | 10.100 | 2.000 | 7.000 | 1.000 | 6.000 | 1.000 | 1.7419 | 0.7742 | 0.1935 | 0.6774 | 0.0968 | 0.5806 | 0.0968 |
| season | 0.20 | 26 | 27.000 | 8.000 | 17.000 | 5.000 | 19.000 | 2.000 | 2.6667 | 0.8148 | 0.2963 | 0.6296 | 0.1852 | 0.7037 | 0.0741 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2650 |
| predicted_ER | 0.3960 |
| predicted_ERA | 3.5608 |
| predicted_H | 0.8960 |
| predicted_HR | 0.1400 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7320 |
| predicted_WHIP | 1.1607 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2650 | 0.1180 | model_form_blend |
| predicted_ER | 0.0000 | 0.3960 | 0.1764 | model_form_blend |
| predicted_ERA | - | 3.5608 | 3.5608 | form_only |
| predicted_H | 0.0000 | 0.8960 | 0.3991 | model_form_blend |
| predicted_HR | 0.0000 | 0.1400 | 0.0624 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7320 | 0.8806 | model_form_blend |
| predicted_WHIP | - | 1.1607 | 1.1607 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 26 |
| Season rows before report date | 26 |
| Report year | 2026 |
| Profile rows used | 26 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 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 | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.67 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 23 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260531_LAA@TB |
| game_type | full |
| mlbID | 687330 |
| playerID | 687330 |
| playerName | Kevin Kelly |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-05-31 |
| sl_k_percent | 19.6 |
| sl_bb_percent | 5.4 |
| sl_woba | 0.217 |
| sl_xwoba | 0.298 |
| sl_sweet_spot_percent | 29.4 |
| sl_barrel_batted_rate | 9.1 |
| sl_hard_hit_percent | 44.1 |
| sl_whiff_percent | 20.0 |
| sl_swing_percent | 47.8 |
| sl_avg_best_speed | 80.241860606 |
| sl_avg_hyper_speed | 94.867582424 |
| 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.462 | 0.000 | -0.462 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.385 | 0.000 | -0.385 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.846 | 0.000 | 0.154 | 1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.800 | 1.000 | -0.600 | -0.800 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.231 | 0.000 | 0.769 | 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": "664076",
"player_name": "Garrett Cleavinger",
"position": "Middle Reliever",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 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": 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 | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 2.000 | 5.000 | 1.000 | 7.000 | 1.000 | 3.8571 | 1.2857 | 0.4286 | 1.0714 | 0.2143 | 1.5000 | 0.2143 |
| last_10 | 0.35 | 10 | 9.000 | 3.000 | 8.000 | 2.000 | 13.000 | 1.000 | 3.0000 | 1.1111 | 0.3333 | 0.8889 | 0.2222 | 1.4444 | 0.1111 |
| season | 0.20 | 13 | 11.100 | 5.000 | 11.000 | 6.000 | 16.000 | 1.000 | 3.9706 | 1.5000 | 0.4412 | 0.9706 | 0.5294 | 1.4118 | 0.0882 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2630 |
| predicted_ER | 0.3480 |
| predicted_ERA | 4.0689 |
| predicted_H | 0.7400 |
| predicted_HR | 0.1080 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.8480 |
| predicted_WHIP | 1.3028 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2630 | 0.0942 | model_form_blend |
| predicted_ER | 0.0000 | 0.3480 | 0.1246 | model_form_blend |
| predicted_ERA | - | 4.0689 | 4.0689 | form_only |
| predicted_H | 1.0000 | 0.7400 | 0.9069 | model_form_blend |
| predicted_HR | 0.0000 | 0.1080 | 0.0387 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 2.0000 | 0.8480 | 1.5875 | model_form_blend |
| predicted_WHIP | - | 1.3028 | 1.3028 | 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 | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| 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 | 0 |
| Pitching_ERA | 3.97 |
| 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 | 9 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260530_LAA@TB |
| game_type | full |
| mlbID | 664076 |
| playerID | 664076 |
| playerName | Garrett Cleavinger |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-05-30 |
| sl_k_percent | 31.4 |
| sl_bb_percent | 11.8 |
| sl_woba | 0.329 |
| sl_xwoba | 0.308 |
| sl_sweet_spot_percent | 39.3 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 50.0 |
| sl_whiff_percent | 23.9 |
| sl_swing_percent | 49.7 |
| sl_avg_best_speed | 75.686967143 |
| sl_avg_hyper_speed | 94.641652593 |
| 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.400 | 1.000 | -0.400 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.400 | 2.000 | -1.400 | -2.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 1.080 | 1.200 | -1.080 | -1.200 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.700 | 1.000 | -0.700 | -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": "668984",
"player_name": "Casey Legumina",
"position": "Middle Reliever",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.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 | 7.100 | 2.000 | 6.000 | 1.000 | 4.000 | 2.000 | 2.4545 | 0.9545 | 0.2727 | 0.8182 | 0.1364 | 0.5454 | 0.2727 |
| last_10 | 0.35 | 10 | 12.200 | 4.000 | 14.000 | 3.000 | 7.000 | 2.000 | 2.8421 | 1.3421 | 0.3158 | 1.1053 | 0.2368 | 0.5526 | 0.1579 |
| season | 0.20 | 18 | 24.100 | 10.000 | 29.000 | 6.000 | 16.000 | 2.000 | 3.6986 | 1.4384 | 0.4110 | 1.1918 | 0.2466 | 0.6575 | 0.0822 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2330 |
| predicted_ER | 0.3270 |
| predicted_ERA | 3.5780 |
| predicted_H | 0.8000 |
| predicted_HR | 0.1350 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6250 |
| predicted_WHIP | 1.2541 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2330 | 0.1012 | model_form_blend |
| predicted_ER | 0.0000 | 0.3270 | 0.1421 | model_form_blend |
| predicted_ERA | - | 3.5780 | 3.5780 | form_only |
| predicted_H | 0.0000 | 0.8000 | 0.3476 | model_form_blend |
| predicted_HR | 0.0000 | 0.1350 | 0.0587 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.6250 | 0.8371 | model_form_blend |
| predicted_WHIP | - | 1.2541 | 1.2541 | 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 | 18 |
| 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 | 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 | 7 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.70 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 19 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260531_LAA@TB |
| game_type | full |
| mlbID | 668984 |
| playerID | 668984 |
| playerName | Casey Legumina |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-05-31 |
| sl_k_percent | 15.2 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.352 |
| sl_xwoba | 0.342 |
| sl_sweet_spot_percent | 40.0 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 39.4 |
| sl_whiff_percent | 20.6 |
| sl_swing_percent | 48.5 |
| sl_avg_best_speed | 77.935957143 |
| sl_avg_hyper_speed | 93.707108261 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | KC 6 - 7 CIN | CIN | 0.540 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | KC 6 - 7 CIN | CIN | - | 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 | 9.8000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5400 |
| 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 | 7 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 6.826 | 5.535 | - | Base ML historical model prediction |
| 2 | variance_applied | 7 | 6 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 5 | 6 | 0.5400 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 6 | 6 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | target_tie_break | 6 | 7 | - | Resolved tied pre-simulation target using calibrated winner probability |
| 6 | capped_target | 6 | 7 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 6 | 7 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4145823170731707,
"base_low_score_probability": 0.42784552845528456,
"low_score_signal_threshold": 0.5078455284552845,
"low_score_signal_strength": -0.013263211382113838,
"confidence": 0.6154999999999999,
"factors": {
"environmental": 0.969,
"pitcher_form": 1.0,
"team_form": 1.0,
"situational": 1.0,
"combined": 0.969
},
"prediction": "normal_scoring",
"expected_total_runs": 13,
"pre_simulation_expected_total_runs": 9.8,
"low_score_model_expected_total_runs": 9.8,
"final_simulation_total_runs": 13,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 71,
"near_bucket_sample_size": 71,
"medium_bucket_sample_size": 74,
"wide_bucket_sample_size": 74,
"global_sample_size": 74,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5493,
"bayesian_hit_rate": 0.5393,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.7978,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5522,
"calibrated_pick_probability": 0.54,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "CIN",
"games": 58,
"wins": 30,
"losses": 28,
"win_pct": 0.5172413793103449,
"runs_scored": 256,
"runs_allowed": 288,
"run_differential": -32,
"run_differential_per_game": -0.5517241379310345,
"available": true
},
"away": {
"team": "KC",
"games": 59,
"wins": 22,
"losses": 37,
"win_pct": 0.3728813559322034,
"runs_scored": 221,
"runs_allowed": 280,
"run_differential": -59,
"run_differential_per_game": -1.0,
"available": true
},
"run_differential_edge_per_game": 0.4483,
"win_pct_edge": 0.1444,
"quality_edge": 0.6648,
"margin_adjustment": 0.2792,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 5.253,
"home_runs": 4.996,
"home_win_probability": 0.4782
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "KC",
"guardrail_predicted_team": "KC",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "CIN",
"output_opponent_team": "KC",
"final_score_winner": "CIN",
"pre_simulation_winner": "CIN",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 6,
"home_runs": 7,
"score_text": "KC 6 - 7 CIN",
"winner": "CIN"
},
"final_simulation_score": {
"away_runs": 6,
"home_runs": 7,
"score_text": "KC 6 - 7 CIN",
"winner": "CIN"
},
"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": true,
"confidence_cap": 0.6,
"winner_flipped": true,
"reasons": [
"season-to-date record and run differential support the home team over a close road lean"
],
"signals": {
"home": {
"team": "CIN",
"games": 58,
"wins": 30,
"losses": 28,
"win_pct": 0.5172413793103449,
"runs_scored": 256,
"runs_allowed": 288,
"run_differential": -32,
"run_differential_per_game": -0.5517241379310345,
"available": true
},
"away": {
"team": "KC",
"games": 59,
"wins": 22,
"losses": 37,
"win_pct": 0.3728813559322034,
"runs_scored": 221,
"runs_allowed": 280,
"run_differential": -59,
"run_differential_per_game": -1.0,
"available": true
},
"home_quality_edge": 0.1982,
"original_score": {
"away_runs": 5.253,
"home_runs": 4.996,
"home_win_probability": 0.4782
},
"adjusted_score": {
"away_runs": 4.97,
"home_runs": 5.623,
"home_win_probability": 0.5522
}
}
}{
"applied": false,
"raw_margin": 0.6531,
"final_margin": 0.6531,
"margin_cap": 1.5,
"season_quality_edge": 0.6648,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.540044,
"final_confidence": 0.540044,
"confidence_cap": 0.66,
"score_gap": 0.6531,
"calibration_sample_size": 71,
"calibration_empirical_hit_rate": 0.5493,
"calibration_bayesian_hit_rate": 0.5393,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.6648,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is close",
"local calibration sample has at least 30 games",
"local calibration sample has at least 60 games",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 6,
"home_runs": 7,
"score_text": "KC 6 - 7 CIN",
"winner": "CIN"
},
"final_simulation_score": {
"away_runs": 6,
"home_runs": 7,
"score_text": "KC 6 - 7 CIN",
"winner": "CIN"
},
"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": 6,
"home_runs": 7,
"confidence": 0.540044,
"home_win_probability": 0.540044,
"away_win_probability": 0.45995600000000003,
"predicted_score_text": "KC 6 - 7 CIN",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "KC",
"original_runs": 5,
"run_delta": 0.5067,
"adjusted_runs": 6,
"lineup": {
"players_used": 9,
"total_weight": 56.0,
"quality": 0.15398455496876795,
"contact": 0.028963366822319,
"power": 0.10754509433687631,
"discipline": 0.11950968648939693,
"xwoba": 0.3117142857142857,
"recent_xwoba": 0.3117142857142857,
"barrel": 8.5625,
"ab_hard_contact": 0.19625562823410503,
"ab_bat_speed": 70.96214346816868,
"ab_strikeout_rate": 0.22777656892185844,
"available_players": 9,
"top_players": [
{
"player_id": "677951",
"player_name": "Bobby Witt Jr.",
"position": "SS",
"weight": 9.0,
"quality": 1.5807027201350519,
"contact": 1.8852924162257507,
"power": 1.743330929882289,
"discipline": 0.20336804553471213,
"xwoba": 0.395,
"recent_xwoba": 0.395,
"barrel": 13.6,
"ab_hard_contact": 1.638428121455279,
"ab_bat_speed": 72.66099828532236,
"ab_strikeout_rate": 0.1765432098765432,
"available": 1.0
},
{
"player_id": "695506",
"player_name": "Jac Caglianone",
"position": "DH",
"weight": 6.0,
"quality": 0.5735401921726404,
"contact": 0.6156803463318236,
"power": 1.3142187715980749,
"discipline": -0.8404186765615338,
"xwoba": 0.33,
"recent_xwoba": 0.33,
"barrel": 15.5,
"ab_hard_contact": 0.48628019386624716,
"ab_bat_speed": 75.01769517330742,
"ab_strikeout_rate": 0.31411564625850336,
"available": 1.0
},
{
"player_id": "657041",
"player_name": "Lane Thomas",
"position": "RF",
"weight": 5.0,
"quality": -0.29757939867596944,
"contact": -0.6967846009605858,
"power": -1.1449263069712163,
"discipline": 1.118136123136123,
"xwoba": 0.293,
"recent_xwoba": 0.293,
"barrel": 2.7,
"ab_hard_contact": 0.3300452891470847,
"ab_bat_speed": 70.60215277777779,
"ab_strikeout_rate": 0.2037037037037037,
"available": 1.0
},
{
"player_id": "664728",
"player_name": "Kyle Isbel",
"position": "CF",
"weight": 6.0,
"quality": -0.42113827229175443,
"contact": -0.5903854169289622,
"power": -0.7707768068686773,
"discipline": -0.3774248464713582,
"xwoba": 0.278,
"recent_xwoba": 0.278,
"barrel": 3.6,
"ab_hard_contact": -0.7606789945164238,
"ab_bat_speed": 67.37948320413437,
"ab_strikeout_rate": 0.25155038759689924,
"available": 1.0
},
{
"player_id": "695600",
"player_name": "Carter Jensen",
"position": "C",
"weight": 7.0,
"quality": -0.41471158076914677,
"contact": -0.7894637800044246,
"power": -0.16674183550418156,
"discipline": -0.3350513296227583,
"xwoba": 0.278,
"recent_xwoba": 0.278,
"barrel": 8.6,
"ab_hard_contact": -0.35693194817889473,
"ab_bat_speed": 72.7519387755102,
"ab_strikeout_rate": 0.3064625850340136,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "680689",
"player_name": "Lyon Richardson",
"quality": -0.005773271431450589,
"contact": 2.0,
"command": -1.4988098000579202,
"movement": -1.7010615575711763,
"xwoba": 0.311,
"whiff": 25.8,
"faced_est_woba": 0.29748858078231294,
"faced_launch_speed": 83.75193672839507,
"faced_strikeout_rate": 0.23809523809523808,
"faced_run_exp": 0.00977987717309145
}
},
"home": {
"team": "CIN",
"original_runs": 6,
"run_delta": 0.3327,
"adjusted_runs": 6,
"lineup": {
"players_used": 8,
"total_weight": 58.0,
"quality": 0.3105998993408746,
"contact": 0.2939935780399497,
"power": 0.5742087228316849,
"discipline": 0.1552883735141219,
"xwoba": 0.34567241379310343,
"recent_xwoba": 0.34567241379310343,
"barrel": 11.258620689655173,
"ab_hard_contact": 0.18043389834139936,
"ab_bat_speed": 69.91468269168591,
"ab_strikeout_rate": 0.2268322415030448,
"available_players": 8,
"top_players": [
{
"player_id": "701398",
"player_name": "Sal Stewart",
"position": "3B",
"weight": 8.0,
"quality": 0.8583270376353196,
"contact": 0.7663934279278045,
"power": 1.2024032984911643,
"discipline": 0.4471023305834627,
"xwoba": 0.371,
"recent_xwoba": 0.371,
"barrel": 15.5,
"ab_hard_contact": 0.43397073172803,
"ab_bat_speed": 70.50775943396226,
"ab_strikeout_rate": 0.1989517819706499,
"available": 1.0
},
{
"player_id": "668709",
"player_name": "JJ Bleday",
"position": "LF",
"weight": 8.0,
"quality": 0.6561759097514958,
"contact": 1.450495210335711,
"power": 1.6470467694220814,
"discipline": 0.7903636363636364,
"xwoba": 0.416,
"recent_xwoba": 0.41600000000000004,
"barrel": 14.3,
"ab_hard_contact": 0.672554436060665,
"ab_bat_speed": 71.79647518518519,
"ab_strikeout_rate": 0.15933333333333333,
"available": 1.0
},
{
"player_id": "663993",
"player_name": "Nathaniel Lowe",
"position": "1B",
"weight": 6.0,
"quality": 0.6436625915946602,
"contact": 1.2462559929547583,
"power": 1.5699133216547942,
"discipline": 0.25233718133718125,
"xwoba": 0.394,
"recent_xwoba": 0.394,
"barrel": 15.300000000000002,
"ab_hard_contact": 0.5856950045244245,
"ab_bat_speed": 72.97842399691359,
"ab_strikeout_rate": 0.26157407407407407,
"available": 1.0
},
{
"player_id": "668715",
"player_name": "Spencer Steer",
"position": "RF",
"weight": 7.0,
"quality": 0.7720206231060147,
"contact": 0.8168461702423401,
"power": 1.1195848763984275,
"discipline": 0.042980816569051714,
"xwoba": 0.371,
"recent_xwoba": 0.371,
"barrel": 13.7,
"ab_hard_contact": 0.8536022898733016,
"ab_bat_speed": 70.03990958605665,
"ab_strikeout_rate": 0.2022875816993464,
"available": 1.0
},
{
"player_id": "663886",
"player_name": "Tyler Stephenson",
"position": "C",
"weight": 6.0,
"quality": 0.31413091879376503,
"contact": 0.13663151274988636,
"power": 0.7269045518137637,
"discipline": 0.2494848988221082,
"xwoba": 0.332,
"recent_xwoba": 0.332,
"barrel": 12.4,
"ab_hard_contact": 0.6499005600847702,
"ab_bat_speed": 69.5122561830934,
"ab_strikeout_rate": 0.25542635658914725,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "679883",
"player_name": "Luinder Avila",
"quality": -0.1521871413870854,
"contact": -1.004617859663849,
"command": -0.27981509106321123,
"movement": 0.5431092139612389,
"xwoba": 0.342,
"whiff": 23.5,
"faced_est_woba": 0.32610522833333333,
"faced_launch_speed": 83.5024298941799,
"faced_strikeout_rate": 0.2607936507936508,
"faced_run_exp": -0.02234432199546486
}
}
},
"tie_break_resolution": {
"applied": true,
"reason": "MLB prediction target cannot remain tied before inning simulation",
"winner_side": "home",
"winner_team": "CIN",
"home_win_probability": 0.54,
"away_win_probability": 0.46
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Season quality guardrail cap enforced after calibration. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 6,
"home_runs": 7,
"predicted_score_text": "KC 6 - 7 CIN",
"confidence": 0.540044,
"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": 6,
"home_runs": 7,
"score_text": "KC 6 - 7 CIN",
"winner": "CIN"
},
"final_simulation_score": {
"away_runs": 6,
"home_runs": 7,
"score_text": "KC 6 - 7 CIN",
"winner": "CIN"
},
"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 KC | True | 1.0112 | 1.0112 | 1 | 9 | 0 |
| Home CIN | True | 1.0362 | 1.0407 | 0.8889 | 8 | 1 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SS | Bobby Witt Jr. | 3 | 1.1446 | 1.9279 | positive_batter_regression | 0.3950 | 0.3140 | 0.5410 | 13.60 | 54.80 | 93.90 | 15.70 | 24.80 | 17.60 | 9.40 | 1.0571 |
| DH | Jac Caglianone | 187 | 1.0582 | 0.7761 | neutral | 0.3300 | 0.2530 | 0.4420 | 15.50 | 57.80 | 93.60 | 7.20 | 33.60 | 30.90 | 7.30 | 0.7429 |
| 1B | Vinnie Pasquantino | 294 | 1.0106 | 0.1413 | neutral | 0.3100 | 0.2370 | 0.3790 | 7.40 | 35 | 88.30 | 19.50 | 16.70 | 18.40 | 11.50 | 0.5714 |
| C | Carter Jensen | 221 | 0.9677 | -0.4300 | negative_batter_regression | 0.2780 | 0.1950 | 0.3360 | 8.60 | 40.50 | 89.70 | 21.70 | 32.70 | 28.30 | 10.50 | -1 |
| LF | Isaac Collins | 318 | 0.9923 | -0.1025 | neutral | 0.3040 | 0.2210 | 0.3110 | 8.30 | 40.70 | 88.60 | 18.70 | 26.70 | 26.10 | 13 | -0.0857 |
| RF | Lane Thomas | 382 | 0.9802 | -0.2646 | neutral | 0.2930 | 0.2030 | 0.2780 | 2.70 | 33.80 | 85.60 | 23.90 | 22.10 | 22 | 17.10 | 0.0857 |
| 2B | Michael Massey | 286 | 0.9825 | -0.2337 | neutral | 0.2620 | 0.2000 | 0.3730 | 7.80 | 42.20 | 91 | 17 | 22.90 | 19 | 3.40 | -0.2857 |
| 3B | Nick Loftin | 459 | 0.9942 | -0.0777 | neutral | 0.3070 | 0.2270 | 0.3310 | 5.20 | 32.80 | 86.20 | 16.80 | 9 | 11.50 | 10.30 | 0.3429 |
| CF | Kyle Isbel | 169 | 0.9706 | -0.3922 | neutral | 0.2780 | 0.2370 | 0.3330 | 3.60 | 31.80 | 87.80 | 13.30 | 19.90 | 22.90 | 5.10 | -0.6000 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CF | Blake Dunn | 153 | 0.9785 | -0.2873 | negative_batter_regression | 0.2880 | 0.2350 | 0.3320 | 4.70 | 31.10 | 88.50 | 10.60 | 32.10 | 21.50 | 7.70 | -2 |
| LF | JJ Bleday | 64 | 1.0614 | 0.8189 | neutral | 0.4160 | 0.2920 | 0.5640 | 14.30 | 49.40 | 91 | 20.60 | 27.30 | 16.90 | 14.50 | -0.5143 |
| 3B | Sal Stewart | 80 | 1.0933 | 1.2446 | neutral | 0.3710 | 0.2670 | 0.4970 | 15.50 | 40.50 | 90.50 | 13 | 26.40 | 19.70 | 12.40 | 0.2571 |
| DH | Eugenio Suárez | 376 | 0.9837 | -0.2170 | neutral | 0.2880 | 0.2110 | 0.3510 | 8.30 | 25.30 | 86.50 | 20.40 | 32.60 | 30.20 | 10.30 | -0.1714 |
| 1B | Nathaniel Lowe | 151 | 1.0682 | 0.9099 | neutral | 0.3940 | 0.2880 | 0.5540 | 15.30 | 47.20 | 90.20 | 12.40 | 22.30 | 23.50 | 11 | -0.1429 |
| RF | Spencer Steer | 142 | 1.0924 | 1.2315 | positive_batter_regression | 0.3710 | 0.2770 | 0.5060 | 13.70 | 38.80 | 90.10 | 18.60 | 24 | 20.50 | 8.70 | 0.9143 |
| C | Tyler Stephenson | 205 | 1.0419 | 0.5581 | positive_batter_regression | 0.3320 | 0.2250 | 0.4310 | 12.40 | 44 | 90.40 | 22.90 | 27.10 | 26.20 | 12.80 | 1.3143 |
| SS | Matt McLain | 402 | 1.0063 | 0.0838 | neutral | 0.3100 | 0.2270 | 0.3700 | 7.10 | 35.90 | 87.80 | 20.10 | 24.80 | 23.50 | 11.30 | 0.7429 |
{
"home": {
"applied": true,
"offense_factor": 1.0362,
"raw_average_factor": 1.0407,
"team_espn_average_rank": 196.62,
"coverage_weight": 0.8889,
"covered_batters": 8,
"missing_batters": 1,
"players": [
{
"position": "CF",
"player_id": "694362",
"player_name": "Blake Dunn",
"offense_factor": 0.9785,
"quality_score": -0.2873,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "694362",
"espn_id": 4650237,
"player_name": "Blake Dunn",
"team": "CIN",
"role": "batter",
"espn_rank": 153,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 153,
"gp_value": 19.0,
"gp_rank": 386,
"ab_value": 64.0,
"ab_rank": 356,
"r_value": 10.0,
"r_rank": 296,
"h_value": 18.0,
"h_rank": 314,
"avg_value": 0.28125,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 298,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 1.0,
"hr_rank": 317,
"rbi_value": 2.0,
"rbi_rank": 432,
"tb_value": 26.0,
"tb_rank": 1661,
"bb_value": 5.0,
"bb_rank": 347,
"so_value": 17.0,
"so_rank": 347,
"sb_value": 2.0,
"sb_rank": 160,
"obp_value": 0.3428571,
"obp_rank": "-",
"slg_value": 0.40625,
"slg_rank": "-",
"ops_value": 0.7491071,
"ops_rank": null,
"war_value": 0.66,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 49.0,
"k_percent": 21.5,
"bb_percent": 7.7,
"woba": 0.36,
"xwoba": 0.288,
"xba": 0.235,
"xslg": 0.332,
"sweet_spot_percent": 37.8,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 31.1,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 10.6,
"whiff_percent": 32.1,
"swing_percent": 49.1
},
"components": {
"expected_quality": -0.4167,
"regression_edge": -2.0,
"xwoba_edge": -0.4857,
"xba_edge": -0.1143,
"xslg_edge": -0.6,
"barrel_edge": -0.4889,
"hard_hit_edge": -1.1286,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": 0.75,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "668709",
"player_name": "JJ Bleday",
"offense_factor": 1.0614,
"quality_score": 0.8189,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668709",
"espn_id": 42410,
"player_name": "JJ Bleday",
"team": "CIN",
"role": "batter",
"espn_rank": 64,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 64,
"gp_value": 30.0,
"gp_rank": 324,
"ab_value": 109.0,
"ab_rank": 262,
"r_value": 18.0,
"r_rank": 182,
"h_value": 33.0,
"h_rank": 198,
"avg_value": 0.3027522,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 139,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 9.0,
"hr_rank": 47,
"rbi_value": 26.0,
"rbi_rank": 87,
"tb_value": 70.0,
"tb_rank": 576,
"bb_value": 18.0,
"bb_rank": 129,
"so_value": 22.0,
"so_rank": 293,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.3984375,
"obp_rank": "-",
"slg_value": 0.6422018,
"slg_rank": "-",
"ops_value": 1.0406393,
"ops_rank": null,
"war_value": 1.53,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 109.0,
"k_percent": 16.9,
"bb_percent": 14.5,
"woba": 0.434,
"xwoba": 0.416,
"xba": 0.292,
"xslg": 0.564,
"sweet_spot_percent": 43.5,
"barrel_batted_rate": 14.3,
"hard_hit_percent": 49.4,
"exit_velocity_avg": 91.0,
"launch_angle_avg": 20.6,
"whiff_percent": 27.3,
"swing_percent": 46.1
},
"components": {
"expected_quality": 2.0056,
"regression_edge": -0.5143,
"xwoba_edge": 2.5,
"xba_edge": 1.5143,
"xslg_edge": 2.5,
"barrel_edge": 1.6444,
"hard_hit_edge": 1.4857,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": 1.7,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "3B",
"player_id": "701398",
"player_name": "Sal Stewart",
"offense_factor": 1.0933,
"quality_score": 1.2446,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701398",
"espn_id": 5080771,
"player_name": "Sal Stewart",
"team": "CIN",
"role": "batter",
"espn_rank": 80,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 80,
"gp_value": 58.0,
"gp_rank": 37,
"ab_value": 218.0,
"ab_rank": 35,
"r_value": 34.0,
"r_rank": 40,
"h_value": 57.0,
"h_rank": 46,
"avg_value": 0.2614678,
"avg_rank": 68.0,
"2b_value": 11.0,
"2b_rank": 51,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 12.0,
"hr_rank": 28,
"rbi_value": 37.0,
"rbi_rank": 21,
"tb_value": 104.0,
"tb_rank": 497,
"bb_value": 32.0,
"bb_rank": 27,
"so_value": 50.0,
"so_rank": 78,
"sb_value": 10.0,
"sb_rank": 18,
"obp_value": 0.3557312,
"obp_rank": "44",
"slg_value": 0.4770642,
"slg_rank": "35",
"ops_value": 0.8327954,
"ops_rank": 38.0,
"war_value": 1.26,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 227.0,
"k_percent": 19.7,
"bb_percent": 12.4,
"woba": 0.362,
"xwoba": 0.371,
"xba": 0.267,
"xslg": 0.497,
"sweet_spot_percent": 35.7,
"barrel_batted_rate": 15.5,
"hard_hit_percent": 40.5,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 13.0,
"whiff_percent": 26.4,
"swing_percent": 49.0
},
"components": {
"expected_quality": 1.4054,
"regression_edge": 0.2571,
"xwoba_edge": 1.8857,
"xba_edge": 0.8,
"xslg_edge": 1.7571,
"barrel_edge": 1.9111,
"hard_hit_edge": 0.2143,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": 0.4,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "553993",
"player_name": "Eugenio Suárez",
"offense_factor": 0.9837,
"quality_score": -0.217,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "553993",
"espn_id": 32367,
"player_name": "Eugenio Suarez",
"team": "CIN",
"role": "batter",
"espn_rank": 376,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 376,
"gp_value": 33.0,
"gp_rank": 301,
"ab_value": 116.0,
"ab_rank": 241,
"r_value": 13.0,
"r_rank": 258,
"h_value": 26.0,
"h_rank": 243,
"avg_value": 0.2241379,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 228,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 4.0,
"hr_rank": 163,
"rbi_value": 15.0,
"rbi_rank": 220,
"tb_value": 43.0,
"tb_rank": 1276,
"bb_value": 13.0,
"bb_rank": 193,
"so_value": 40.0,
"so_rank": 140,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3,
"obp_rank": "-",
"slg_value": 0.3706896,
"slg_rank": "-",
"ops_value": 0.6706896,
"ops_rank": null,
"war_value": -0.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 115.0,
"k_percent": 30.2,
"bb_percent": 10.3,
"woba": 0.294,
"xwoba": 0.288,
"xba": 0.211,
"xslg": 0.351,
"sweet_spot_percent": 38.7,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 25.3,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 20.4,
"whiff_percent": 32.6,
"swing_percent": 44.6
},
"components": {
"expected_quality": -0.4548,
"regression_edge": -0.1714,
"xwoba_edge": -0.4857,
"xba_edge": -0.8,
"xslg_edge": -0.3286,
"barrel_edge": 0.3111,
"hard_hit_edge": -1.9571,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": 0.9,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "663993",
"player_name": "Nathaniel Lowe",
"offense_factor": 1.0682,
"quality_score": 0.9099,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663993",
"espn_id": 40538,
"player_name": "Nathaniel Lowe",
"team": "CIN",
"role": "batter",
"espn_rank": 151,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 151,
"gp_value": 42.0,
"gp_rank": 233,
"ab_value": 125.0,
"ab_rank": 224,
"r_value": 16.0,
"r_rank": 213,
"h_value": 33.0,
"h_rank": 198,
"avg_value": 0.264,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 97,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 9.0,
"hr_rank": 47,
"rbi_value": 25.0,
"rbi_rank": 101,
"tb_value": 69.0,
"tb_rank": 752,
"bb_value": 15.0,
"bb_rank": 162,
"so_value": 33.0,
"so_rank": 190,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3428571,
"obp_rank": "-",
"slg_value": 0.552,
"slg_rank": "-",
"ops_value": 0.8948571,
"ops_rank": null,
"war_value": 0.66,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 122.0,
"k_percent": 23.5,
"bb_percent": 11.0,
"woba": 0.399,
"xwoba": 0.394,
"xba": 0.288,
"xslg": 0.554,
"sweet_spot_percent": 44.9,
"barrel_batted_rate": 15.3,
"hard_hit_percent": 47.2,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 12.4,
"whiff_percent": 22.3,
"swing_percent": 43.2
},
"components": {
"expected_quality": 1.9313,
"regression_edge": -0.1429,
"xwoba_edge": 2.5,
"xba_edge": 1.4,
"xslg_edge": 2.5,
"barrel_edge": 1.8667,
"hard_hit_edge": 1.1714,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": 1.9333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "668715",
"player_name": "Spencer Steer",
"offense_factor": 1.0924,
"quality_score": 1.2315,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "668715",
"espn_id": 4722857,
"player_name": "Spencer Steer",
"team": "CIN",
"role": "batter",
"espn_rank": 142,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 142,
"gp_value": 56.0,
"gp_rank": 72,
"ab_value": 199.0,
"ab_rank": 97,
"r_value": 34.0,
"r_rank": 40,
"h_value": 54.0,
"h_rank": 64,
"avg_value": 0.2713567,
"avg_rank": 50.0,
"2b_value": 11.0,
"2b_rank": 51,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 7.0,
"hr_rank": 73,
"rbi_value": 21.0,
"rbi_rank": 141,
"tb_value": 86.0,
"tb_rank": 650,
"bb_value": 20.0,
"bb_rank": 98,
"so_value": 46.0,
"so_rank": 94,
"sb_value": 3.0,
"sb_rank": 126,
"obp_value": 0.3452914,
"obp_rank": "60",
"slg_value": 0.4321608,
"slg_rank": "70",
"ops_value": 0.7774522,
"ops_rank": 67.0,
"war_value": 0.73,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 201.0,
"k_percent": 20.5,
"bb_percent": 8.7,
"woba": 0.339,
"xwoba": 0.371,
"xba": 0.277,
"xslg": 0.506,
"sweet_spot_percent": 41.4,
"barrel_batted_rate": 13.7,
"hard_hit_percent": 38.8,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 18.6,
"whiff_percent": 24.0,
"swing_percent": 45.0
},
"components": {
"expected_quality": 1.4185,
"regression_edge": 0.9143,
"xwoba_edge": 1.8857,
"xba_edge": 1.0857,
"xslg_edge": 1.8857,
"barrel_edge": 1.5111,
"hard_hit_edge": -0.0286,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": 1.35,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "C",
"player_id": "663886",
"player_name": "Tyler Stephenson",
"offense_factor": 1.0419,
"quality_score": 0.5581,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "663886",
"espn_id": 34975,
"player_name": "Tyler Stephenson",
"team": "CIN",
"role": "batter",
"espn_rank": 205,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 205,
"gp_value": 46.0,
"gp_rank": 198,
"ab_value": 141.0,
"ab_rank": 205,
"r_value": 11.0,
"r_rank": 285,
"h_value": 28.0,
"h_rank": 230,
"avg_value": 0.1985815,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 195,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 4.0,
"hr_rank": 163,
"rbi_value": 17.0,
"rbi_rank": 196,
"tb_value": 46.0,
"tb_rank": 1230,
"bb_value": 21.0,
"bb_rank": 86,
"so_value": 43.0,
"so_rank": 122,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.2987804,
"obp_rank": "-",
"slg_value": 0.3262411,
"slg_rank": "-",
"ops_value": 0.6250215,
"ops_rank": null,
"war_value": 0.37,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 154.0,
"k_percent": 26.2,
"bb_percent": 12.8,
"woba": 0.286,
"xwoba": 0.332,
"xba": 0.225,
"xslg": 0.431,
"sweet_spot_percent": 39.0,
"barrel_batted_rate": 12.4,
"hard_hit_percent": 44.0,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 22.9,
"whiff_percent": 27.1,
"swing_percent": 45.0
},
"components": {
"expected_quality": 0.7132,
"regression_edge": 1.3143,
"xwoba_edge": 0.7714,
"xba_edge": -0.4,
"xslg_edge": 0.8143,
"barrel_edge": 1.2222,
"hard_hit_edge": 0.7143,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": 0.95,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "SS",
"player_id": "680574",
"player_name": "Matt McLain",
"offense_factor": 1.0063,
"quality_score": 0.0838,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680574",
"espn_id": 4422899,
"player_name": "Matt McLain",
"team": "CIN",
"role": "batter",
"espn_rank": 402,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 402,
"gp_value": 56.0,
"gp_rank": 72,
"ab_value": 194.0,
"ab_rank": 109,
"r_value": 22.0,
"r_rank": 134,
"h_value": 38.0,
"h_rank": 169,
"avg_value": 0.1958762,
"avg_rank": 163.0,
"2b_value": 9.0,
"2b_rank": 97,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 5.0,
"hr_rank": 133,
"rbi_value": 20.0,
"rbi_rank": 155,
"tb_value": 62.0,
"tb_rank": 981,
"bb_value": 25.0,
"bb_rank": 55,
"so_value": 53.0,
"so_rank": 62,
"sb_value": 7.0,
"sb_rank": 46,
"obp_value": 0.2941176,
"obp_rank": "136",
"slg_value": 0.3195876,
"slg_rank": "156",
"ops_value": 0.6137052,
"ops_rank": 159.0,
"war_value": -0.14,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 209.0,
"k_percent": 23.5,
"bb_percent": 11.3,
"woba": 0.284,
"xwoba": 0.31,
"xba": 0.227,
"xslg": 0.37,
"sweet_spot_percent": 35.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 35.9,
"exit_velocity_avg": 87.8,
"launch_angle_avg": 20.1,
"whiff_percent": 24.8,
"swing_percent": 42.8
},
"components": {
"expected_quality": -0.0184,
"regression_edge": 0.7429,
"xwoba_edge": 0.1429,
"xba_edge": -0.3429,
"xslg_edge": -0.0571,
"barrel_edge": 0.0444,
"hard_hit_edge": -0.4429,
"exit_velocity_edge": -0.4,
"sweet_spot_edge": 0.3167,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0112,
"raw_average_factor": 1.0112,
"team_espn_average_rank": 257.67,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "SS",
"player_id": "677951",
"player_name": "Bobby Witt Jr.",
"offense_factor": 1.1446,
"quality_score": 1.9279,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "677951",
"espn_id": 42403,
"player_name": "Bobby Witt Jr.",
"team": "KC",
"role": "batter",
"espn_rank": 3,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 3,
"gp_value": 59.0,
"gp_rank": 19,
"ab_value": 234.0,
"ab_rank": 10,
"r_value": 28.0,
"r_rank": 72,
"h_value": 67.0,
"h_rank": 5,
"avg_value": 0.2863247,
"avg_rank": 34.0,
"2b_value": 15.0,
"2b_rank": 8,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 9.0,
"hr_rank": 47,
"rbi_value": 26.0,
"rbi_rank": 87,
"tb_value": 111.0,
"tb_rank": 242,
"bb_value": 24.0,
"bb_rank": 60,
"so_value": 46.0,
"so_rank": 94,
"sb_value": 17.0,
"sb_rank": 4,
"obp_value": 0.35,
"obp_rank": "49",
"slg_value": 0.4743589,
"slg_rank": "37",
"ops_value": 0.8243589,
"ops_rank": 43.0,
"war_value": 3.37,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 238.0,
"k_percent": 17.6,
"bb_percent": 9.4,
"woba": 0.358,
"xwoba": 0.395,
"xba": 0.314,
"xslg": 0.541,
"sweet_spot_percent": 38.7,
"barrel_batted_rate": 13.6,
"hard_hit_percent": 54.8,
"exit_velocity_avg": 93.9,
"launch_angle_avg": 15.7,
"whiff_percent": 24.8,
"swing_percent": 48.5
},
"components": {
"expected_quality": 2.0697,
"regression_edge": 1.0571,
"xwoba_edge": 2.5,
"xba_edge": 2.1429,
"xslg_edge": 2.3857,
"barrel_edge": 1.4889,
"hard_hit_edge": 2.2571,
"exit_velocity_edge": 2.04,
"sweet_spot_edge": 0.9,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "695506",
"player_name": "Jac Caglianone",
"offense_factor": 1.0582,
"quality_score": 0.7761,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695506",
"espn_id": 4926296,
"player_name": "Jac Caglianone",
"team": "KC",
"role": "batter",
"espn_rank": 187,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 187,
"gp_value": 54.0,
"gp_rank": 119,
"ab_value": 178.0,
"ab_rank": 137,
"r_value": 18.0,
"r_rank": 182,
"h_value": 42.0,
"h_rank": 139,
"avg_value": 0.235955,
"avg_rank": 112.0,
"2b_value": 9.0,
"2b_rank": 97,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 5.0,
"hr_rank": 133,
"rbi_value": 11.0,
"rbi_rank": 269,
"tb_value": 68.0,
"tb_rank": 733,
"bb_value": 15.0,
"bb_rank": 162,
"so_value": 60.0,
"so_rank": 33,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.3025641,
"obp_rank": "128",
"slg_value": 0.3820224,
"slg_rank": "112",
"ops_value": 0.6845865,
"ops_rank": 119.0,
"war_value": 0.47,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 178.0,
"k_percent": 30.9,
"bb_percent": 7.3,
"woba": 0.304,
"xwoba": 0.33,
"xba": 0.253,
"xslg": 0.442,
"sweet_spot_percent": 36.2,
"barrel_batted_rate": 15.5,
"hard_hit_percent": 57.8,
"exit_velocity_avg": 93.6,
"launch_angle_avg": 7.2,
"whiff_percent": 33.6,
"swing_percent": 47.0
},
"components": {
"expected_quality": 0.9944,
"regression_edge": 0.7429,
"xwoba_edge": 0.7143,
"xba_edge": 0.4,
"xslg_edge": 0.9714,
"barrel_edge": 1.9111,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 1.92,
"sweet_spot_edge": 0.4833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "686469",
"player_name": "Vinnie Pasquantino",
"offense_factor": 1.0106,
"quality_score": 0.1413,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686469",
"espn_id": 4109109,
"player_name": "Vinnie Pasquantino",
"team": "KC",
"role": "batter",
"espn_rank": 294,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 294,
"gp_value": 56.0,
"gp_rank": 72,
"ab_value": 207.0,
"ab_rank": 72,
"r_value": 21.0,
"r_rank": 154,
"h_value": 43.0,
"h_rank": 131,
"avg_value": 0.2077294,
"avg_rank": 154.0,
"2b_value": 7.0,
"2b_rank": 170,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 5.0,
"hr_rank": 133,
"rbi_value": 25.0,
"rbi_rank": 101,
"tb_value": 69.0,
"tb_rank": 720,
"bb_value": 27.0,
"bb_rank": 42,
"so_value": 45.0,
"so_rank": 104,
"sb_value": 2.0,
"sb_rank": 160,
"obp_value": 0.2970711,
"obp_rank": "132",
"slg_value": 0.3333333,
"slg_rank": "150",
"ops_value": 0.6304044,
"ops_rank": 147.0,
"war_value": 0.08,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 224.0,
"k_percent": 18.4,
"bb_percent": 11.5,
"woba": 0.29,
"xwoba": 0.31,
"xba": 0.237,
"xslg": 0.379,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 35.0,
"exit_velocity_avg": 88.3,
"launch_angle_avg": 19.5,
"whiff_percent": 16.7,
"swing_percent": 45.9
},
"components": {
"expected_quality": 0.0713,
"regression_edge": 0.5714,
"xwoba_edge": 0.1429,
"xba_edge": -0.0571,
"xslg_edge": 0.0714,
"barrel_edge": 0.1111,
"hard_hit_edge": -0.5714,
"exit_velocity_edge": -0.2,
"sweet_spot_edge": 0.2833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "695600",
"player_name": "Carter Jensen",
"offense_factor": 0.9677,
"quality_score": -0.43,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "695600",
"espn_id": 4917812,
"player_name": "Carter Jensen",
"team": "KC",
"role": "batter",
"espn_rank": 221,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 221,
"gp_value": 54.0,
"gp_rank": 119,
"ab_value": 171.0,
"ab_rank": 147,
"r_value": 22.0,
"r_rank": 134,
"h_value": 39.0,
"h_rank": 164,
"avg_value": 0.2280701,
"avg_rank": 126.0,
"2b_value": 8.0,
"2b_rank": 139,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 7.0,
"hr_rank": 73,
"rbi_value": 26.0,
"rbi_rank": 87,
"tb_value": 68.0,
"tb_rank": 838,
"bb_value": 20.0,
"bb_rank": 98,
"so_value": 56.0,
"so_rank": 49,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3076923,
"obp_rank": "123",
"slg_value": 0.3976608,
"slg_rank": "96",
"ops_value": 0.7053531,
"ops_rank": 110.0,
"war_value": 0.32,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 184.0,
"k_percent": 28.3,
"bb_percent": 10.5,
"woba": 0.313,
"xwoba": 0.278,
"xba": 0.195,
"xslg": 0.336,
"sweet_spot_percent": 29.3,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 40.5,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 21.7,
"whiff_percent": 32.7,
"swing_percent": 44.8
},
"components": {
"expected_quality": -0.4351,
"regression_edge": -1.0,
"xwoba_edge": -0.7714,
"xba_edge": -1.2571,
"xslg_edge": -0.5429,
"barrel_edge": 0.3778,
"hard_hit_edge": 0.2143,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": -0.6667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "686555",
"player_name": "Isaac Collins",
"offense_factor": 0.9923,
"quality_score": -0.1025,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686555",
"espn_id": 42959,
"player_name": "Isaac Collins",
"team": "KC",
"role": "batter",
"espn_rank": 318,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 318,
"gp_value": 51.0,
"gp_rank": 155,
"ab_value": 157.0,
"ab_rank": 177,
"r_value": 21.0,
"r_rank": 154,
"h_value": 34.0,
"h_rank": 191,
"avg_value": 0.2165605,
"avg_rank": 142.0,
"2b_value": 7.0,
"2b_rank": 170,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 3.0,
"hr_rank": 201,
"rbi_value": 16.0,
"rbi_rank": 208,
"tb_value": 50.0,
"tb_rank": 1280,
"bb_value": 25.0,
"bb_rank": 55,
"so_value": 50.0,
"so_rank": 78,
"sb_value": 3.0,
"sb_rank": 126,
"obp_value": 0.3351063,
"obp_rank": "78",
"slg_value": 0.3184713,
"slg_rank": "158",
"ops_value": 0.6535776,
"ops_rank": 134.0,
"war_value": 0.02,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 176.0,
"k_percent": 26.1,
"bb_percent": 13.0,
"woba": 0.307,
"xwoba": 0.304,
"xba": 0.221,
"xslg": 0.311,
"sweet_spot_percent": 34.3,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 40.7,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 18.7,
"whiff_percent": 26.7,
"swing_percent": 38.3
},
"components": {
"expected_quality": -0.135,
"regression_edge": -0.0857,
"xwoba_edge": -0.0286,
"xba_edge": -0.5143,
"xslg_edge": -0.9,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.2429,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": 0.1667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "657041",
"player_name": "Lane Thomas",
"offense_factor": 0.9802,
"quality_score": -0.2646,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657041",
"espn_id": 36409,
"player_name": "Lane Thomas",
"team": "KC",
"role": "batter",
"espn_rank": 382,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 382,
"gp_value": 45.0,
"gp_rank": 207,
"ab_value": 101.0,
"ab_rank": 281,
"r_value": 8.0,
"r_rank": 335,
"h_value": 21.0,
"h_rank": 288,
"avg_value": 0.2079207,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 298,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 1.0,
"hr_rank": 317,
"rbi_value": 10.0,
"rbi_rank": 284,
"tb_value": 27.0,
"tb_rank": 1853,
"bb_value": 21.0,
"bb_rank": 86,
"so_value": 27.0,
"so_rank": 242,
"sb_value": 3.0,
"sb_rank": 126,
"obp_value": 0.344,
"obp_rank": "-",
"slg_value": 0.2673267,
"slg_rank": "-",
"ops_value": 0.6113267,
"ops_rank": null,
"war_value": -0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 113.0,
"k_percent": 22.0,
"bb_percent": 17.1,
"woba": 0.29,
"xwoba": 0.293,
"xba": 0.203,
"xslg": 0.278,
"sweet_spot_percent": 37.8,
"barrel_batted_rate": 2.7,
"hard_hit_percent": 33.8,
"exit_velocity_avg": 85.6,
"launch_angle_avg": 23.9,
"whiff_percent": 22.1,
"swing_percent": 40.2
},
"components": {
"expected_quality": -0.613,
"regression_edge": 0.0857,
"xwoba_edge": -0.3429,
"xba_edge": -1.0286,
"xslg_edge": -1.3714,
"barrel_edge": -0.9333,
"hard_hit_edge": -0.7429,
"exit_velocity_edge": -1.28,
"sweet_spot_edge": 0.75,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "686681",
"player_name": "Michael Massey",
"offense_factor": 0.9825,
"quality_score": -0.2337,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686681",
"espn_id": 4109223,
"player_name": "Michael Massey",
"team": "KC",
"role": "batter",
"espn_rank": 286,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 286,
"gp_value": 43.0,
"gp_rank": 221,
"ab_value": 111.0,
"ab_rank": 256,
"r_value": 13.0,
"r_rank": 258,
"h_value": 26.0,
"h_rank": 243,
"avg_value": 0.2342342,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 97,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 4.0,
"hr_rank": 163,
"rbi_value": 15.0,
"rbi_rank": 220,
"tb_value": 47.0,
"tb_rank": 1145,
"bb_value": 5.0,
"bb_rank": 347,
"so_value": 23.0,
"so_rank": 285,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.2605042,
"obp_rank": "-",
"slg_value": 0.4234234,
"slg_rank": "-",
"ops_value": 0.6839276,
"ops_rank": null,
"war_value": 0.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 113.0,
"k_percent": 19.0,
"bb_percent": 3.4,
"woba": 0.272,
"xwoba": 0.262,
"xba": 0.2,
"xslg": 0.373,
"sweet_spot_percent": 27.8,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 42.2,
"exit_velocity_avg": 91.0,
"launch_angle_avg": 17.0,
"whiff_percent": 22.9,
"swing_percent": 51.3
},
"components": {
"expected_quality": -0.4826,
"regression_edge": -0.2857,
"xwoba_edge": -1.2286,
"xba_edge": -1.1143,
"xslg_edge": -0.0143,
"barrel_edge": 0.2,
"hard_hit_edge": 0.4571,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": -0.9167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "679845",
"player_name": "Nick Loftin",
"offense_factor": 0.9942,
"quality_score": -0.0777,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "679845",
"espn_id": 4314013,
"player_name": "Nick Loftin",
"team": "KC",
"role": "batter",
"espn_rank": 459,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 459,
"gp_value": 27.0,
"gp_rank": 347,
"ab_value": 67.0,
"ab_rank": 353,
"r_value": 10.0,
"r_rank": 296,
"h_value": 14.0,
"h_rank": 356,
"avg_value": 0.2089552,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 170,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 0.0,
"hr_rank": 401,
"rbi_value": 13.0,
"rbi_rank": 247,
"tb_value": 21.0,
"tb_rank": 2045,
"bb_value": 9.0,
"bb_rank": 264,
"so_value": 10.0,
"so_rank": 406,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3209876,
"obp_rank": "-",
"slg_value": 0.3134328,
"slg_rank": "-",
"ops_value": 0.6344204,
"ops_rank": null,
"war_value": -0.34,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 66.0,
"k_percent": 11.5,
"bb_percent": 10.3,
"woba": 0.295,
"xwoba": 0.307,
"xba": 0.227,
"xslg": 0.331,
"sweet_spot_percent": 31.0,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 32.8,
"exit_velocity_avg": 86.2,
"launch_angle_avg": 16.8,
"whiff_percent": 9.0,
"swing_percent": 37.4
},
"components": {
"expected_quality": -0.2566,
"regression_edge": 0.3429,
"xwoba_edge": 0.0571,
"xba_edge": -0.3429,
"xslg_edge": -0.6143,
"barrel_edge": -0.3778,
"hard_hit_edge": -0.8857,
"exit_velocity_edge": -1.04,
"sweet_spot_edge": -0.3833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "664728",
"player_name": "Kyle Isbel",
"offense_factor": 0.9706,
"quality_score": -0.3922,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664728",
"espn_id": 41263,
"player_name": "Kyle Isbel",
"team": "KC",
"role": "batter",
"espn_rank": 169,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 169,
"gp_value": 49.0,
"gp_rank": 175,
"ab_value": 143.0,
"ab_rank": 199,
"r_value": 15.0,
"r_rank": 229,
"h_value": 36.0,
"h_rank": 179,
"avg_value": 0.2517482,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 170,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 3.0,
"hr_rank": 201,
"rbi_value": 11.0,
"rbi_rank": 269,
"tb_value": 54.0,
"tb_rank": 1050,
"bb_value": 8.0,
"bb_rank": 280,
"so_value": 36.0,
"so_rank": 167,
"sb_value": 5.0,
"sb_rank": 73,
"obp_value": 0.3032258,
"obp_rank": "-",
"slg_value": 0.3776223,
"slg_rank": "-",
"ops_value": 0.6808481,
"ops_rank": null,
"war_value": 0.57,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 145.0,
"k_percent": 22.9,
"bb_percent": 5.1,
"woba": 0.299,
"xwoba": 0.278,
"xba": 0.237,
"xslg": 0.333,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 3.6,
"hard_hit_percent": 31.8,
"exit_velocity_avg": 87.8,
"launch_angle_avg": 13.3,
"whiff_percent": 19.9,
"swing_percent": 47.8
},
"components": {
"expected_quality": -0.5943,
"regression_edge": -0.6,
"xwoba_edge": -0.7714,
"xba_edge": -0.0571,
"xslg_edge": -0.5857,
"barrel_edge": -0.7333,
"hard_hit_edge": -1.0286,
"exit_velocity_edge": -0.4,
"sweet_spot_edge": -0.1,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away KC | True | 414 | -0.1629 | 0.4500 | 1.0138 | 0.9902 | 1.0297 | 1.0205 | positive_pitcher_regression | 0.3420 | 0.4000 | 21.10 | 12.60 | 23.50 | 9.50 | 34.90 | |
| Home CIN | True | 427 | -0.0010 | 0.4500 | 1.0001 | 1 | 1 | 0.9996 | neutral | 0.3110 | 0.3080 | 22.60 | 9.30 | 25.80 | 7.20 | 38.60 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away KC | True | None | 35 | 92.50 | 2480 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1573 | |
| Home CIN | False | - | - | - | - | - | - | - | - | - | - | - | - | - |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1 |
| home_runs_vs_away_pitcher | 1.0062 |
| home_pitcher_quality_edge | 0.1619 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "680689",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.311,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.0114,
"command_and_miss": 0.0,
"regression_edge": -0.0857,
"xwoba_edge": 0.0286,
"barrel_edge": 0.0,
"hard_hit_edge": 0.0,
"whiff_edge": 0.0,
"bb_edge": 0.0,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "680689",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.001,
"sample_weight": 0.45,
"run_prevention_factor": 1.0001,
"strikeout_factor": 1.0,
"walk_factor": 1.0,
"homer_factor": 0.9996,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680689",
"espn_id": 41333,
"player_name": "Lyon Richardson",
"team": "CIN",
"role": "pitcher",
"espn_rank": 427,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 427,
"gp_value": 1.0,
"gp_rank": 590,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 13.5,
"era_rank": null,
"w_value": 0.0,
"w_rank": 368,
"l_value": 0.0,
"l_rank": 390,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 0.2,
"ip_rank": 650,
"h_value": 1.0,
"h_rank": 613,
"er_value": 1.0,
"er_rank": 578,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 0.0,
"bb_rank": 619,
"k_value": 1.0,
"k_rank": 590,
"k_per_9_value": 13.5,
"k_per_9_rank": 24,
"whip_value": 1.5,
"whip_rank": null,
"war_value": -0.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "679883",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 78.0,
"k_percent": 21.1,
"bb_percent": 12.6,
"woba": 0.4,
"xwoba": 0.342,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 9.5,
"hard_hit_percent": 34.9,
"avg_best_speed": 77.1895,
"avg_hyper_speed": 94.0387,
"whiff_percent": 23.5,
"swing_percent": 42.3
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.79,
"command_and_miss": -0.3764,
"regression_edge": 1.6571,
"xwoba_edge": -0.8571,
"barrel_edge": -0.5111,
"hard_hit_edge": 0.5286,
"whiff_edge": -0.3286,
"bb_edge": -0.825,
"pitch_design_score": 0.1573
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "679883",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 35,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 35,
"pitch_usage": 0.0,
"release_speed": 92.50421760670316,
"release_spin_rate": 2479.9946674562566,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 35,
"pitch_usage": 0.0,
"release_speed": 92.50421760670316,
"release_spin_rate": 2479.9946674562566,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5042,
"release_spin_rate": 2479.9947,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1573,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1236,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1629,
"sample_weight": 0.45,
"run_prevention_factor": 1.0138,
"strikeout_factor": 0.9902,
"walk_factor": 1.0297,
"homer_factor": 1.0205,
"woba_minus_xwoba": 0.058,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "679883",
"espn_id": 5201985,
"player_name": "Luinder Avila",
"team": "KC",
"role": "pitcher",
"espn_rank": 414,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 414,
"gp_value": 10.0,
"gp_rank": 347,
"gs_value": 1.0,
"gs_rank": 220,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 5.0625,
"era_rank": null,
"w_value": 0.0,
"w_rank": 368,
"l_value": 2.0,
"l_rank": 140,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 21.1,
"ip_rank": 303,
"h_value": 27.0,
"h_rank": 174,
"er_value": 12.0,
"er_rank": 210,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 12.0,
"bb_rank": 199,
"k_value": 20.0,
"k_rank": 296,
"k_per_9_value": 8.4375,
"k_per_9_rank": 26,
"whip_value": 1.8281,
"whip_rank": null,
"war_value": -0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0,
"home_runs_vs_away_pitcher": 1.0062,
"home_pitcher_quality_edge": 0.1619
},
"score_before": {
"away_runs": 5.378,
"home_runs": 4.8124
},
"score_after": {
"away_runs": 5.3782,
"home_runs": 4.8423,
"home_win_probability": 0.4574
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away KC | 6-49 | 0.109 | 0.70 | 4.10 | -185 | cold | average | |
| Home CIN | 16-38 | 0.296 | 1.30 | 4.20 | -155 | cold | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away KC | 22-37 | 0.373 | -59 | -1 | True |
| Home CIN | 30-28 | 0.517 | -32 | -0.552 | True |
| Signal | - | - | 0.448 | 0.665 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target KC | - | - | 6 | - | - | - | - |
| Game target CIN | - | - | 7 | - | - | - | - |
| Player finalized KC | 56 | 12 | 8 | 0 | 6 | 5 | 15 |
| Player finalized CIN | 62 | 14 | 9 | 1 | 9 | 8 | 16 |
| Player model fractional KC | 55.68 | 11.33 | 5.82 | 1.29 | 5.45 | 5.90 | 14.41 |
| Player model fractional CIN | 62.01 | 14.97 | 8.32 | 2.26 | 8.06 | 8.20 | 15.79 |
| Simulation box KC | 39 | 12 | 6 | 1 | 6 | 3 | 7 |
| Simulation box CIN | 34 | 10 | 7 | 4 | 7 | 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 KC | Starter | Luinder Avila | 3.20 | 4 | 5 | 6 | 2 | 4.01 | 1.45 | True |
| Away KC | Middle Reliever | Daniel Lynch IV | 2 | 0 | 1 | 0 | 0 | 3.12 | 1.39 | True |
| Away KC | Middle Reliever | John Schreiber | 1.10 | 2 | 2 | 2 | 0 | 2.71 | 1.13 | True |
| Away KC | Middle Reliever | Lucas Erceg | 1 | 1 | 1 | 2 | 0 | 5.88 | 1.69 | True |
| Home CIN | Starter | Lyon Richardson | 1.10 | 5 | 3 | 6 | 1 | 4.52 | 1.32 | True |
| Home CIN | Middle Reliever | Caleb Ferguson | 1.10 | 0 | 1 | 1 | 1 | 3.83 | 1.21 | True |
| Home CIN | Middle Reliever | Sam Moll | 1 | 0 | 1 | 1 | 0 | 3.09 | 1.02 | True |
| Home CIN | Middle Reliever | Brock Burke | 1 | 0 | 0 | 1 | 0 | 4.18 | 1.19 | True |
| Home CIN | Middle Reliever | Tejay Antone | 1 | 0 | 0 | 1 | 0 | 4.86 | 1.40 | True |
| Home CIN | Middle Reliever | Tony Santillan | 1.10 | 0 | 1 | 1 | 0 | 5.02 | 1.42 | True |
| Home CIN | Reliever | Yunior Marte | 2 | 1 | 1 | 1 | 1 | 5.64 | 1.46 | - |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | KC | batter | 2B | Michael Massey | worse | 11 | 6 | 5 | 5 | 6 | predicted_RBI | 3.8100 | boost | better |
| home | CIN | batter | LF | JJ Bleday | better | 11 | 8 | 3 | 7 | 4 | predicted_RBI | 2.2800 | boost | better |
| home | CIN | batter | RF | Spencer Steer | better | 10 | 6 | 4 | 7 | 3 | predicted_H | 2.0900 | boost | better |
| home | CIN | pitcher | Reliever | Yunior Marte | worse | 5 | 5 | 0 | 2 | 3 | predicted_IP | 1.9000 | boost | better |
| away | KC | pitcher | Starter | Luinder Avila | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -1.8000 | deboost | worse |
| home | CIN | batter | C | Tyler Stephenson | better | 11 | 6 | 5 | 7 | 4 | predicted_RBI | 1.5500 | boost | better |
| away | KC | batter | 1B | Vinnie Pasquantino | better | 11 | 5 | 6 | 6 | 5 | predicted_RBI | 1.5400 | boost | better |
| away | KC | batter | DH | Jac Caglianone | worse | 11 | 2 | 9 | 3 | 8 | predicted_AB | 1.5050 | boost | better |
| away | KC | batter | 3B | Nick Loftin | worse | 11 | 4 | 7 | 3 | 8 | predicted_H | 1.4400 | boost | better |
| away | KC | batter | C | Carter Jensen | worse | 10 | 2 | 8 | 3 | 7 | predicted_AB | 1.3700 | boost | better |
| away | KC | batter | CF | Kyle Isbel | worse | 11 | 4 | 7 | 3 | 8 | predicted_H | 1.3600 | boost | better |
| away | KC | batter | LF | Isaac Collins | better | 10 | 5 | 5 | 6 | 4 | predicted_H | 1.2800 | boost | better |
| home | CIN | batter | 2B | Edwin Arroyo | worse | 9 | 5 | 4 | 4 | 5 | predicted_SO | 1.2510 | boost | worse |
| home | CIN | batter | DH | Eugenio Suárez | worse | 11 | 3 | 8 | 4 | 7 | predicted_SO | -1.2400 | deboost | better |
| home | CIN | batter | 1B | Nathaniel Lowe | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 1.1370 | boost | worse |
| away | KC | batter | RF | Lane Thomas | worse | 11 | 6 | 5 | 5 | 6 | predicted_AB | 1.0770 | boost | better |
| away | KC | batter | SS | Bobby Witt Jr. | worse | 9 | 2 | 7 | 1 | 8 | predicted_H | -1.0600 | deboost | worse |
| away | KC | pitcher | Middle Reliever | Daniel Lynch IV | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.0000 | boost | better |
| home | CIN | pitcher | Starter | Lyon Richardson | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.0000 | boost | better |
| home | CIN | pitcher | Middle Reliever | Tony Santillan | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.0000 | boost | better |
| away | KC | pitcher | Middle Reliever | Lucas Erceg | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.9000 | boost | better |
| home | CIN | pitcher | Middle Reliever | Tejay Antone | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.9000 | boost | better |
| home | CIN | batter | 3B | Sal Stewart | boosted | 10 | 6 | 4 | 5 | 5 | predicted_HR | 0.8300 | boost | better |
| home | CIN | batter | SS | Matt McLain | worse | 10 | 2 | 8 | 3 | 7 | predicted_H | -0.6600 | deboost | worse |
| home | CIN | batter | CF | Blake Dunn | worse | 9 | 2 | 7 | 3 | 6 | predicted_H | 0.6500 | boost | better |
| home | CIN | pitcher | Middle Reliever | Brock Burke | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.3333 | boost | better |
| home | CIN | pitcher | Middle Reliever | Caleb Ferguson | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | KC | pitcher | Middle Reliever | John Schreiber | 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 | Luinder Avila |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1629 |
| ESPN Rank | 414 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1573 |
| Avg Velo | 92.5042 |
| Avg Spin | 2479.9947 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 3.2000 |
| Pre ER | 4 |
| Pre H | 6 |
| Pre BB | 2 |
| Pre SO | 5 |
| Season ERA | 5.0625 |
| Season WHIP | 1.8281 |
| Role Avg IP | 3 |
| Recent Avg IP | 3 |
| Last Start IP | 3 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 67,
"wins": 23,
"losses": 44,
"win_pct": 0.3433,
"runs_scored": 243.0,
"runs_allowed": 319.0,
"run_differential": -76.0,
"run_differential_per_game": -1.1343,
"avg_runs_scored": 3.6269,
"avg_runs_allowed": 4.7612,
"offense_index": 0.8172,
"defense_index": 0.9321,
"current_streak": "L6",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 6.0,
"run_differential": -30.0
},
"available": true,
"quality_score": -0.3788
},
"opponent": {
"team": "CIN",
"games": 67,
"wins": 32,
"losses": 35,
"win_pct": 0.4776,
"runs_scored": 289.0,
"runs_allowed": 337.0,
"run_differential": -48.0,
"run_differential_per_game": -0.7164,
"avg_runs_scored": 4.3134,
"avg_runs_allowed": 5.0299,
"offense_index": 0.9719,
"defense_index": 0.8823,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 3.9,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.1428
},
"edges": {
"quality_edge": -0.236,
"offense_edge": -0.1828,
"opponent_offense_edge": -0.0281,
"defense_strength": -0.0679,
"opponent_defense_weakness": 0.1177,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9896,
"run_prevention": 1.0141,
"strikeout": 0.9952
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "679883",
"profile": {
"available": true,
"pitcher_id": "679883",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 78.0,
"k_percent": 21.1,
"bb_percent": 12.6,
"woba": 0.4,
"xwoba": 0.342,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 9.5,
"hard_hit_percent": 34.9,
"avg_best_speed": 77.1895,
"avg_hyper_speed": 94.0387,
"whiff_percent": 23.5,
"swing_percent": 42.3
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.79,
"command_and_miss": -0.3764,
"regression_edge": 1.6571,
"xwoba_edge": -0.8571,
"barrel_edge": -0.5111,
"hard_hit_edge": 0.5286,
"whiff_edge": -0.3286,
"bb_edge": -0.825,
"pitch_design_score": 0.1573
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "679883",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 35,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 35,
"pitch_usage": 0.0,
"release_speed": 92.50421760670316,
"release_spin_rate": 2479.9946674562566,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 35,
"pitch_usage": 0.0,
"release_speed": 92.50421760670316,
"release_spin_rate": 2479.9946674562566,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5042,
"release_spin_rate": 2479.9947,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1573,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1236,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1629,
"sample_weight": 0.45,
"run_prevention_factor": 1.0138,
"strikeout_factor": 0.9902,
"walk_factor": 1.0297,
"homer_factor": 1.0205,
"woba_minus_xwoba": 0.058,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "679883",
"espn_id": 5201985,
"player_name": "Luinder Avila",
"team": "KC",
"role": "pitcher",
"espn_rank": 414,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 414,
"gp_value": 10.0,
"gp_rank": 347,
"gs_value": 1.0,
"gs_rank": 220,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 5.0625,
"era_rank": null,
"w_value": 0.0,
"w_rank": 368,
"l_value": 2.0,
"l_rank": 140,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 21.1,
"ip_rank": 303,
"h_value": 27.0,
"h_rank": 174,
"er_value": 12.0,
"er_rank": 210,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 12.0,
"bb_rank": 199,
"k_value": 20.0,
"k_rank": 296,
"k_per_9_value": 8.4375,
"k_per_9_rank": 26,
"whip_value": 1.8281,
"whip_rank": null,
"war_value": -0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 8.0,
"factor": 1.0062,
"adjusted": 8
},
"predicted_H": {
"original": 13.0,
"factor": 1.0062,
"adjusted": 13
},
"predicted_BB": {
"original": 5.0,
"factor": 1.0134,
"adjusted": 5
},
"predicted_HR": {
"original": 2.0,
"factor": 1.0092,
"adjusted": 2
},
"predicted_SO": {
"original": 7.0,
"factor": 0.9956,
"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": 21.1,
"ER": 12,
"H": 27,
"BB": 12,
"SO": 20,
"HR": 1,
"ERA": 5.0625,
"WHIP": 1.828125,
"K9": 8.4375,
"HR9": 0.421875,
"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": "679883",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 35,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 35,
"pitch_usage": 0.0,
"release_speed": 92.50421760670316,
"release_spin_rate": 2479.9946674562566,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 35,
"pitch_usage": 0.0,
"release_speed": 92.50421760670316,
"release_spin_rate": 2479.9946674562566,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5042,
"release_spin_rate": 2479.9947,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1573,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1236,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 4.21,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4571,
"prior_weight": 0.5429
},
"role": "pitcher",
"player_id": "679883",
"report_date": "20260601_K",
"season_year": 2026,
"rows_used": 10,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 10.1,
"ER": 3.0,
"R": 3.0,
"H": 9.0,
"BB": 6.0,
"SO": 9.0,
"HR": 0.0,
"BF": 42.0,
"Pitches": 196.0
},
"per_game": {
"IP": 2.0,
"ER": 0.6,
"R": 0.6,
"H": 1.8,
"BB": 1.2,
"SO": 1.8,
"HR": 0.0,
"BF": 8.4,
"Pitches": 39.2
},
"rates": {
"ERA": 2.6129,
"WHIP": 1.4516,
"ER_per_IP": 0.29032,
"H_per_IP": 0.87097,
"BB_per_IP": 0.58065,
"SO_per_IP": 0.87097,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 21.1,
"ER": 12.0,
"R": 12.0,
"H": 27.0,
"BB": 12.0,
"SO": 20.0,
"HR": 1.0,
"BF": 95.0,
"Pitches": 423.0
},
"per_game": {
"IP": 2.0,
"ER": 1.2,
"R": 1.2,
"H": 2.7,
"BB": 1.2,
"SO": 2.0,
"HR": 0.1,
"BF": 9.5,
"Pitches": 42.3
},
"rates": {
"ERA": 5.0625,
"WHIP": 1.8281,
"ER_per_IP": 0.5625,
"H_per_IP": 1.26562,
"BB_per_IP": 0.5625,
"SO_per_IP": 0.9375,
"HR_per_IP": 0.04688
}
},
"season": {
"games": 10,
"totals": {
"IP": 21.1,
"ER": 12.0,
"R": 12.0,
"H": 27.0,
"BB": 12.0,
"SO": 20.0,
"HR": 1.0,
"BF": 95.0,
"Pitches": 423.0
},
"per_game": {
"IP": 2.0,
"ER": 1.2,
"R": 1.2,
"H": 2.7,
"BB": 1.2,
"SO": 2.0,
"HR": 0.1,
"BF": 9.5,
"Pitches": 42.3
},
"rates": {
"ERA": 5.0625,
"WHIP": 1.8281,
"ER_per_IP": 0.5625,
"H_per_IP": 1.26562,
"BB_per_IP": 0.5625,
"SO_per_IP": 0.9375,
"HR_per_IP": 0.04688
}
}
},
"weighted_prediction": {
"predicted_IP": 3.2,
"predicted_ER": 1.618,
"predicted_H": 3.603,
"predicted_BB": 1.676,
"predicted_SO": 3.346,
"predicted_HR": 0.298,
"predicted_ERA": 4.012,
"predicted_WHIP": 1.4547
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5794,
"form_weight": 0.4206,
"form_reliability": 0.4571,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.21,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4571,
"prior_weight": 0.5429
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 3.2,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 1.618,
"final": 2.9981,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 3.603,
"final": 4.9918,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.676,
"final": 1.8637,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 3.346,
"final": 4.3043,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.298,
"final": 1.2841,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.012,
"final": 4.012,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4547,
"final": 1.4547,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Daniel Lynch IV |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3179 |
| ESPN Rank | 141 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0061 |
| Avg Velo | 89.5863 |
| Avg Spin | 2118.0215 |
| 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 | 1.9286 |
| Season WHIP | 0.9857 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 67,
"wins": 23,
"losses": 44,
"win_pct": 0.3433,
"runs_scored": 243.0,
"runs_allowed": 319.0,
"run_differential": -76.0,
"run_differential_per_game": -1.1343,
"avg_runs_scored": 3.6269,
"avg_runs_allowed": 4.7612,
"offense_index": 0.8172,
"defense_index": 0.9321,
"current_streak": "L6",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 6.0,
"run_differential": -30.0
},
"available": true,
"quality_score": -0.3788
},
"opponent": {
"team": "CIN",
"games": 67,
"wins": 32,
"losses": 35,
"win_pct": 0.4776,
"runs_scored": 289.0,
"runs_allowed": 337.0,
"run_differential": -48.0,
"run_differential_per_game": -0.7164,
"avg_runs_scored": 4.3134,
"avg_runs_allowed": 5.0299,
"offense_index": 0.9719,
"defense_index": 0.8823,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 3.9,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.1428
},
"edges": {
"quality_edge": -0.236,
"offense_edge": -0.1828,
"opponent_offense_edge": -0.0281,
"defense_strength": -0.0679,
"opponent_defense_weakness": 0.1177,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9896,
"run_prevention": 1.0141,
"strikeout": 0.9952
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663738",
"profile": {
"available": true,
"pitcher_id": "663738",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 85.0,
"k_percent": 28.1,
"bb_percent": 8.3,
"woba": 0.25,
"xwoba": 0.267,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 33.9,
"avg_best_speed": 73.7798,
"avg_hyper_speed": 93.5834,
"whiff_percent": 33.7,
"swing_percent": 47.4
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.9783,
"command_and_miss": 0.7986,
"regression_edge": -0.4857,
"xwoba_edge": 1.2857,
"barrel_edge": 0.0889,
"hard_hit_edge": 0.6714,
"whiff_edge": 1.1286,
"bb_edge": 0.25,
"pitch_design_score": -0.0061
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663738",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 89.58626979018295,
"release_spin_rate": 2118.0215064986496,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 89.58626979018295,
"release_spin_rate": 2118.0215064986496,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.5863,
"release_spin_rate": 2118.0215,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0061,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0436,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.3179,
"sample_weight": 0.45,
"run_prevention_factor": 0.973,
"strikeout_factor": 1.0345,
"walk_factor": 0.991,
"homer_factor": 0.9674,
"woba_minus_xwoba": -0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663738",
"espn_id": 41227,
"player_name": "Daniel Lynch IV",
"team": "KC",
"role": "pitcher",
"espn_rank": 141,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 141,
"gp_value": 23.0,
"gp_rank": 87,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 1.9285,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 0.0,
"l_rank": 390,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 7.0,
"hld_rank": 33,
"ip_value": 23.1,
"ip_rank": 270,
"h_value": 15.0,
"h_rank": 349,
"er_value": 5.0,
"er_rank": 432,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 8.0,
"bb_rank": 302,
"k_value": 27.0,
"k_rank": 209,
"k_per_9_value": 10.414287,
"k_per_9_rank": 20,
"whip_value": 0.9857,
"whip_rank": null,
"war_value": 0.61,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9879,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9879,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.996,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9853,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0155,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 2,
"H": 10,
"BB": 5,
"SO": 9,
"HR": 0,
"ERA": 1.862068965517241,
"WHIP": 1.5517241379310343,
"K9": 8.379310344827585,
"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-30T00:00:00"
}{
"available": true,
"pitcher_id": "663738",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 89.58626979018295,
"release_spin_rate": 2118.0215064986496,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 89.58626979018295,
"release_spin_rate": 2118.0215064986496,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.5863,
"release_spin_rate": 2118.0215,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0061,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0436,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.605,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4794,
"prior_weight": 0.5206
},
"role": "pitcher",
"player_id": "663738",
"report_date": "20260601_K",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 2.0,
"SO": 2.0,
"HR": 0.0,
"BF": 23.0,
"Pitches": 86.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.2,
"BB": 0.4,
"SO": 0.4,
"HR": 0.0,
"BF": 4.6,
"Pitches": 17.2
},
"rates": {
"ERA": 1.8,
"WHIP": 1.6,
"ER_per_IP": 0.2,
"H_per_IP": 1.2,
"BB_per_IP": 0.4,
"SO_per_IP": 0.4,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 2.0,
"R": 2.0,
"H": 10.0,
"BB": 5.0,
"SO": 9.0,
"HR": 0.0,
"BF": 45.0,
"Pitches": 172.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.5,
"SO": 0.9,
"HR": 0.0,
"BF": 4.5,
"Pitches": 17.2
},
"rates": {
"ERA": 1.8621,
"WHIP": 1.5517,
"ER_per_IP": 0.2069,
"H_per_IP": 1.03448,
"BB_per_IP": 0.51724,
"SO_per_IP": 0.93103,
"HR_per_IP": 0.0
}
},
"season": {
"games": 23,
"totals": {
"IP": 23.1,
"ER": 5.0,
"R": 8.0,
"H": 15.0,
"BB": 8.0,
"SO": 27.0,
"HR": 1.0,
"BF": 96.0,
"Pitches": 369.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2174,
"R": 0.3478,
"H": 0.6522,
"BB": 0.3478,
"SO": 1.1739,
"HR": 0.0435,
"BF": 4.1739,
"Pitches": 16.0435
},
"rates": {
"ERA": 1.9286,
"WHIP": 0.9857,
"ER_per_IP": 0.21429,
"H_per_IP": 0.64286,
"BB_per_IP": 0.34286,
"SO_per_IP": 1.15714,
"HR_per_IP": 0.04286
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.346,
"predicted_H": 0.989,
"predicted_BB": 0.398,
"predicted_SO": 0.843,
"predicted_HR": 0.074,
"predicted_ERA": 3.1178,
"predicted_WHIP": 1.3865
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.57,
"form_weight": 0.43,
"form_reliability": 0.4794,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.605,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4794,
"prior_weight": 0.5206
},
"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.1488,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.989,
"final": 0.4253,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.398,
"final": 0.1712,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.843,
"final": 0.9325,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.074,
"final": 0.0318,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.1178,
"final": 3.1178,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3865,
"final": 1.3865,
"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 | John Schreiber |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.3444 |
| ESPN Rank | 165 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0451 |
| Avg Velo | 88.8891 |
| Avg Spin | 2265.0304 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 2 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 2.8636 |
| Season WHIP | 1.3182 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 67,
"wins": 23,
"losses": 44,
"win_pct": 0.3433,
"runs_scored": 243.0,
"runs_allowed": 319.0,
"run_differential": -76.0,
"run_differential_per_game": -1.1343,
"avg_runs_scored": 3.6269,
"avg_runs_allowed": 4.7612,
"offense_index": 0.8172,
"defense_index": 0.9321,
"current_streak": "L6",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 6.0,
"run_differential": -30.0
},
"available": true,
"quality_score": -0.3788
},
"opponent": {
"team": "CIN",
"games": 67,
"wins": 32,
"losses": 35,
"win_pct": 0.4776,
"runs_scored": 289.0,
"runs_allowed": 337.0,
"run_differential": -48.0,
"run_differential_per_game": -0.7164,
"avg_runs_scored": 4.3134,
"avg_runs_allowed": 5.0299,
"offense_index": 0.9719,
"defense_index": 0.8823,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 3.9,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.1428
},
"edges": {
"quality_edge": -0.236,
"offense_edge": -0.1828,
"opponent_offense_edge": -0.0281,
"defense_strength": -0.0679,
"opponent_defense_weakness": 0.1177,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9896,
"run_prevention": 1.0141,
"strikeout": 0.9952
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "670167",
"profile": {
"available": true,
"pitcher_id": "670167",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 85.0,
"k_percent": 13.0,
"bb_percent": 10.9,
"woba": 0.32,
"xwoba": 0.354,
"sweet_spot_percent": 37.7,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 42.0,
"avg_best_speed": 80.6228,
"avg_hyper_speed": 94.7128,
"whiff_percent": 17.6,
"swing_percent": 44.0
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.6726,
"command_and_miss": -1.1071,
"regression_edge": -0.9714,
"xwoba_edge": -1.2,
"barrel_edge": 0.2889,
"hard_hit_edge": -0.4857,
"whiff_edge": -1.1714,
"bb_edge": -0.4,
"pitch_design_score": -0.0451
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "670167",
"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": 88.889133305028,
"release_spin_rate": 2265.0304068777855,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 88.889133305028,
"release_spin_rate": 2265.0304068777855,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8891,
"release_spin_rate": 2265.0304,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0451,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3224,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.3444,
"sample_weight": 0.45,
"run_prevention_factor": 1.0293,
"strikeout_factor": 0.9542,
"walk_factor": 1.0144,
"homer_factor": 1.0145,
"woba_minus_xwoba": -0.034,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "670167",
"espn_id": 39949,
"player_name": "John Schreiber",
"team": "KC",
"role": "pitcher",
"espn_rank": 165,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 165,
"gp_value": 24.0,
"gp_rank": 72,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.8636,
"era_rank": null,
"w_value": 0.0,
"w_rank": 368,
"l_value": 2.0,
"l_rank": 140,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 3.0,
"hld_rank": 120,
"ip_value": 22.0,
"ip_rank": 290,
"h_value": 19.0,
"h_rank": 276,
"er_value": 7.0,
"er_rank": 350,
"hr_value": 3.0,
"hr_rank": 198,
"bb_value": 10.0,
"bb_rank": 248,
"k_value": 12.0,
"k_rank": 398,
"k_per_9_value": 4.909091,
"k_per_9_rank": 37,
"whip_value": 1.3181,
"whip_rank": null,
"war_value": 0.51,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0132,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0132,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0065,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0065,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9794,
"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": 8,
"BB": 2,
"SO": 7,
"HR": 1,
"ERA": 0.9310344827586208,
"WHIP": 1.0344827586206897,
"K9": 6.517241379310345,
"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-30T00:00:00"
}{
"available": true,
"pitcher_id": "670167",
"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": 88.889133305028,
"release_spin_rate": 2265.0304068777855,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 88.889133305028,
"release_spin_rate": 2265.0304068777855,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8891,
"release_spin_rate": 2265.0304,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0451,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3224,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.342,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4648,
"prior_weight": 0.5352
},
"role": "pitcher",
"player_id": "670167",
"report_date": "20260601_K",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 0.0,
"SO": 5.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 55.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.0,
"SO": 1.0,
"HR": 0.0,
"BF": 3.2,
"Pitches": 11.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6429,
"ER_per_IP": 0.0,
"H_per_IP": 0.64286,
"BB_per_IP": 0.0,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 1.0,
"R": 1.0,
"H": 8.0,
"BB": 2.0,
"SO": 7.0,
"HR": 1.0,
"BF": 37.0,
"Pitches": 137.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.8,
"BB": 0.2,
"SO": 0.7,
"HR": 0.1,
"BF": 3.7,
"Pitches": 13.7
},
"rates": {
"ERA": 0.931,
"WHIP": 1.0345,
"ER_per_IP": 0.10345,
"H_per_IP": 0.82759,
"BB_per_IP": 0.2069,
"SO_per_IP": 0.72414,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 24,
"totals": {
"IP": 22.0,
"ER": 7.0,
"R": 7.0,
"H": 19.0,
"BB": 10.0,
"SO": 12.0,
"HR": 3.0,
"BF": 92.0,
"Pitches": 361.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2917,
"R": 0.2917,
"H": 0.7917,
"BB": 0.4167,
"SO": 0.5,
"HR": 0.125,
"BF": 3.8333,
"Pitches": 15.0417
},
"rates": {
"ERA": 2.8636,
"WHIP": 1.3182,
"ER_per_IP": 0.31818,
"H_per_IP": 0.86364,
"BB_per_IP": 0.45455,
"SO_per_IP": 0.54545,
"HR_per_IP": 0.13636
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.301,
"predicted_H": 0.858,
"predicted_BB": 0.273,
"predicted_SO": 0.896,
"predicted_HR": 0.101,
"predicted_ERA": 2.7124,
"predicted_WHIP": 1.131
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5761,
"form_weight": 0.4239,
"form_reliability": 0.4648,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.342,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4648,
"prior_weight": 0.5352
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.301,
"final": 1.2798,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.858,
"final": 1.5159,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.273,
"final": 0.1157,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.896,
"final": 1.532,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.101,
"final": 0.6189,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7124,
"final": 2.7124,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.131,
"final": 1.131,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Lucas Erceg |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0860 |
| ESPN Rank | 621 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1358 |
| Avg Velo | 92.1201 |
| Avg Spin | 1981.6520 |
| 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 | 5.0625 |
| Season WHIP | 1.6875 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 67,
"wins": 23,
"losses": 44,
"win_pct": 0.3433,
"runs_scored": 243.0,
"runs_allowed": 319.0,
"run_differential": -76.0,
"run_differential_per_game": -1.1343,
"avg_runs_scored": 3.6269,
"avg_runs_allowed": 4.7612,
"offense_index": 0.8172,
"defense_index": 0.9321,
"current_streak": "L6",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 6.0,
"run_differential": -30.0
},
"available": true,
"quality_score": -0.3788
},
"opponent": {
"team": "CIN",
"games": 67,
"wins": 32,
"losses": 35,
"win_pct": 0.4776,
"runs_scored": 289.0,
"runs_allowed": 337.0,
"run_differential": -48.0,
"run_differential_per_game": -0.7164,
"avg_runs_scored": 4.3134,
"avg_runs_allowed": 5.0299,
"offense_index": 0.9719,
"defense_index": 0.8823,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 3.9,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.1428
},
"edges": {
"quality_edge": -0.236,
"offense_edge": -0.1828,
"opponent_offense_edge": -0.0281,
"defense_strength": -0.0679,
"opponent_defense_weakness": 0.1177,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9896,
"run_prevention": 1.0141,
"strikeout": 0.9952
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668674",
"profile": {
"available": true,
"pitcher_id": "668674",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 93.0,
"k_percent": 18.4,
"bb_percent": 13.3,
"woba": 0.392,
"xwoba": 0.323,
"sweet_spot_percent": 29.9,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 40.3,
"avg_best_speed": 74.3229,
"avg_hyper_speed": 94.5111,
"whiff_percent": 20.4,
"swing_percent": 47.9
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.369,
"command_and_miss": -0.74,
"regression_edge": 1.9714,
"xwoba_edge": -0.3143,
"barrel_edge": 0.2667,
"hard_hit_edge": -0.2429,
"whiff_edge": -0.7714,
"bb_edge": -1.0,
"pitch_design_score": 0.1358
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "668674",
"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.12014511342626,
"release_spin_rate": 1981.652014047624,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 92.12014511342626,
"release_spin_rate": 1981.652014047624,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.1201,
"release_spin_rate": 1981.652,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1358,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.97,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.086,
"sample_weight": 0.45,
"run_prevention_factor": 1.0073,
"strikeout_factor": 0.9753,
"walk_factor": 1.036,
"homer_factor": 0.999,
"woba_minus_xwoba": 0.069,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "668674",
"espn_id": 36618,
"player_name": "Lucas Erceg",
"team": "KC",
"role": "pitcher",
"espn_rank": 621,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 621,
"gp_value": 23.0,
"gp_rank": 87,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 6.3281,
"era_rank": null,
"w_value": 3.0,
"w_rank": 74,
"l_value": 3.0,
"l_rank": 75,
"sv_value": 11.0,
"sv_rank": 9,
"hld_value": 1.0,
"hld_rank": 184,
"ip_value": 21.1,
"ip_rank": 303,
"h_value": 28.0,
"h_rank": 164,
"er_value": 15.0,
"er_rank": 158,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 13.0,
"bb_rank": 179,
"k_value": 18.0,
"k_rank": 322,
"k_per_9_value": 7.59375,
"k_per_9_rank": 28,
"whip_value": 1.9218,
"whip_rank": null,
"war_value": -0.61,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0033,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0033,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0162,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9996,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9889,
"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": 6,
"H": 13,
"BB": 3,
"SO": 8,
"HR": 0,
"ERA": 6.0,
"WHIP": 1.7777777777777777,
"K9": 8.0,
"HR9": 0.0,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-30T00:00:00"
}{
"available": true,
"pitcher_id": "668674",
"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.12014511342626,
"release_spin_rate": 1981.652014047624,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 92.12014511342626,
"release_spin_rate": 1981.652014047624,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.1201,
"release_spin_rate": 1981.652,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1358,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.97,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.21,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4571,
"prior_weight": 0.5429
},
"role": "pitcher",
"player_id": "668674",
"report_date": "20260601_K",
"season_year": 2026,
"rows_used": 22,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 6.0,
"R": 7.0,
"H": 12.0,
"BB": 1.0,
"SO": 4.0,
"HR": 0.0,
"BF": 26.0,
"Pitches": 95.0
},
"per_game": {
"IP": 1.0,
"ER": 1.2,
"R": 1.4,
"H": 2.4,
"BB": 0.2,
"SO": 0.8,
"HR": 0.0,
"BF": 5.2,
"Pitches": 19.0
},
"rates": {
"ERA": 10.8,
"WHIP": 2.6,
"ER_per_IP": 1.2,
"H_per_IP": 2.4,
"BB_per_IP": 0.2,
"SO_per_IP": 0.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 6.0,
"R": 7.0,
"H": 14.0,
"BB": 4.0,
"SO": 9.0,
"HR": 0.0,
"BF": 46.0,
"Pitches": 176.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.7,
"H": 1.4,
"BB": 0.4,
"SO": 0.9,
"HR": 0.0,
"BF": 4.6,
"Pitches": 17.6
},
"rates": {
"ERA": 5.4,
"WHIP": 1.8,
"ER_per_IP": 0.6,
"H_per_IP": 1.4,
"BB_per_IP": 0.4,
"SO_per_IP": 0.9,
"HR_per_IP": 0.0
}
},
"season": {
"games": 22,
"totals": {
"IP": 21.1,
"ER": 12.0,
"R": 14.0,
"H": 23.0,
"BB": 13.0,
"SO": 18.0,
"HR": 0.0,
"BF": 93.0,
"Pitches": 382.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5455,
"R": 0.6364,
"H": 1.0455,
"BB": 0.5909,
"SO": 0.8182,
"HR": 0.0,
"BF": 4.2273,
"Pitches": 17.3636
},
"rates": {
"ERA": 5.0625,
"WHIP": 1.6875,
"ER_per_IP": 0.5625,
"H_per_IP": 1.07812,
"BB_per_IP": 0.60938,
"SO_per_IP": 0.84375,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.417,
"predicted_H": 0.85,
"predicted_BB": 0.23,
"predicted_SO": 0.572,
"predicted_HR": 0.046,
"predicted_ERA": 5.876,
"predicted_WHIP": 1.6929
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5794,
"form_weight": 0.4206,
"form_reliability": 0.4571,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.21,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4571,
"prior_weight": 0.5429
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.417,
"final": 0.7548,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.85,
"final": 1.5163,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.23,
"final": 0.0967,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.572,
"final": 0.82,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.046,
"final": 0.5987,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.876,
"final": 5.876,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.6929,
"final": 1.6929,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.252 | 0.000 | 1.000 | Hitting_2B | 0.252 | 1.000 | -0.252 | -1.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 4.450 | 5.000 | 9.000 | Hitting_AB | 4.016 | 5.000 | 0.984 | 0.000 |
| predicted_AVG | 0.238 | 0.000 | 0.222 | Hitting_AVG | 0.288 | 0.400 | -0.288 | -0.400 |
| predicted_BB | 0.435 | 0.000 | 1.000 | Hitting_BB | 0.435 | 0.000 | -0.435 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.061 | 0.000 | -0.061 | 0.000 |
| predicted_H | 1.060 | 0.000 | 2.000 | Hitting_H | 1.159 | 2.000 | -1.159 | -2.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.163 | 0.000 | -0.163 | 0.000 |
| predicted_OBP | 0.304 | 0.000 | 0.300 | Hitting_OBP | 0.355 | 0.400 | -0.355 | -0.400 |
| predicted_R | 0.492 | 0.000 | 1.000 | Hitting_R | 0.492 | 0.000 | -0.492 | 0.000 |
| predicted_RBI | 0.460 | 0.000 | 1.000 | Hitting_RBI | 0.455 | 0.000 | -0.455 | 0.000 |
| predicted_SLG | 0.441 | 0.000 | 0.333 | Hitting_SLG | 0.483 | 0.600 | -0.483 | -0.600 |
| predicted_SO | 0.854 | 1.000 | 2.000 | Hitting_SO | 0.854 | 1.000 | 0.146 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 4.4500 -> 5.0000 (boost 0.5500, better) |
| Biggest Deboost | predicted_H: 1.0600 -> 0.0000 (deboost -1.0600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 9 | 1 | 8 | 2 | predicted_AB: 4.4500 -> 8.6434 (boost 4.1934, better) | predicted_SLG: 0.4410 -> 0.4321 (deboost -0.0089, 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_H: 2.1484 -> 2.0962 (deboost -0.0522, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 5 | 2 | 4 | 3 | predicted_2B: 0.4957 -> 1.0000 (boost 0.5043, better) | predicted_HR: 0.3049 -> 0.0000 (deboost -0.3049, worse) | AB rounded to 9 (raw=8.64), rates preserved: AVG=0.243 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8936 -> 1.0000 (boost 0.1064, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4137 -> 0.3330 (deboost -0.0807, 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 -> 5.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.3330 -> 0.4137 (boost 0.0807, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677951",
"player_name": "Bobby Witt Jr.",
"position": "SS",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.252,
"predicted_3B": 0.02,
"predicted_AB": 4.45,
"predicted_AVG": 0.238,
"predicted_BB": 0.435,
"predicted_H": 1.06,
"predicted_HR": 0.18,
"predicted_OBP": 0.304,
"predicted_R": 0.492,
"predicted_RBI": 0.46,
"predicted_SLG": 0.441,
"predicted_SO": 0.854
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4957,
"predicted_3B": 0.0346,
"predicted_AB": 8.6434,
"predicted_AVG": 0.2445,
"predicted_BB": 0.8074,
"predicted_H": 2.1484,
"predicted_HBP": 0.003,
"predicted_HR": 0.3118,
"predicted_OBP": 0.3074,
"predicted_R": 0.9347,
"predicted_RBI": 0.8766,
"predicted_SLG": 0.4321,
"predicted_SO": 1.7681
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.252,
"after": 0.4957,
"delta": 0.2437,
"percent_delta": 0.9671,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0346,
"delta": 0.0146,
"percent_delta": 0.73,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.45,
"after": 8.6434,
"delta": 4.1934,
"percent_delta": 0.9423,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2445,
"delta": 0.0065,
"percent_delta": 0.0273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.435,
"after": 0.8074,
"delta": 0.3724,
"percent_delta": 0.8561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 2.1484,
"delta": 1.0884,
"percent_delta": 1.0268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.3118,
"delta": 0.1318,
"percent_delta": 0.7322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.3074,
"delta": 0.0034,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.492,
"after": 0.9347,
"delta": 0.4427,
"percent_delta": 0.8998,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.8766,
"delta": 0.4166,
"percent_delta": 0.9057,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.441,
"after": 0.4321,
"delta": -0.0089,
"percent_delta": -0.0202,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.854,
"after": 1.7681,
"delta": 0.9141,
"percent_delta": 1.0704,
"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.45,
"after": 8.6434,
"delta": 4.1934,
"percent_delta": 0.9423,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.441,
"after": 0.4321,
"delta": -0.0089,
"percent_delta": -0.0202,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 58
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.4957,
"predicted_3B": 0.0346,
"predicted_AB": 8.6434,
"predicted_AVG": 0.2425,
"predicted_BB": 0.7958,
"predicted_H": 2.0962,
"predicted_HBP": 0.003,
"predicted_HR": 0.3049,
"predicted_OBP": 0.3064,
"predicted_R": 0.8936,
"predicted_RBI": 0.838,
"predicted_SLG": 0.4137,
"predicted_SO": 1.7936
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4957,
"after": 0.4957,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0346,
"after": 0.0346,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.6434,
"after": 8.6434,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2445,
"after": 0.2425,
"delta": -0.002,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.8074,
"after": 0.7958,
"delta": -0.0116,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1484,
"after": 2.0962,
"delta": -0.0522,
"percent_delta": -0.0243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3118,
"after": 0.3049,
"delta": -0.0069,
"percent_delta": -0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3074,
"after": 0.3064,
"delta": -0.001,
"percent_delta": -0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.9347,
"after": 0.8936,
"delta": -0.0411,
"percent_delta": -0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8766,
"after": 0.838,
"delta": -0.0386,
"percent_delta": -0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4321,
"after": 0.4137,
"delta": -0.0184,
"percent_delta": -0.0426,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7681,
"after": 1.7936,
"delta": 0.0255,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.1484,
"after": 2.0962,
"delta": -0.0522,
"percent_delta": -0.0243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=8.64), rates preserved: AVG=0.243 HR/AB=0.035",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4957,
"after": 1.0,
"delta": 0.5043,
"percent_delta": 1.0173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0346,
"after": 0.0,
"delta": -0.0346,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.6434,
"after": 9.0,
"delta": 0.3566,
"percent_delta": 0.0413,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7958,
"after": 1.0,
"delta": 0.2042,
"percent_delta": 0.2566,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0962,
"after": 2.0,
"delta": -0.0962,
"percent_delta": -0.0459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3049,
"after": 0.0,
"delta": -0.3049,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.838,
"after": 1.0,
"delta": 0.162,
"percent_delta": 0.1933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7936,
"after": 2.0,
"delta": 0.2064,
"percent_delta": 0.1151,
"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.4957,
"after": 1.0,
"delta": 0.5043,
"percent_delta": 1.0173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3049,
"after": 0.0,
"delta": -0.3049,
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8936,
"after": 1.0,
"delta": 0.1064,
"percent_delta": 0.1191,
"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.8936,
"after": 1.0,
"delta": 0.1064,
"percent_delta": 0.1191,
"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": 0.0,
"predicted_OBP": 0.3,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.333,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2425,
"after": 0.222,
"delta": -0.0205,
"percent_delta": -0.0845,
"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.3064,
"after": 0.3,
"delta": -0.0064,
"percent_delta": -0.0209,
"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.4137,
"after": 0.333,
"delta": -0.0807,
"percent_delta": -0.1951,
"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.4137,
"after": 0.333,
"delta": -0.0807,
"percent_delta": -0.1951,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 5.0,
"delta": -4.0,
"percent_delta": -0.4444,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 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": 5.0,
"delta": -4.0,
"percent_delta": -0.4444,
"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.2425,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3064,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4137,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2425,
"delta": 0.0205,
"percent_delta": 0.0924,
"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.3064,
"delta": 0.0064,
"percent_delta": 0.0213,
"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.4137,
"delta": 0.0807,
"percent_delta": 0.2424,
"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.4137,
"delta": 0.0807,
"percent_delta": 0.2424,
"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.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.45,
"after": 5.0,
"delta": 0.55,
"percent_delta": 0.1236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2425,
"delta": 0.0045,
"percent_delta": 0.0189,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.435,
"after": 0.0,
"delta": -0.435,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.3064,
"delta": 0.0024,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.492,
"after": 0.0,
"delta": -0.492,
"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.441,
"after": 0.4137,
"delta": -0.0273,
"percent_delta": -0.0619,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.854,
"after": 1.0,
"delta": 0.146,
"percent_delta": 0.171,
"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": 4.45,
"after": 5.0,
"delta": 0.55,
"percent_delta": 0.1236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.252 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 4.450 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.435 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.304 | - |
| predicted_R | 0.492 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.441 | - |
| predicted_SO | 0.854 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.496 | 0.244 |
| predicted_3B | 0.035 | 0.015 |
| predicted_AB | 8.643 | 4.193 |
| predicted_AVG | 0.244 | 0.007 |
| predicted_BB | 0.807 | 0.372 |
| predicted_H | 2.148 | 1.088 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.312 | 0.132 |
| predicted_OBP | 0.307 | 0.003 |
| predicted_R | 0.935 | 0.443 |
| predicted_RBI | 0.877 | 0.417 |
| predicted_SLG | 0.432 | -0.009 |
| predicted_SO | 1.768 | 0.914 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.496 | 0.000 |
| predicted_3B | 0.035 | 0.000 |
| predicted_AB | 8.643 | 0.000 |
| predicted_AVG | 0.242 | -0.002 |
| predicted_BB | 0.796 | -0.012 |
| predicted_H | 2.096 | -0.052 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.305 | -0.007 |
| predicted_OBP | 0.306 | -0.001 |
| predicted_R | 0.894 | -0.041 |
| predicted_RBI | 0.838 | -0.039 |
| predicted_SLG | 0.414 | -0.018 |
| predicted_SO | 1.794 | 0.026 |
AB rounded to 9 (raw=8.64), rates preserved: AVG=0.243 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 9.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 9.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 1.000 | 0.504 |
| predicted_3B | 0.000 | -0.035 |
| predicted_AB | 9.000 | 0.357 |
| predicted_AVG | 0.222 | -0.020 |
| predicted_BB | 1.000 | 0.204 |
| predicted_H | 2.000 | -0.096 |
| predicted_HR | 0.000 | -0.305 |
| predicted_OBP | 0.300 | -0.006 |
| predicted_R | 1.000 | 0.106 |
| predicted_RBI | 1.000 | 0.162 |
| predicted_SLG | 0.333 | -0.081 |
| predicted_SO | 2.000 | 0.206 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 21.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 4.000 | 0.1429 | 0.1818 | 0.1905 | 0.1429 | 0.0000 | 0.0476 | 0.0476 | 0.1905 |
| last_10 | 0.20 | 5 | - | 38.000 | 6.000 | 1.000 | 0.000 | 3.000 | 4.000 | 4.000 | 1.000 | 9.000 | 0.1579 | 0.1795 | 0.4211 | 0.1579 | 0.0790 | 0.1053 | 0.0263 | 0.2368 |
| season | 0.60 | 58 | - | 988.000 | 285.000 | 62.000 | 5.000 | 40.000 | 112.000 | 121.000 | 107.000 | 210.000 | 0.2885 | 0.3551 | 0.4828 | 0.2885 | 0.0405 | 0.1134 | 0.1083 | 0.2125 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8030 |
| predicted_3B | 0.0530 |
| predicted_AB | 13.9320 |
| predicted_AVG | 0.2528 |
| predicted_BB | 1.2770 |
| predicted_H | 3.5210 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.4780 |
| predicted_OBP | 0.3117 |
| predicted_R | 1.4930 |
| predicted_RBI | 1.4020 |
| predicted_SLG | 0.4209 |
| predicted_SO | 2.9210 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2520 | 0.8030 | 0.4957 | model_form_blend |
| predicted_3B | 0.0200 | 0.0530 | 0.0346 | model_form_blend |
| predicted_AB | 4.4500 | 13.9320 | 8.6434 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2528 | 0.2445 | model_form_blend |
| predicted_BB | 0.4350 | 1.2770 | 0.8074 | model_form_blend |
| predicted_H | 1.0600 | 3.5210 | 2.1484 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1800 | 0.4780 | 0.3118 | model_form_blend |
| predicted_OBP | 0.3040 | 0.3117 | 0.3074 | model_form_blend |
| predicted_R | 0.4920 | 1.4930 | 0.9347 | model_form_blend |
| predicted_RBI | 0.4600 | 1.4020 | 0.8766 | model_form_blend |
| predicted_SLG | 0.4410 | 0.4209 | 0.4321 | model_form_blend |
| predicted_SO | 0.8540 | 2.9210 | 1.7681 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 246 |
| Season rows before report date | 246 |
| Report year | 2026 |
| Profile rows used | 246 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.288 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| 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 | SS |
| gameID | 20260531_KC@TEX |
| game_type | full |
| mlbID | 677951 |
| playerID | 677951 |
| playerName | Bobby Witt Jr. |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | KC |
| teamID | 12 |
| game_date | 2026-05-31 |
| sl_k_percent | 17.6 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.358 |
| sl_xwoba | 0.395 |
| sl_xba | 0.314 |
| sl_xslg | 0.541 |
| sl_sweet_spot_percent | 38.7 |
| sl_barrel_batted_rate | 13.6 |
| sl_hard_hit_percent | 54.8 |
| sl_exit_velocity_avg | 93.9 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 24.8 |
| sl_swing_percent | 48.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.198 | 0.000 | 0.000 | Hitting_2B | 0.198 | 0.000 | -0.198 | 0.000 |
| predicted_3B | 0.022 | 0.000 | 0.000 | Hitting_3B | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_AB | 3.495 | 5.000 | 6.000 | Hitting_AB | 3.495 | 3.000 | 1.505 | 2.000 |
| predicted_AVG | 0.227 | 0.200 | 0.167 | Hitting_AVG | 0.220 | 0.333 | -0.020 | -0.133 |
| predicted_BB | 0.319 | 0.000 | 0.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.310 | 1.000 | 1.000 | Hitting_H | 0.769 | 1.000 | 0.231 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.099 | 0.000 | -0.099 | 0.000 |
| predicted_OBP | 0.271 | 0.200 | 0.167 | Hitting_OBP | 0.294 | 0.500 | -0.094 | -0.300 |
| predicted_R | 0.412 | 0.000 | 1.000 | Hitting_R | 0.412 | 0.000 | -0.412 | 0.000 |
| predicted_RBI | 0.130 | 0.000 | 0.000 | Hitting_RBI | 0.220 | 0.000 | -0.220 | 0.000 |
| predicted_SLG | 0.348 | 0.200 | 0.167 | Hitting_SLG | 0.374 | 0.333 | -0.174 | -0.133 |
| predicted_SO | 1.154 | 1.000 | 2.000 | Hitting_SO | 1.154 | 1.000 | -0.154 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.4950 -> 5.0000 (boost 1.5050, better) |
| Biggest Deboost | predicted_R: 0.4120 -> 0.0000 (deboost -0.4120, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.4950 -> 6.3479 (boost 2.8529, better) | predicted_SLG: 0.3480 -> 0.3388 (deboost -0.0092, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3388 -> 0.2826 (deboost -0.0562, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 0 | 8 | 1 | 7 | - | predicted_BB: 0.5255 -> 0.0000 (deboost -0.5255, worse) | AB rounded to 6 (raw=6.35), rates preserved: AVG=0.168 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5986 -> 1.0000 (boost 0.4014, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.2826 -> 0.1670 (deboost -0.1156, 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 -> 5.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.1670 -> 0.2826 (boost 0.1156, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695506",
"player_name": "Jac Caglianone",
"position": "DH",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.198,
"predicted_3B": 0.022,
"predicted_AB": 3.495,
"predicted_AVG": 0.227,
"predicted_BB": 0.319,
"predicted_H": 0.31,
"predicted_HR": 0.05,
"predicted_OBP": 0.271,
"predicted_R": 0.412,
"predicted_RBI": 0.13,
"predicted_SLG": 0.348,
"predicted_SO": 1.154
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2987,
"predicted_3B": 0.033,
"predicted_AB": 6.3479,
"predicted_AVG": 0.2194,
"predicted_BB": 0.5332,
"predicted_H": 1.0932,
"predicted_HBP": 0.106,
"predicted_HR": 0.1236,
"predicted_OBP": 0.2728,
"predicted_R": 0.6262,
"predicted_RBI": 0.2947,
"predicted_SLG": 0.3388,
"predicted_SO": 2.2351
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.198,
"after": 0.2987,
"delta": 0.1007,
"percent_delta": 0.5086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.022,
"after": 0.033,
"delta": 0.011,
"percent_delta": 0.5,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.495,
"after": 6.3479,
"delta": 2.8529,
"percent_delta": 0.8163,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2194,
"delta": -0.0076,
"percent_delta": -0.0335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.319,
"after": 0.5332,
"delta": 0.2142,
"percent_delta": 0.6715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 1.0932,
"delta": 0.7832,
"percent_delta": 2.5265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.1236,
"delta": 0.0736,
"percent_delta": 1.472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.271,
"after": 0.2728,
"delta": 0.0018,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.412,
"after": 0.6262,
"delta": 0.2142,
"percent_delta": 0.5199,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 0.2947,
"delta": 0.1647,
"percent_delta": 1.2669,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.3388,
"delta": -0.0092,
"percent_delta": -0.0264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.154,
"after": 2.2351,
"delta": 1.0811,
"percent_delta": 0.9368,
"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.495,
"after": 6.3479,
"delta": 2.8529,
"percent_delta": 0.8163,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.3388,
"delta": -0.0092,
"percent_delta": -0.0264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.2987,
"predicted_3B": 0.033,
"predicted_AB": 6.3479,
"predicted_AVG": 0.168,
"predicted_BB": 0.5255,
"predicted_H": 1.0666,
"predicted_HBP": 0.106,
"predicted_HR": 0.1209,
"predicted_OBP": 0.2316,
"predicted_R": 0.5986,
"predicted_RBI": 0.2817,
"predicted_SLG": 0.2826,
"predicted_SO": 2.2673
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2987,
"after": 0.2987,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.033,
"after": 0.033,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.3479,
"after": 6.3479,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2194,
"after": 0.168,
"delta": -0.0514,
"percent_delta": -0.2343,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5332,
"after": 0.5255,
"delta": -0.0077,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0932,
"after": 1.0666,
"delta": -0.0266,
"percent_delta": -0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.106,
"after": 0.106,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1236,
"after": 0.1209,
"delta": -0.0027,
"percent_delta": -0.0218,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2728,
"after": 0.2316,
"delta": -0.0412,
"percent_delta": -0.151,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6262,
"after": 0.5986,
"delta": -0.0276,
"percent_delta": -0.0441,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2947,
"after": 0.2817,
"delta": -0.013,
"percent_delta": -0.0441,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3388,
"after": 0.2826,
"delta": -0.0562,
"percent_delta": -0.1659,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.2351,
"after": 2.2673,
"delta": 0.0322,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3388,
"after": 0.2826,
"delta": -0.0562,
"percent_delta": -0.1659,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.35), rates preserved: AVG=0.168 HR/AB=0.019",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2987,
"after": 0.0,
"delta": -0.2987,
"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": 6.3479,
"after": 6.0,
"delta": -0.3479,
"percent_delta": -0.0548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5255,
"after": 0.0,
"delta": -0.5255,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0666,
"after": 1.0,
"delta": -0.0666,
"percent_delta": -0.0624,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.106,
"after": 0.0,
"delta": -0.106,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1209,
"after": 0.0,
"delta": -0.1209,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2817,
"after": 0.0,
"delta": -0.2817,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.2673,
"after": 2.0,
"delta": -0.2673,
"percent_delta": -0.1179,
"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_BB",
"before": 0.5255,
"after": 0.0,
"delta": -0.5255,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5986,
"after": 1.0,
"delta": 0.4014,
"percent_delta": 0.6706,
"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.5986,
"after": 1.0,
"delta": 0.4014,
"percent_delta": 0.6706,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.167,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.167,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.168,
"after": 0.167,
"delta": -0.001,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2316,
"after": 0.167,
"delta": -0.0646,
"percent_delta": -0.2789,
"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.2826,
"after": 0.167,
"delta": -0.1156,
"percent_delta": -0.4091,
"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.2826,
"after": 0.167,
"delta": -0.1156,
"percent_delta": -0.4091,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 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": 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.168,
"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.2316,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2826,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.168,
"delta": 0.001,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2316,
"delta": 0.0646,
"percent_delta": 0.3871,
"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.2826,
"delta": 0.1156,
"percent_delta": 0.6923,
"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.167,
"after": 0.2826,
"delta": 0.1156,
"percent_delta": 0.6923,
"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.198,
"after": 0.0,
"delta": -0.198,
"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.495,
"after": 5.0,
"delta": 1.505,
"percent_delta": 0.4306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.168,
"delta": -0.059,
"percent_delta": -0.2599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.319,
"after": 0.0,
"delta": -0.319,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 1.0,
"delta": 0.69,
"percent_delta": 2.2258,
"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.271,
"after": 0.2316,
"delta": -0.0394,
"percent_delta": -0.1454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.412,
"after": 0.0,
"delta": -0.412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.2826,
"delta": -0.0654,
"percent_delta": -0.1879,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.154,
"after": 1.0,
"delta": -0.154,
"percent_delta": -0.1334,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.495,
"after": 5.0,
"delta": 1.505,
"percent_delta": 0.4306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.412,
"after": 0.0,
"delta": -0.412,
"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.198 | - |
| predicted_3B | 0.022 | - |
| predicted_AB | 3.495 | - |
| predicted_AVG | 0.227 | - |
| predicted_BB | 0.319 | - |
| predicted_H | 0.310 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.271 | - |
| predicted_R | 0.412 | - |
| predicted_RBI | 0.130 | - |
| predicted_SLG | 0.348 | - |
| predicted_SO | 1.154 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.299 | 0.101 |
| predicted_3B | 0.033 | 0.011 |
| predicted_AB | 6.348 | 2.853 |
| predicted_AVG | 0.219 | -0.008 |
| predicted_BB | 0.533 | 0.214 |
| predicted_H | 1.093 | 0.783 |
| predicted_HBP | 0.106 | - |
| predicted_HR | 0.124 | 0.074 |
| predicted_OBP | 0.273 | 0.002 |
| predicted_R | 0.626 | 0.214 |
| predicted_RBI | 0.295 | 0.165 |
| predicted_SLG | 0.339 | -0.009 |
| predicted_SO | 2.235 | 1.081 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.299 | 0.000 |
| predicted_3B | 0.033 | 0.000 |
| predicted_AB | 6.348 | 0.000 |
| predicted_AVG | 0.168 | -0.051 |
| predicted_BB | 0.525 | -0.008 |
| predicted_H | 1.067 | -0.027 |
| predicted_HBP | 0.106 | 0.000 |
| predicted_HR | 0.121 | -0.003 |
| predicted_OBP | 0.232 | -0.041 |
| predicted_R | 0.599 | -0.028 |
| predicted_RBI | 0.282 | -0.013 |
| predicted_SLG | 0.283 | -0.056 |
| predicted_SO | 2.267 | 0.032 |
AB rounded to 6 (raw=6.35), rates preserved: AVG=0.168 HR/AB=0.019
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.299 |
| predicted_3B | 0.000 | -0.033 |
| predicted_AB | 6.000 | -0.348 |
| predicted_AVG | 0.167 | -0.001 |
| predicted_BB | 0.000 | -0.525 |
| predicted_H | 1.000 | -0.067 |
| predicted_HR | 0.000 | -0.121 |
| predicted_OBP | 0.167 | -0.065 |
| predicted_R | 1.000 | 0.401 |
| predicted_RBI | 0.000 | -0.282 |
| predicted_SLG | 0.167 | -0.116 |
| predicted_SO | 2.000 | -0.267 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 18.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 9.000 | 0.1667 | 0.2105 | 0.1667 | 0.1667 | 0.0000 | 0.0000 | 0.0556 | 0.5000 |
| last_10 | 0.20 | 5 | - | 37.000 | 7.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 15.000 | 0.1892 | 0.2105 | 0.1892 | 0.1892 | 0.0000 | 0.0000 | 0.0270 | 0.4054 |
| season | 0.60 | 53 | - | 636.000 | 140.000 | 36.000 | 4.000 | 18.000 | 40.000 | 75.000 | 58.000 | 210.000 | 0.2201 | 0.2945 | 0.3742 | 0.2201 | 0.0283 | 0.0629 | 0.0912 | 0.3302 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4280 |
| predicted_3B | 0.0470 |
| predicted_AB | 10.0080 |
| predicted_AVG | 0.2096 |
| predicted_BB | 0.8080 |
| predicted_H | 2.0980 |
| predicted_HBP | 0.1060 |
| predicted_HR | 0.2180 |
| predicted_OBP | 0.2751 |
| predicted_R | 0.9010 |
| predicted_RBI | 0.5060 |
| predicted_SLG | 0.3269 |
| predicted_SO | 3.6220 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1980 | 0.4280 | 0.2987 | model_form_blend |
| predicted_3B | 0.0220 | 0.0470 | 0.0330 | model_form_blend |
| predicted_AB | 3.4950 | 10.0080 | 6.3479 | model_form_blend |
| predicted_AVG | 0.2270 | 0.2096 | 0.2194 | model_form_blend |
| predicted_BB | 0.3190 | 0.8080 | 0.5332 | model_form_blend |
| predicted_H | 0.3100 | 2.0980 | 1.0932 | model_form_blend |
| predicted_HBP | - | 0.1060 | 0.1060 | form_only |
| predicted_HR | 0.0500 | 0.2180 | 0.1236 | model_form_blend |
| predicted_OBP | 0.2710 | 0.2751 | 0.2728 | model_form_blend |
| predicted_R | 0.4120 | 0.9010 | 0.6262 | model_form_blend |
| predicted_RBI | 0.1300 | 0.5060 | 0.2947 | model_form_blend |
| predicted_SLG | 0.3480 | 0.3269 | 0.3388 | model_form_blend |
| predicted_SO | 1.1540 | 3.6220 | 2.2351 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 182 |
| Season rows before report date | 182 |
| Report year | 2026 |
| Profile rows used | 182 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.22 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 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 | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260531_KC@TEX |
| game_type | full |
| mlbID | 695506 |
| playerID | 695506 |
| playerName | Jac Caglianone |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | KC |
| teamID | 12 |
| game_date | 2026-05-31 |
| sl_k_percent | 30.9 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.304 |
| sl_xwoba | 0.33 |
| sl_xba | 0.253 |
| sl_xslg | 0.442 |
| sl_sweet_spot_percent | 36.2 |
| sl_barrel_batted_rate | 15.5 |
| sl_hard_hit_percent | 57.8 |
| sl_exit_velocity_avg | 93.6 |
| sl_launch_angle_avg | 7.2 |
| sl_whiff_percent | 33.6 |
| sl_swing_percent | 47.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.113 | 0.000 | 0.000 | Hitting_2B | 0.113 | 0.000 | -0.113 | 0.000 |
| predicted_3B | 0.039 | 1.000 | 0.000 | Hitting_3B | 0.039 | 0.000 | 0.961 | 1.000 |
| predicted_AB | 3.980 | 4.000 | 8.000 | Hitting_AB | 3.761 | 5.000 | 0.239 | -1.000 |
| predicted_AVG | 0.229 | 0.500 | 0.250 | Hitting_AVG | 0.195 | 0.000 | 0.305 | 0.500 |
| predicted_BB | 0.535 | 1.000 | 1.000 | Hitting_BB | 0.535 | 0.000 | 0.465 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.910 | 2.000 | 2.000 | Hitting_H | 0.735 | 0.000 | 1.265 | 2.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_OBP | 0.323 | 0.600 | 0.333 | Hitting_OBP | 0.293 | 0.000 | 0.307 | 0.600 |
| predicted_R | 0.439 | 1.000 | 1.000 | Hitting_R | 0.439 | 0.000 | 0.561 | 1.000 |
| predicted_RBI | 0.460 | 2.000 | 1.000 | Hitting_RBI | 0.465 | 0.000 | 1.535 | 2.000 |
| predicted_SLG | 0.360 | 1.000 | 0.250 | Hitting_SLG | 0.326 | 0.000 | 0.674 | 1.000 |
| predicted_SO | 0.809 | 0.000 | 2.000 | Hitting_SO | 0.809 | 2.000 | -0.809 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.4600 -> 2.0000 (boost 1.5400, better) |
| Biggest Deboost | predicted_SO: 0.8090 -> 0.0000 (deboost -0.8090, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 8 | 3 | 7 | 4 | predicted_AB: 3.9800 -> 7.8919 (boost 3.9119, better) | predicted_SLG: 0.3600 -> 0.3384 (deboost -0.0216, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3384 -> 0.3141 (deboost -0.0243, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_H: 1.6013 -> 2.0000 (boost 0.3987, better) | predicted_2B: 0.2609 -> 0.0000 (deboost -0.2609, worse) | AB rounded to 8 (raw=7.89), rates preserved: AVG=0.203 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7152 -> 1.0000 (boost 0.2848, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2029 -> 0.2500 (boost 0.0471, better) | predicted_SLG: 0.3141 -> 0.2500 (deboost -0.0641, 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_3B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3141 (boost 0.0641, better) | predicted_AVG: 0.2500 -> 0.2029 (deboost -0.0471, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686469",
"player_name": "Vinnie Pasquantino",
"position": "1B",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.113,
"predicted_3B": 0.039,
"predicted_AB": 3.98,
"predicted_AVG": 0.229,
"predicted_BB": 0.535,
"predicted_H": 0.91,
"predicted_HR": 0.09,
"predicted_OBP": 0.323,
"predicted_R": 0.439,
"predicted_RBI": 0.46,
"predicted_SLG": 0.36,
"predicted_SO": 0.809
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2609,
"predicted_3B": 0.0655,
"predicted_AB": 7.8919,
"predicted_AVG": 0.2162,
"predicted_BB": 1.0954,
"predicted_H": 1.6412,
"predicted_HBP": 0.047,
"predicted_HR": 0.1655,
"predicted_OBP": 0.3114,
"predicted_R": 0.7481,
"predicted_RBI": 0.9206,
"predicted_SLG": 0.3384,
"predicted_SO": 1.7191
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.113,
"after": 0.2609,
"delta": 0.1479,
"percent_delta": 1.3088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.039,
"after": 0.0655,
"delta": 0.0265,
"percent_delta": 0.6795,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.98,
"after": 7.8919,
"delta": 3.9119,
"percent_delta": 0.9829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2162,
"delta": -0.0128,
"percent_delta": -0.0559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.535,
"after": 1.0954,
"delta": 0.5604,
"percent_delta": 1.0475,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 1.6412,
"delta": 0.7312,
"percent_delta": 0.8035,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1655,
"delta": 0.0755,
"percent_delta": 0.8389,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.3114,
"delta": -0.0116,
"percent_delta": -0.0359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.439,
"after": 0.7481,
"delta": 0.3091,
"percent_delta": 0.7041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.9206,
"delta": 0.4606,
"percent_delta": 1.0013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.36,
"after": 0.3384,
"delta": -0.0216,
"percent_delta": -0.06,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.809,
"after": 1.7191,
"delta": 0.9101,
"percent_delta": 1.125,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.98,
"after": 7.8919,
"delta": 3.9119,
"percent_delta": 0.9829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.36,
"after": 0.3384,
"delta": -0.0216,
"percent_delta": -0.06,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.2609,
"predicted_3B": 0.0655,
"predicted_AB": 7.8919,
"predicted_AVG": 0.2029,
"predicted_BB": 1.0796,
"predicted_H": 1.6013,
"predicted_HBP": 0.047,
"predicted_HR": 0.1619,
"predicted_OBP": 0.2988,
"predicted_R": 0.7152,
"predicted_RBI": 0.8801,
"predicted_SLG": 0.3141,
"predicted_SO": 1.7439
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2609,
"after": 0.2609,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0655,
"after": 0.0655,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.8919,
"after": 7.8919,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2162,
"after": 0.2029,
"delta": -0.0133,
"percent_delta": -0.0615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0954,
"after": 1.0796,
"delta": -0.0158,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.6412,
"after": 1.6013,
"delta": -0.0399,
"percent_delta": -0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.047,
"after": 0.047,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1655,
"after": 0.1619,
"delta": -0.0036,
"percent_delta": -0.0218,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3114,
"after": 0.2988,
"delta": -0.0126,
"percent_delta": -0.0405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7481,
"after": 0.7152,
"delta": -0.0329,
"percent_delta": -0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9206,
"after": 0.8801,
"delta": -0.0405,
"percent_delta": -0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3384,
"after": 0.3141,
"delta": -0.0243,
"percent_delta": -0.0718,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7191,
"after": 1.7439,
"delta": 0.0248,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3384,
"after": 0.3141,
"delta": -0.0243,
"percent_delta": -0.0718,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.89), rates preserved: AVG=0.203 HR/AB=0.021",
"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.2609,
"after": 0.0,
"delta": -0.2609,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0655,
"after": 0.0,
"delta": -0.0655,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.8919,
"after": 8.0,
"delta": 0.1081,
"percent_delta": 0.0137,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0796,
"after": 1.0,
"delta": -0.0796,
"percent_delta": -0.0737,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6013,
"after": 2.0,
"delta": 0.3987,
"percent_delta": 0.249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.047,
"after": 0.0,
"delta": -0.047,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1619,
"after": 0.0,
"delta": -0.1619,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8801,
"after": 1.0,
"delta": 0.1199,
"percent_delta": 0.1362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7439,
"after": 2.0,
"delta": 0.2561,
"percent_delta": 0.1469,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.6013,
"after": 2.0,
"delta": 0.3987,
"percent_delta": 0.249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2609,
"after": 0.0,
"delta": -0.2609,
"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.7152,
"after": 1.0,
"delta": 0.2848,
"percent_delta": 0.3982,
"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.7152,
"after": 1.0,
"delta": 0.2848,
"percent_delta": 0.3982,
"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.2029,
"after": 0.25,
"delta": 0.0471,
"percent_delta": 0.2321,
"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.2988,
"after": 0.333,
"delta": 0.0342,
"percent_delta": 0.1145,
"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.3141,
"after": 0.25,
"delta": -0.0641,
"percent_delta": -0.2041,
"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.2029,
"after": 0.25,
"delta": 0.0471,
"percent_delta": 0.2321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3141,
"after": 0.25,
"delta": -0.0641,
"percent_delta": -0.2041,
"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": 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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"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": 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": 1.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2029,
"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.2988,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3141,
"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": 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.25,
"after": 0.2029,
"delta": -0.0471,
"percent_delta": -0.1884,
"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.2988,
"delta": -0.0342,
"percent_delta": -0.1026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3141,
"delta": 0.0641,
"percent_delta": 0.2564,
"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.3141,
"delta": 0.0641,
"percent_delta": 0.2564,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2029,
"delta": -0.0471,
"percent_delta": -0.1884,
"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.113,
"after": 0.0,
"delta": -0.113,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.039,
"after": 1.0,
"delta": 0.961,
"percent_delta": 24.641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.98,
"after": 4.0,
"delta": 0.02,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2029,
"delta": -0.0261,
"percent_delta": -0.114,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.535,
"after": 1.0,
"delta": 0.465,
"percent_delta": 0.8692,
"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.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.2988,
"delta": -0.0242,
"percent_delta": -0.0749,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.439,
"after": 1.0,
"delta": 0.561,
"percent_delta": 1.2779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 2.0,
"delta": 1.54,
"percent_delta": 3.3478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.36,
"after": 0.3141,
"delta": -0.0459,
"percent_delta": -0.1275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.809,
"after": 0.0,
"delta": -0.809,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.46,
"after": 2.0,
"delta": 1.54,
"percent_delta": 3.3478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.809,
"after": 0.0,
"delta": -0.809,
"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.113 | - |
| predicted_3B | 0.039 | - |
| predicted_AB | 3.980 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.535 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.323 | - |
| predicted_R | 0.439 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.360 | - |
| predicted_SO | 0.809 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.261 | 0.148 |
| predicted_3B | 0.066 | 0.027 |
| predicted_AB | 7.892 | 3.912 |
| predicted_AVG | 0.216 | -0.013 |
| predicted_BB | 1.095 | 0.560 |
| predicted_H | 1.641 | 0.731 |
| predicted_HBP | 0.047 | - |
| predicted_HR | 0.166 | 0.076 |
| predicted_OBP | 0.311 | -0.012 |
| predicted_R | 0.748 | 0.309 |
| predicted_RBI | 0.921 | 0.461 |
| predicted_SLG | 0.338 | -0.022 |
| predicted_SO | 1.719 | 0.910 |
Step 3: 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.066 | 0.000 |
| predicted_AB | 7.892 | 0.000 |
| predicted_AVG | 0.203 | -0.013 |
| predicted_BB | 1.080 | -0.016 |
| predicted_H | 1.601 | -0.040 |
| predicted_HBP | 0.047 | 0.000 |
| predicted_HR | 0.162 | -0.004 |
| predicted_OBP | 0.299 | -0.013 |
| predicted_R | 0.715 | -0.033 |
| predicted_RBI | 0.880 | -0.040 |
| predicted_SLG | 0.314 | -0.024 |
| predicted_SO | 1.744 | 0.025 |
AB rounded to 8 (raw=7.89), rates preserved: AVG=0.203 HR/AB=0.021
| 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.261 |
| predicted_3B | 0.000 | -0.066 |
| predicted_AB | 8.000 | 0.108 |
| predicted_AVG | 0.250 | 0.047 |
| predicted_BB | 1.000 | -0.080 |
| predicted_H | 2.000 | 0.399 |
| predicted_HR | 0.000 | -0.162 |
| predicted_OBP | 0.333 | 0.034 |
| predicted_R | 1.000 | 0.285 |
| predicted_RBI | 1.000 | 0.120 |
| predicted_SLG | 0.250 | -0.064 |
| predicted_SO | 2.000 | 0.256 |
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 | -4.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 19.000 | 4.000 | 1.000 | 0.000 | 0.000 | 2.000 | 0.000 | 3.000 | 5.000 | 0.2105 | 0.3182 | 0.2632 | 0.2105 | 0.0000 | 0.1053 | 0.1579 | 0.2632 |
| last_10 | 0.20 | 5 | - | 36.000 | 7.000 | 1.000 | 0.000 | 0.000 | 2.000 | 0.000 | 3.000 | 7.000 | 0.1944 | 0.2564 | 0.2222 | 0.1944 | 0.0000 | 0.0556 | 0.0833 | 0.1944 |
| season | 0.60 | 55 | - | 865.000 | 169.000 | 26.000 | 9.000 | 23.000 | 107.000 | 101.000 | 123.000 | 186.000 | 0.1954 | 0.2931 | 0.3260 | 0.1954 | 0.0266 | 0.1237 | 0.1422 | 0.2150 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4480 |
| predicted_3B | 0.0990 |
| predicted_AB | 12.8390 |
| predicted_AVG | 0.1999 |
| predicted_BB | 1.8040 |
| predicted_H | 2.5660 |
| predicted_HBP | 0.0470 |
| predicted_HR | 0.2610 |
| predicted_OBP | 0.2968 |
| predicted_R | 1.1390 |
| predicted_RBI | 1.5030 |
| predicted_SLG | 0.3111 |
| predicted_SO | 2.8700 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1130 | 0.4480 | 0.2609 | model_form_blend |
| predicted_3B | 0.0390 | 0.0990 | 0.0655 | model_form_blend |
| predicted_AB | 3.9800 | 12.8390 | 7.8919 | model_form_blend |
| predicted_AVG | 0.2290 | 0.1999 | 0.2162 | model_form_blend |
| predicted_BB | 0.5350 | 1.8040 | 1.0954 | model_form_blend |
| predicted_H | 0.9100 | 2.5660 | 1.6412 | model_form_blend |
| predicted_HBP | - | 0.0470 | 0.0470 | form_only |
| predicted_HR | 0.0900 | 0.2610 | 0.1655 | model_form_blend |
| predicted_OBP | 0.3230 | 0.2968 | 0.3114 | model_form_blend |
| predicted_R | 0.4390 | 1.1390 | 0.7481 | model_form_blend |
| predicted_RBI | 0.4600 | 1.5030 | 0.9206 | model_form_blend |
| predicted_SLG | 0.3600 | 0.3111 | 0.3384 | model_form_blend |
| predicted_SO | 0.8090 | 2.8700 | 1.7191 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 2 |
| 2B | 0 |
| 3B | 1 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.195 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260531_KC@TEX |
| game_type | full |
| mlbID | 686469 |
| playerID | 686469 |
| playerName | Vinnie Pasquantino |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | KC |
| teamID | 12 |
| game_date | 2026-05-31 |
| sl_k_percent | 18.4 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.29 |
| sl_xwoba | 0.31 |
| sl_xba | 0.237 |
| sl_xslg | 0.379 |
| sl_sweet_spot_percent | 35.0 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 35.0 |
| sl_exit_velocity_avg | 88.3 |
| sl_launch_angle_avg | 19.5 |
| sl_whiff_percent | 16.7 |
| sl_swing_percent | 45.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.160 | 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.630 | 5.000 | 7.000 | Hitting_AB | 3.418 | 4.000 | 1.582 | 1.000 |
| predicted_AVG | 0.226 | 0.200 | 0.286 | Hitting_AVG | 0.234 | 0.250 | -0.034 | -0.050 |
| predicted_BB | 0.441 | 0.000 | 1.000 | Hitting_BB | 0.439 | 0.000 | -0.439 | 0.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.799 | 1.000 | 0.201 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_OBP | 0.285 | 0.200 | 0.375 | Hitting_OBP | 0.320 | 0.250 | -0.120 | -0.050 |
| predicted_R | 0.426 | 0.000 | 1.000 | Hitting_R | 0.423 | 0.000 | -0.423 | 0.000 |
| predicted_RBI | 0.510 | 0.000 | 1.000 | Hitting_RBI | 0.534 | 0.000 | -0.534 | 0.000 |
| predicted_SLG | 0.384 | 0.200 | 0.286 | Hitting_SLG | 0.392 | 0.250 | -0.192 | -0.050 |
| predicted_SO | 1.096 | 1.000 | 2.000 | Hitting_SO | 1.090 | 2.000 | -0.090 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.6300 -> 5.0000 (boost 1.3700, better) |
| Biggest Deboost | predicted_RBI: 0.5100 -> 0.0000 (deboost -0.5100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.6300 -> 6.7323 (boost 3.1023, 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.3829 -> 0.3724 (deboost -0.0105, 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_H: 1.4566 -> 2.0000 (boost 0.5434, better) | predicted_2B: 0.3034 -> 0.0000 (deboost -0.3034, worse) | AB rounded to 7 (raw=6.73), rates preserved: AVG=0.216 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7462 -> 1.0000 (boost 0.2538, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2889 -> 0.3750 (boost 0.0861, better) | predicted_SLG: 0.3724 -> 0.2860 (deboost -0.0864, 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 -> 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.3724 (boost 0.0864, better) | predicted_OBP: 0.3750 -> 0.2889 (deboost -0.0861, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695600",
"player_name": "Carter Jensen",
"position": "C",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.16,
"predicted_3B": 0.0,
"predicted_AB": 3.63,
"predicted_AVG": 0.226,
"predicted_BB": 0.441,
"predicted_H": 0.82,
"predicted_HR": 0.13,
"predicted_OBP": 0.285,
"predicted_R": 0.426,
"predicted_RBI": 0.51,
"predicted_SLG": 0.384,
"predicted_SO": 1.096
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3034,
"predicted_3B": 0.0009,
"predicted_AB": 6.7323,
"predicted_AVG": 0.2233,
"predicted_BB": 0.6963,
"predicted_H": 1.4929,
"predicted_HBP": 0.064,
"predicted_HR": 0.2541,
"predicted_OBP": 0.285,
"predicted_R": 0.7805,
"predicted_RBI": 0.9877,
"predicted_SLG": 0.3829,
"predicted_SO": 1.994
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.16,
"after": 0.3034,
"delta": 0.1434,
"percent_delta": 0.8962,
"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.63,
"after": 6.7323,
"delta": 3.1023,
"percent_delta": 0.8546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2233,
"delta": -0.0027,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.441,
"after": 0.6963,
"delta": 0.2553,
"percent_delta": 0.5789,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 1.4929,
"delta": 0.6729,
"percent_delta": 0.8206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.2541,
"delta": 0.1241,
"percent_delta": 0.9546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.285,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.426,
"after": 0.7805,
"delta": 0.3545,
"percent_delta": 0.8322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.9877,
"delta": 0.4777,
"percent_delta": 0.9367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.384,
"after": 0.3829,
"delta": -0.0011,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.096,
"after": 1.994,
"delta": 0.898,
"percent_delta": 0.8193,
"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.63,
"after": 6.7323,
"delta": 3.1023,
"percent_delta": 0.8546,
"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": 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.3034,
"predicted_3B": 0.0009,
"predicted_AB": 6.7323,
"predicted_AVG": 0.2164,
"predicted_BB": 0.6863,
"predicted_H": 1.4566,
"predicted_HBP": 0.064,
"predicted_HR": 0.2485,
"predicted_OBP": 0.2889,
"predicted_R": 0.7462,
"predicted_RBI": 0.9442,
"predicted_SLG": 0.3724,
"predicted_SO": 2.0227
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3034,
"after": 0.3034,
"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.7323,
"after": 6.7323,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2233,
"after": 0.2164,
"delta": -0.0069,
"percent_delta": -0.0309,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6963,
"after": 0.6863,
"delta": -0.01,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4929,
"after": 1.4566,
"delta": -0.0363,
"percent_delta": -0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.064,
"after": 0.064,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2541,
"after": 0.2485,
"delta": -0.0056,
"percent_delta": -0.022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2889,
"delta": 0.0039,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7805,
"after": 0.7462,
"delta": -0.0343,
"percent_delta": -0.0439,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9877,
"after": 0.9442,
"delta": -0.0435,
"percent_delta": -0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3829,
"after": 0.3724,
"delta": -0.0105,
"percent_delta": -0.0274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.994,
"after": 2.0227,
"delta": 0.0287,
"percent_delta": 0.0144,
"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.3829,
"after": 0.3724,
"delta": -0.0105,
"percent_delta": -0.0274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.73), rates preserved: AVG=0.216 HR/AB=0.037",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3034,
"after": 0.0,
"delta": -0.3034,
"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.7323,
"after": 7.0,
"delta": 0.2677,
"percent_delta": 0.0398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6863,
"after": 1.0,
"delta": 0.3137,
"percent_delta": 0.4571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4566,
"after": 2.0,
"delta": 0.5434,
"percent_delta": 0.3731,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.064,
"after": 0.0,
"delta": -0.064,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2485,
"after": 0.0,
"delta": -0.2485,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9442,
"after": 1.0,
"delta": 0.0558,
"percent_delta": 0.0591,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0227,
"after": 2.0,
"delta": -0.0227,
"percent_delta": -0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.4566,
"after": 2.0,
"delta": 0.5434,
"percent_delta": 0.3731,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3034,
"after": 0.0,
"delta": -0.3034,
"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.7462,
"after": 1.0,
"delta": 0.2538,
"percent_delta": 0.3401,
"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.7462,
"after": 1.0,
"delta": 0.2538,
"percent_delta": 0.3401,
"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.2164,
"after": 0.286,
"delta": 0.0696,
"percent_delta": 0.3216,
"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.2889,
"after": 0.375,
"delta": 0.0861,
"percent_delta": 0.298,
"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.3724,
"after": 0.286,
"delta": -0.0864,
"percent_delta": -0.232,
"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.2889,
"after": 0.375,
"delta": 0.0861,
"percent_delta": 0.298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3724,
"after": 0.286,
"delta": -0.0864,
"percent_delta": -0.232,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 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": 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.2164,
"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.2889,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3724,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2164,
"delta": -0.0696,
"percent_delta": -0.2435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.2889,
"delta": -0.0861,
"percent_delta": -0.2297,
"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.3724,
"delta": 0.0864,
"percent_delta": 0.3022,
"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.3724,
"delta": 0.0864,
"percent_delta": 0.3022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.2889,
"delta": -0.0861,
"percent_delta": -0.2297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"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.63,
"after": 5.0,
"delta": 1.37,
"percent_delta": 0.3774,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2164,
"delta": -0.0096,
"percent_delta": -0.0425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.441,
"after": 0.0,
"delta": -0.441,
"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.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2889,
"delta": 0.0039,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.426,
"after": 0.0,
"delta": -0.426,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.384,
"after": 0.3724,
"delta": -0.0116,
"percent_delta": -0.0302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.096,
"after": 1.0,
"delta": -0.096,
"percent_delta": -0.0876,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.63,
"after": 5.0,
"delta": 1.37,
"percent_delta": 0.3774,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"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.160 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.630 | - |
| predicted_AVG | 0.226 | - |
| predicted_BB | 0.441 | - |
| predicted_H | 0.820 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.426 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.384 | - |
| predicted_SO | 1.096 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.303 | 0.143 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.732 | 3.102 |
| predicted_AVG | 0.223 | -0.003 |
| predicted_BB | 0.696 | 0.255 |
| predicted_H | 1.493 | 0.673 |
| predicted_HBP | 0.064 | - |
| predicted_HR | 0.254 | 0.124 |
| predicted_OBP | 0.285 | 0.000 |
| predicted_R | 0.780 | 0.354 |
| predicted_RBI | 0.988 | 0.478 |
| predicted_SLG | 0.383 | -0.001 |
| predicted_SO | 1.994 | 0.898 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.303 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.732 | 0.000 |
| predicted_AVG | 0.216 | -0.007 |
| predicted_BB | 0.686 | -0.010 |
| predicted_H | 1.457 | -0.036 |
| predicted_HBP | 0.064 | 0.000 |
| predicted_HR | 0.248 | -0.006 |
| predicted_OBP | 0.289 | 0.004 |
| predicted_R | 0.746 | -0.034 |
| predicted_RBI | 0.944 | -0.043 |
| predicted_SLG | 0.372 | -0.011 |
| predicted_SO | 2.023 | 0.029 |
AB rounded to 7 (raw=6.73), rates preserved: AVG=0.216 HR/AB=0.037
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.303 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | 0.268 |
| predicted_AVG | 0.286 | 0.070 |
| predicted_BB | 1.000 | 0.314 |
| predicted_H | 2.000 | 0.543 |
| predicted_HR | 0.000 | -0.248 |
| predicted_OBP | 0.375 | 0.086 |
| predicted_R | 1.000 | 0.254 |
| predicted_RBI | 1.000 | 0.056 |
| predicted_SLG | 0.286 | -0.086 |
| predicted_SO | 2.000 | -0.023 |
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 | 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 | -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 | - | 18.000 | 3.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 0.000 | 5.000 | 0.1667 | 0.1667 | 0.3333 | 0.1667 | 0.0556 | 0.1667 | 0.0000 | 0.2778 |
| last_10 | 0.20 | 5 | - | 38.000 | 7.000 | 4.000 | 0.000 | 1.000 | 3.000 | 2.000 | 0.000 | 6.000 | 0.1842 | 0.1842 | 0.3684 | 0.1842 | 0.0263 | 0.0790 | 0.0000 | 0.1579 |
| season | 0.60 | 52 | - | 646.000 | 151.000 | 30.000 | 0.000 | 24.000 | 101.000 | 80.000 | 83.000 | 206.000 | 0.2337 | 0.3204 | 0.3916 | 0.2338 | 0.0372 | 0.1563 | 0.1285 | 0.3189 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4870 |
| predicted_3B | 0.0020 |
| predicted_AB | 10.7020 |
| predicted_AVG | 0.2199 |
| predicted_BB | 1.0230 |
| predicted_H | 2.3540 |
| predicted_HBP | 0.0640 |
| predicted_HR | 0.4130 |
| predicted_OBP | 0.2849 |
| predicted_R | 1.2340 |
| predicted_RBI | 1.5990 |
| predicted_SLG | 0.3816 |
| predicted_SO | 3.1430 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1600 | 0.4870 | 0.3034 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.6300 | 10.7020 | 6.7323 | model_form_blend |
| predicted_AVG | 0.2260 | 0.2199 | 0.2233 | model_form_blend |
| predicted_BB | 0.4410 | 1.0230 | 0.6963 | model_form_blend |
| predicted_H | 0.8200 | 2.3540 | 1.4929 | model_form_blend |
| predicted_HBP | - | 0.0640 | 0.0640 | form_only |
| predicted_HR | 0.1300 | 0.4130 | 0.2541 | model_form_blend |
| predicted_OBP | 0.2850 | 0.2849 | 0.2850 | model_form_blend |
| predicted_R | 0.4260 | 1.2340 | 0.7805 | model_form_blend |
| predicted_RBI | 0.5100 | 1.5990 | 0.9877 | model_form_blend |
| predicted_SLG | 0.3840 | 0.3816 | 0.3829 | model_form_blend |
| predicted_SO | 1.0960 | 3.1430 | 1.9940 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 189 |
| Season rows before report date | 189 |
| Report year | 2026 |
| Profile rows used | 188 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.234 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260531_KC@TEX |
| game_type | full |
| mlbID | 695600 |
| playerID | 695600 |
| playerName | Carter Jensen |
| pos | C |
| started | True |
| startingPosition | DH |
| team | KC |
| teamID | 12 |
| game_date | 2026-05-31 |
| sl_k_percent | 28.3 |
| sl_bb_percent | 10.5 |
| sl_woba | 0.313 |
| sl_xwoba | 0.278 |
| sl_xba | 0.195 |
| sl_xslg | 0.336 |
| sl_sweet_spot_percent | 29.3 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 40.5 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 21.7 |
| sl_whiff_percent | 32.7 |
| sl_swing_percent | 44.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.138 | 1.000 | 0.000 | Hitting_2B | 0.137 | 0.000 | 0.863 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.287 | 4.000 | 6.000 | Hitting_AB | 3.251 | 3.000 | 0.749 | 1.000 |
| predicted_AVG | 0.228 | 0.500 | 0.167 | Hitting_AVG | 0.224 | 0.000 | 0.276 | 0.500 |
| predicted_BB | 0.575 | 1.000 | 1.000 | Hitting_BB | 0.568 | 1.000 | 0.432 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_H | 0.720 | 2.000 | 1.000 | Hitting_H | 0.727 | 0.000 | 1.273 | 2.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.060 | 0.000 | -0.060 | 0.000 |
| predicted_OBP | 0.317 | 0.600 | 0.286 | Hitting_OBP | 0.351 | 0.250 | 0.249 | 0.350 |
| predicted_R | 0.453 | 1.000 | 1.000 | Hitting_R | 0.448 | 1.000 | 0.552 | 0.000 |
| predicted_RBI | 0.320 | 0.000 | 1.000 | Hitting_RBI | 0.388 | 0.000 | -0.388 | 0.000 |
| predicted_SLG | 0.326 | 0.750 | 0.167 | Hitting_SLG | 0.321 | 0.000 | 0.429 | 0.750 |
| predicted_SO | 1.066 | 0.000 | 2.000 | Hitting_SO | 1.055 | 2.000 | -1.055 | -2.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.7200 -> 2.0000 (boost 1.2800, better) |
| Biggest Deboost | predicted_SO: 1.0660 -> 0.0000 (deboost -1.0660, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 7 | 2 | 6 | 3 | predicted_AB: 3.2870 -> 6.3785 (boost 3.0915, better) | predicted_SLG: 0.3260 -> 0.3087 (deboost -0.0173, 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.2918 (deboost -0.0169, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 1 | 6 | predicted_RBI: 0.5666 -> 1.0000 (boost 0.4334, better) | predicted_AB: 6.3785 -> 6.0000 (deboost -0.3785, worse) | AB rounded to 6 (raw=6.38), rates preserved: AVG=0.198 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8647 -> 1.0000 (boost 0.1353, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2918 -> 0.1670 (deboost -0.1248, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 2 | 3 | 3 | 2 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 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.2918 (boost 0.1248, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686555",
"player_name": "Isaac Collins",
"position": "LF",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.138,
"predicted_3B": 0.0,
"predicted_AB": 3.287,
"predicted_AVG": 0.228,
"predicted_BB": 0.575,
"predicted_H": 0.72,
"predicted_HR": 0.07,
"predicted_OBP": 0.317,
"predicted_R": 0.453,
"predicted_RBI": 0.32,
"predicted_SLG": 0.326,
"predicted_SO": 1.066
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2827,
"predicted_3B": 0.0009,
"predicted_AB": 6.3785,
"predicted_AVG": 0.2144,
"predicted_BB": 1.0879,
"predicted_H": 1.2974,
"predicted_HBP": 0.229,
"predicted_HR": 0.1059,
"predicted_OBP": 0.3191,
"predicted_R": 0.9045,
"predicted_RBI": 0.5927,
"predicted_SLG": 0.3087,
"predicted_SO": 1.9928
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.138,
"after": 0.2827,
"delta": 0.1447,
"percent_delta": 1.0486,
"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.287,
"after": 6.3785,
"delta": 3.0915,
"percent_delta": 0.9405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2144,
"delta": -0.0136,
"percent_delta": -0.0596,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.575,
"after": 1.0879,
"delta": 0.5129,
"percent_delta": 0.892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 1.2974,
"delta": 0.5774,
"percent_delta": 0.8019,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.1059,
"delta": 0.0359,
"percent_delta": 0.5129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3191,
"delta": 0.0021,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.453,
"after": 0.9045,
"delta": 0.4515,
"percent_delta": 0.9967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.5927,
"delta": 0.2727,
"percent_delta": 0.8522,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.326,
"after": 0.3087,
"delta": -0.0173,
"percent_delta": -0.0531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.066,
"after": 1.9928,
"delta": 0.9268,
"percent_delta": 0.8694,
"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.287,
"after": 6.3785,
"delta": 3.0915,
"percent_delta": 0.9405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.326,
"after": 0.3087,
"delta": -0.0173,
"percent_delta": -0.0531,
"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": 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.2827,
"predicted_3B": 0.0009,
"predicted_AB": 6.3785,
"predicted_AVG": 0.1985,
"predicted_BB": 1.0722,
"predicted_H": 1.2659,
"predicted_HBP": 0.229,
"predicted_HR": 0.1036,
"predicted_OBP": 0.3138,
"predicted_R": 0.8647,
"predicted_RBI": 0.5666,
"predicted_SLG": 0.2918,
"predicted_SO": 2.0215
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2827,
"after": 0.2827,
"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.3785,
"after": 6.3785,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2144,
"after": 0.1985,
"delta": -0.0159,
"percent_delta": -0.0742,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0879,
"after": 1.0722,
"delta": -0.0157,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2974,
"after": 1.2659,
"delta": -0.0315,
"percent_delta": -0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.229,
"after": 0.229,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1059,
"after": 0.1036,
"delta": -0.0023,
"percent_delta": -0.0217,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3191,
"after": 0.3138,
"delta": -0.0053,
"percent_delta": -0.0166,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9045,
"after": 0.8647,
"delta": -0.0398,
"percent_delta": -0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5927,
"after": 0.5666,
"delta": -0.0261,
"percent_delta": -0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3087,
"after": 0.2918,
"delta": -0.0169,
"percent_delta": -0.0547,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9928,
"after": 2.0215,
"delta": 0.0287,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2918,
"delta": -0.0169,
"percent_delta": -0.0547,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.38), rates preserved: AVG=0.198 HR/AB=0.016",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2827,
"after": 0.0,
"delta": -0.2827,
"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.3785,
"after": 6.0,
"delta": -0.3785,
"percent_delta": -0.0593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0722,
"after": 1.0,
"delta": -0.0722,
"percent_delta": -0.0673,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2659,
"after": 1.0,
"delta": -0.2659,
"percent_delta": -0.21,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.229,
"after": 0.0,
"delta": -0.229,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1036,
"after": 0.0,
"delta": -0.1036,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5666,
"after": 1.0,
"delta": 0.4334,
"percent_delta": 0.7649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0215,
"after": 2.0,
"delta": -0.0215,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5666,
"after": 1.0,
"delta": 0.4334,
"percent_delta": 0.7649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.3785,
"after": 6.0,
"delta": -0.3785,
"percent_delta": -0.0593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8647,
"after": 1.0,
"delta": 0.1353,
"percent_delta": 0.1565,
"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.8647,
"after": 1.0,
"delta": 0.1353,
"percent_delta": 0.1565,
"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.1985,
"after": 0.167,
"delta": -0.0315,
"percent_delta": -0.1587,
"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.3138,
"after": 0.286,
"delta": -0.0278,
"percent_delta": -0.0886,
"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.2918,
"after": 0.167,
"delta": -0.1248,
"percent_delta": -0.4277,
"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.2918,
"after": 0.167,
"delta": -0.1248,
"percent_delta": -0.4277,
"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": 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": 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": 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": 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": 2,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.1985,
"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.3138,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2918,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.1985,
"delta": 0.0315,
"percent_delta": 0.1884,
"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.286,
"after": 0.3138,
"delta": 0.0278,
"percent_delta": 0.0972,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.167,
"after": 0.2918,
"delta": 0.1248,
"percent_delta": 0.7472,
"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.2918,
"delta": 0.1248,
"percent_delta": 0.7472,
"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.138,
"after": 1.0,
"delta": 0.862,
"percent_delta": 6.2464,
"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.287,
"after": 4.0,
"delta": 0.713,
"percent_delta": 0.2169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.1985,
"delta": -0.0295,
"percent_delta": -0.1294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.575,
"after": 1.0,
"delta": 0.425,
"percent_delta": 0.7391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 2.0,
"delta": 1.28,
"percent_delta": 1.7778,
"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.317,
"after": 0.3138,
"delta": -0.0032,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.453,
"after": 1.0,
"delta": 0.547,
"percent_delta": 1.2075,
"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.326,
"after": 0.2918,
"delta": -0.0342,
"percent_delta": -0.1049,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.066,
"after": 0.0,
"delta": -1.066,
"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.72,
"after": 2.0,
"delta": 1.28,
"percent_delta": 1.7778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.066,
"after": 0.0,
"delta": -1.066,
"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.138 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.287 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.575 | - |
| predicted_H | 0.720 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.453 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.326 | - |
| predicted_SO | 1.066 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.283 | 0.145 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.378 | 3.091 |
| predicted_AVG | 0.214 | -0.014 |
| predicted_BB | 1.088 | 0.513 |
| predicted_H | 1.297 | 0.577 |
| predicted_HBP | 0.229 | - |
| predicted_HR | 0.106 | 0.036 |
| predicted_OBP | 0.319 | 0.002 |
| predicted_R | 0.904 | 0.451 |
| predicted_RBI | 0.593 | 0.273 |
| predicted_SLG | 0.309 | -0.017 |
| predicted_SO | 1.993 | 0.927 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.283 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.378 | 0.000 |
| predicted_AVG | 0.199 | -0.016 |
| predicted_BB | 1.072 | -0.016 |
| predicted_H | 1.266 | -0.032 |
| predicted_HBP | 0.229 | 0.000 |
| predicted_HR | 0.104 | -0.002 |
| predicted_OBP | 0.314 | -0.005 |
| predicted_R | 0.865 | -0.040 |
| predicted_RBI | 0.567 | -0.026 |
| predicted_SLG | 0.292 | -0.017 |
| predicted_SO | 2.022 | 0.029 |
AB rounded to 6 (raw=6.38), rates preserved: AVG=0.198 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 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.283 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | -0.378 |
| predicted_AVG | 0.167 | -0.032 |
| predicted_BB | 1.000 | -0.072 |
| predicted_H | 1.000 | -0.266 |
| predicted_HR | 0.000 | -0.104 |
| predicted_OBP | 0.286 | -0.028 |
| predicted_R | 1.000 | 0.135 |
| predicted_RBI | 1.000 | 0.433 |
| predicted_SLG | 0.167 | -0.125 |
| 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 | 4.000 | -2.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 | 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 | 3 | - | 15.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 5.000 | 0.1333 | 0.2353 | 0.2000 | 0.1333 | 0.0000 | 0.0000 | 0.1333 | 0.3333 |
| last_10 | 0.20 | 5 | - | 28.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 3.000 | 6.000 | 5.000 | 0.0714 | 0.2353 | 0.1071 | 0.0714 | 0.0000 | 0.0000 | 0.2143 | 0.1786 |
| season | 0.60 | 48 | - | 595.000 | 133.000 | 25.000 | 0.000 | 11.000 | 71.000 | 82.000 | 104.000 | 193.000 | 0.2235 | 0.3512 | 0.3210 | 0.2235 | 0.0185 | 0.1193 | 0.1748 | 0.3244 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4680 |
| predicted_3B | 0.0020 |
| predicted_AB | 10.3390 |
| predicted_AVG | 0.1970 |
| predicted_BB | 1.7450 |
| predicted_H | 2.0370 |
| predicted_HBP | 0.2290 |
| predicted_HR | 0.1520 |
| predicted_OBP | 0.3219 |
| predicted_R | 1.4830 |
| predicted_RBI | 0.9420 |
| predicted_SLG | 0.2865 |
| predicted_SO | 3.1800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1380 | 0.4680 | 0.2827 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.2870 | 10.3390 | 6.3785 | model_form_blend |
| predicted_AVG | 0.2280 | 0.1970 | 0.2144 | model_form_blend |
| predicted_BB | 0.5750 | 1.7450 | 1.0879 | model_form_blend |
| predicted_H | 0.7200 | 2.0370 | 1.2974 | model_form_blend |
| predicted_HBP | - | 0.2290 | 0.2290 | form_only |
| predicted_HR | 0.0700 | 0.1520 | 0.1059 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3219 | 0.3191 | model_form_blend |
| predicted_R | 0.4530 | 1.4830 | 0.9045 | model_form_blend |
| predicted_RBI | 0.3200 | 0.9420 | 0.5927 | model_form_blend |
| predicted_SLG | 0.3260 | 0.2865 | 0.3087 | model_form_blend |
| predicted_SO | 1.0660 | 3.1800 | 1.9928 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 183 |
| Season rows before report date | 183 |
| Report year | 2026 |
| Profile rows used | 181 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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 | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.224 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260531_KC@TEX |
| game_type | full |
| mlbID | 686555 |
| playerID | 686555 |
| playerName | Isaac Collins |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | KC |
| teamID | 12 |
| game_date | 2026-05-31 |
| sl_k_percent | 26.1 |
| sl_bb_percent | 13.0 |
| sl_woba | 0.307 |
| sl_xwoba | 0.304 |
| sl_xba | 0.221 |
| sl_xslg | 0.311 |
| sl_sweet_spot_percent | 34.3 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 40.7 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 18.7 |
| sl_whiff_percent | 26.7 |
| sl_swing_percent | 38.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.085 | 1.000 | 0.000 | Hitting_2B | 0.081 | 0.000 | 0.919 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.923 | 4.000 | 5.000 | Hitting_AB | 2.780 | 2.000 | 1.220 | 2.000 |
| predicted_AVG | 0.258 | 0.250 | 0.200 | Hitting_AVG | 0.222 | 0.500 | 0.028 | -0.250 |
| predicted_BB | 0.556 | 1.000 | 1.000 | Hitting_BB | 0.553 | 0.000 | 0.447 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.081 | 0.000 | -0.081 | 0.000 |
| predicted_H | 0.590 | 1.000 | 1.000 | Hitting_H | 0.618 | 1.000 | 0.382 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_OBP | 0.315 | 0.400 | 0.333 | Hitting_OBP | 0.353 | 0.500 | 0.047 | -0.100 |
| predicted_R | 0.205 | 1.000 | 0.000 | Hitting_R | 0.211 | 0.000 | 0.789 | 1.000 |
| predicted_RBI | 0.290 | 0.000 | 0.000 | Hitting_RBI | 0.285 | 1.000 | -0.285 | -1.000 |
| predicted_SLG | 0.323 | 0.500 | 0.200 | Hitting_SLG | 0.304 | 0.500 | 0.196 | 0.000 |
| predicted_SO | 0.795 | 1.000 | 1.000 | Hitting_SO | 0.756 | 0.000 | 0.244 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 2.9230 -> 4.0000 (boost 1.0770, better) |
| Biggest Deboost | predicted_RBI: 0.2900 -> 0.0000 (deboost -0.2900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.9230 -> 4.7476 (boost 1.8246, better) | predicted_AVG: 0.2580 -> 0.2331 (deboost -0.0249, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2331 -> 0.1958 (deboost -0.0373, 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_AB: 4.7476 -> 5.0000 (boost 0.2524, better) | predicted_RBI: 0.4269 -> 0.0000 (deboost -0.4269, worse) | AB rounded to 5 (raw=4.75), rates preserved: AVG=0.196 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2815 -> 0.0000 (deboost -0.2815, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3057 -> 0.3330 (boost 0.0273, better) | predicted_SLG: 0.2712 -> 0.2000 (deboost -0.0712, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 2 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2000 -> 0.2712 (boost 0.0712, 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": "657041",
"player_name": "Lane Thomas",
"position": "RF",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.085,
"predicted_3B": 0.0,
"predicted_AB": 2.923,
"predicted_AVG": 0.258,
"predicted_BB": 0.556,
"predicted_H": 0.59,
"predicted_HR": 0.05,
"predicted_OBP": 0.315,
"predicted_R": 0.205,
"predicted_RBI": 0.29,
"predicted_SLG": 0.323,
"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.1414,
"predicted_3B": 0.0009,
"predicted_AB": 4.7476,
"predicted_AVG": 0.2331,
"predicted_BB": 0.7625,
"predicted_H": 0.9527,
"predicted_HBP": 0.063,
"predicted_HR": 0.0732,
"predicted_OBP": 0.3076,
"predicted_R": 0.2945,
"predicted_RBI": 0.4466,
"predicted_SLG": 0.3021,
"predicted_SO": 1.3711
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.085,
"after": 0.1414,
"delta": 0.0564,
"percent_delta": 0.6635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0009,
"delta": 0.0009,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.923,
"after": 4.7476,
"delta": 1.8246,
"percent_delta": 0.6242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2331,
"delta": -0.0249,
"percent_delta": -0.0965,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.556,
"after": 0.7625,
"delta": 0.2065,
"percent_delta": 0.3714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.59,
"after": 0.9527,
"delta": 0.3627,
"percent_delta": 0.6147,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0732,
"delta": 0.0232,
"percent_delta": 0.464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3076,
"delta": -0.0074,
"percent_delta": -0.0235,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.205,
"after": 0.2945,
"delta": 0.0895,
"percent_delta": 0.4366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.4466,
"delta": 0.1566,
"percent_delta": 0.54,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.323,
"after": 0.3021,
"delta": -0.0209,
"percent_delta": -0.0647,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.795,
"after": 1.3711,
"delta": 0.5761,
"percent_delta": 0.7247,
"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.923,
"after": 4.7476,
"delta": 1.8246,
"percent_delta": 0.6242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2331,
"delta": -0.0249,
"percent_delta": -0.0965,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.1414,
"predicted_3B": 0.0009,
"predicted_AB": 4.7476,
"predicted_AVG": 0.1958,
"predicted_BB": 0.7515,
"predicted_H": 0.9295,
"predicted_HBP": 0.063,
"predicted_HR": 0.0716,
"predicted_OBP": 0.3057,
"predicted_R": 0.2815,
"predicted_RBI": 0.4269,
"predicted_SLG": 0.2712,
"predicted_SO": 1.3908
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1414,
"after": 0.1414,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.7476,
"after": 4.7476,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2331,
"after": 0.1958,
"delta": -0.0373,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7625,
"after": 0.7515,
"delta": -0.011,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9527,
"after": 0.9295,
"delta": -0.0232,
"percent_delta": -0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.063,
"after": 0.063,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0732,
"after": 0.0716,
"delta": -0.0016,
"percent_delta": -0.0219,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3076,
"after": 0.3057,
"delta": -0.0019,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2945,
"after": 0.2815,
"delta": -0.013,
"percent_delta": -0.0441,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4466,
"after": 0.4269,
"delta": -0.0197,
"percent_delta": -0.0441,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3021,
"after": 0.2712,
"delta": -0.0309,
"percent_delta": -0.1023,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3711,
"after": 1.3908,
"delta": 0.0197,
"percent_delta": 0.0144,
"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.2331,
"after": 0.1958,
"delta": -0.0373,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.75), rates preserved: AVG=0.196 HR/AB=0.015",
"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.1414,
"after": 0.0,
"delta": -0.1414,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.7476,
"after": 5.0,
"delta": 0.2524,
"percent_delta": 0.0532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7515,
"after": 1.0,
"delta": 0.2485,
"percent_delta": 0.3307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9295,
"after": 1.0,
"delta": 0.0705,
"percent_delta": 0.0758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.063,
"after": 0.0,
"delta": -0.063,
"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.4269,
"after": 0.0,
"delta": -0.4269,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3908,
"after": 1.0,
"delta": -0.3908,
"percent_delta": -0.281,
"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_AB",
"before": 4.7476,
"after": 5.0,
"delta": 0.2524,
"percent_delta": 0.0532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4269,
"after": 0.0,
"delta": -0.4269,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2815,
"after": 0.0,
"delta": -0.2815,
"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.2815,
"after": 0.0,
"delta": -0.2815,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1958,
"after": 0.2,
"delta": 0.0042,
"percent_delta": 0.0215,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 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.3057,
"after": 0.333,
"delta": 0.0273,
"percent_delta": 0.0893,
"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.2712,
"after": 0.2,
"delta": -0.0712,
"percent_delta": -0.2625,
"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.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.2712,
"after": 0.2,
"delta": -0.0712,
"percent_delta": -0.2625,
"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": 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": 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": 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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1958,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3057,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2712,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.1958,
"delta": -0.0042,
"percent_delta": -0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.3057,
"delta": -0.0273,
"percent_delta": -0.082,
"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.2,
"after": 0.2712,
"delta": 0.0712,
"percent_delta": 0.356,
"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.2,
"after": 0.2712,
"delta": 0.0712,
"percent_delta": 0.356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3057,
"delta": -0.0273,
"percent_delta": -0.082,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.085,
"after": 1.0,
"delta": 0.915,
"percent_delta": 10.7647,
"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.923,
"after": 4.0,
"delta": 1.077,
"percent_delta": 0.3685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.1958,
"delta": -0.0622,
"percent_delta": -0.2411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.556,
"after": 1.0,
"delta": 0.444,
"percent_delta": 0.7986,
"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.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3057,
"delta": -0.0093,
"percent_delta": -0.0295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.205,
"after": 1.0,
"delta": 0.795,
"percent_delta": 3.878,
"direction": "boost",
"projection_effect": "better",
"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.323,
"after": 0.2712,
"delta": -0.0518,
"percent_delta": -0.1604,
"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": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.923,
"after": 4.0,
"delta": 1.077,
"percent_delta": 0.3685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.085 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.923 | - |
| predicted_AVG | 0.258 | - |
| predicted_BB | 0.556 | - |
| predicted_H | 0.590 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.315 | - |
| predicted_R | 0.205 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.323 | - |
| 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.141 | 0.056 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.748 | 1.825 |
| predicted_AVG | 0.233 | -0.025 |
| predicted_BB | 0.762 | 0.206 |
| predicted_H | 0.953 | 0.363 |
| predicted_HBP | 0.063 | - |
| predicted_HR | 0.073 | 0.023 |
| predicted_OBP | 0.308 | -0.007 |
| predicted_R | 0.294 | 0.089 |
| predicted_RBI | 0.447 | 0.157 |
| predicted_SLG | 0.302 | -0.021 |
| predicted_SO | 1.371 | 0.576 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.141 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.748 | 0.000 |
| predicted_AVG | 0.196 | -0.037 |
| predicted_BB | 0.751 | -0.011 |
| predicted_H | 0.929 | -0.023 |
| predicted_HBP | 0.063 | 0.000 |
| predicted_HR | 0.072 | -0.002 |
| predicted_OBP | 0.306 | -0.002 |
| predicted_R | 0.281 | -0.013 |
| predicted_RBI | 0.427 | -0.020 |
| predicted_SLG | 0.271 | -0.031 |
| predicted_SO | 1.391 | 0.020 |
AB rounded to 5 (raw=4.75), rates preserved: AVG=0.196 HR/AB=0.015
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.141 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | 0.252 |
| predicted_AVG | 0.200 | 0.004 |
| predicted_BB | 1.000 | 0.249 |
| predicted_H | 1.000 | 0.071 |
| predicted_HR | 0.000 | -0.072 |
| predicted_OBP | 0.333 | 0.027 |
| predicted_R | 0.000 | -0.281 |
| predicted_RBI | 0.000 | -0.427 |
| predicted_SLG | 0.200 | -0.071 |
| predicted_SO | 1.000 | -0.391 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 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 | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 14.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 6.000 | 0.0714 | 0.0714 | 0.0714 | 0.0714 | 0.0000 | 0.0714 | 0.0000 | 0.4286 |
| last_10 | 0.20 | 5 | - | 29.000 | 9.000 | 4.000 | 0.000 | 0.000 | 1.000 | 0.000 | 4.000 | 8.000 | 0.3103 | 0.3939 | 0.4483 | 0.3103 | 0.0000 | 0.0345 | 0.1379 | 0.2759 |
| season | 0.60 | 40 | - | 342.000 | 76.000 | 10.000 | 0.000 | 6.000 | 33.000 | 24.000 | 65.000 | 93.000 | 0.2222 | 0.3502 | 0.3041 | 0.2222 | 0.0175 | 0.0965 | 0.1901 | 0.2719 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2160 |
| predicted_3B | 0.0020 |
| predicted_AB | 7.1640 |
| predicted_AVG | 0.2001 |
| predicted_BB | 1.0360 |
| predicted_H | 1.4330 |
| predicted_HBP | 0.0630 |
| predicted_HR | 0.1040 |
| predicted_OBP | 0.2978 |
| predicted_R | 0.4130 |
| predicted_RBI | 0.6540 |
| predicted_SLG | 0.2744 |
| predicted_SO | 2.1340 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0850 | 0.2160 | 0.1414 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 2.9230 | 7.1640 | 4.7476 | model_form_blend |
| predicted_AVG | 0.2580 | 0.2001 | 0.2331 | model_form_blend |
| predicted_BB | 0.5560 | 1.0360 | 0.7625 | model_form_blend |
| predicted_H | 0.5900 | 1.4330 | 0.9527 | model_form_blend |
| predicted_HBP | - | 0.0630 | 0.0630 | form_only |
| predicted_HR | 0.0500 | 0.1040 | 0.0732 | model_form_blend |
| predicted_OBP | 0.3150 | 0.2978 | 0.3076 | model_form_blend |
| predicted_R | 0.2050 | 0.4130 | 0.2945 | model_form_blend |
| predicted_RBI | 0.2900 | 0.6540 | 0.4466 | model_form_blend |
| predicted_SLG | 0.3230 | 0.2744 | 0.3021 | model_form_blend |
| predicted_SO | 0.7950 | 2.1340 | 1.3711 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.222 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-CF |
| gameID | 20260531_KC@TEX |
| game_type | ph |
| mlbID | 657041 |
| note | Singled for Isbel in the 7th. |
| playerID | 657041 |
| playerName | Lane Thomas |
| pos | CF |
| started | False |
| startingPosition | PH |
| team | KC |
| teamID | 12 |
| game_date | 2026-05-31 |
| sl_k_percent | 22.0 |
| sl_bb_percent | 17.1 |
| sl_woba | 0.29 |
| sl_xwoba | 0.293 |
| sl_xba | 0.203 |
| sl_xslg | 0.278 |
| sl_sweet_spot_percent | 37.8 |
| sl_barrel_batted_rate | 2.7 |
| sl_hard_hit_percent | 33.8 |
| sl_exit_velocity_avg | 85.6 |
| sl_launch_angle_avg | 23.9 |
| sl_whiff_percent | 22.1 |
| sl_swing_percent | 40.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.259 | 0.000 | 0.000 | Hitting_2B | 0.252 | 0.000 | -0.252 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.138 | 4.000 | 5.000 | Hitting_AB | 3.059 | 3.000 | 0.941 | 1.000 |
| predicted_AVG | 0.250 | 0.250 | 0.200 | Hitting_AVG | 0.234 | 0.667 | 0.016 | -0.417 |
| predicted_BB | 0.103 | 0.000 | 0.000 | Hitting_BB | 0.101 | 1.000 | -0.101 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.260 | 1.000 | 1.000 | Hitting_H | 0.714 | 2.000 | 0.286 | -1.000 |
| predicted_HR | 0.050 | 1.000 | 0.000 | Hitting_HR | 0.092 | 1.000 | 0.908 | 0.000 |
| predicted_OBP | 0.281 | 0.250 | 0.200 | Hitting_OBP | 0.251 | 0.750 | -0.001 | -0.500 |
| predicted_R | 0.336 | 1.000 | 1.000 | Hitting_R | 0.328 | 2.000 | 0.672 | -1.000 |
| predicted_RBI | 0.190 | 4.000 | 1.000 | Hitting_RBI | 0.403 | 2.000 | 3.597 | 2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_SLG | 0.436 | 1.000 | 0.200 | Hitting_SLG | 0.407 | 1.667 | 0.593 | -0.667 |
| predicted_SO | 0.612 | 1.000 | 1.000 | Hitting_SO | 0.597 | 1.000 | 0.403 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_RBI: 0.1900 -> 4.0000 (boost 3.8100, better) |
| Biggest Deboost | predicted_2B: 0.2590 -> 0.0000 (deboost -0.2590, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.1380 -> 4.9630 (boost 1.8250, 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.4517 -> 0.3723 (deboost -0.0794, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 2 | 3 | 2 | 3 | predicted_RBI: 0.5314 -> 1.0000 (boost 0.4686, better) | predicted_2B: 0.4825 -> 0.0000 (deboost -0.4825, worse) | AB rounded to 5 (raw=4.96), rates preserved: AVG=0.186 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5607 -> 1.0000 (boost 0.4393, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.1861 -> 0.2000 (boost 0.0139, better) | predicted_SLG: 0.3723 -> 0.2000 (deboost -0.1723, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 2 | 1 | predicted_RBI: 1.0000 -> 4.0000 (boost 3.0000, better) | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2000 -> 0.3723 (boost 0.1723, better) | predicted_AVG: 0.2000 -> 0.1861 (deboost -0.0139, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686681",
"player_name": "Michael Massey",
"position": "2B",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.259,
"predicted_3B": 0.0,
"predicted_AB": 3.138,
"predicted_AVG": 0.25,
"predicted_BB": 0.103,
"predicted_H": 0.26,
"predicted_HR": 0.05,
"predicted_OBP": 0.281,
"predicted_R": 0.336,
"predicted_RBI": 0.19,
"predicted_SLG": 0.436,
"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.4825,
"predicted_3B": 0.0009,
"predicted_AB": 4.963,
"predicted_AVG": 0.2507,
"predicted_BB": 0.236,
"predicted_H": 0.9467,
"predicted_HBP": 0.005,
"predicted_HR": 0.1499,
"predicted_OBP": 0.2819,
"predicted_R": 0.5865,
"predicted_RBI": 0.5559,
"predicted_SLG": 0.4517,
"predicted_SO": 1.01
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.259,
"after": 0.4825,
"delta": 0.2235,
"percent_delta": 0.8629,
"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.138,
"after": 4.963,
"delta": 1.825,
"percent_delta": 0.5816,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2507,
"delta": 0.0007,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.103,
"after": 0.236,
"delta": 0.133,
"percent_delta": 1.2913,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.26,
"after": 0.9467,
"delta": 0.6867,
"percent_delta": 2.6412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.1499,
"delta": 0.0999,
"percent_delta": 1.998,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.281,
"after": 0.2819,
"delta": 0.0009,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.336,
"after": 0.5865,
"delta": 0.2505,
"percent_delta": 0.7455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.5559,
"delta": 0.3659,
"percent_delta": 1.9258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.436,
"after": 0.4517,
"delta": 0.0157,
"percent_delta": 0.036,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.612,
"after": 1.01,
"delta": 0.398,
"percent_delta": 0.6503,
"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.138,
"after": 4.963,
"delta": 1.825,
"percent_delta": 0.5816,
"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": 6,
"season": 40
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.4825,
"predicted_3B": 0.0009,
"predicted_AB": 4.963,
"predicted_AVG": 0.1861,
"predicted_BB": 0.2326,
"predicted_H": 0.9237,
"predicted_HBP": 0.005,
"predicted_HR": 0.1466,
"predicted_OBP": 0.2226,
"predicted_R": 0.5607,
"predicted_RBI": 0.5314,
"predicted_SLG": 0.3723,
"predicted_SO": 1.0245
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4825,
"after": 0.4825,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.963,
"after": 4.963,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2507,
"after": 0.1861,
"delta": -0.0646,
"percent_delta": -0.2577,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.236,
"after": 0.2326,
"delta": -0.0034,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9467,
"after": 0.9237,
"delta": -0.023,
"percent_delta": -0.0243,
"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.1499,
"after": 0.1466,
"delta": -0.0033,
"percent_delta": -0.022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2819,
"after": 0.2226,
"delta": -0.0593,
"percent_delta": -0.2104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5865,
"after": 0.5607,
"delta": -0.0258,
"percent_delta": -0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5559,
"after": 0.5314,
"delta": -0.0245,
"percent_delta": -0.0441,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4517,
"after": 0.3723,
"delta": -0.0794,
"percent_delta": -0.1758,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.01,
"after": 1.0245,
"delta": 0.0145,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4517,
"after": 0.3723,
"delta": -0.0794,
"percent_delta": -0.1758,
"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.186 HR/AB=0.030",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4825,
"after": 0.0,
"delta": -0.4825,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.963,
"after": 5.0,
"delta": 0.037,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2326,
"after": 0.0,
"delta": -0.2326,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9237,
"after": 1.0,
"delta": 0.0763,
"percent_delta": 0.0826,
"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.1466,
"after": 0.0,
"delta": -0.1466,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5314,
"after": 1.0,
"delta": 0.4686,
"percent_delta": 0.8818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0245,
"after": 1.0,
"delta": -0.0245,
"percent_delta": -0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5314,
"after": 1.0,
"delta": 0.4686,
"percent_delta": 0.8818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4825,
"after": 0.0,
"delta": -0.4825,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5607,
"after": 1.0,
"delta": 0.4393,
"percent_delta": 0.7835,
"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.5607,
"after": 1.0,
"delta": 0.4393,
"percent_delta": 0.7835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1861,
"after": 0.2,
"delta": 0.0139,
"percent_delta": 0.0747,
"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.2226,
"after": 0.2,
"delta": -0.0226,
"percent_delta": -0.1015,
"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.3723,
"after": 0.2,
"delta": -0.1723,
"percent_delta": -0.4628,
"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.1861,
"after": 0.2,
"delta": 0.0139,
"percent_delta": 0.0747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3723,
"after": 0.2,
"delta": -0.1723,
"percent_delta": -0.4628,
"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": 4.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 4.0,
"delta": 3.0,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 4.0,
"delta": 3.0,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1861,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2226,
"predicted_R": 1.0,
"predicted_RBI": 4.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3723,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.1861,
"delta": -0.0139,
"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.2,
"after": 0.2226,
"delta": 0.0226,
"percent_delta": 0.1128,
"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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3723,
"delta": 0.1723,
"percent_delta": 0.8616,
"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.3723,
"delta": 0.1723,
"percent_delta": 0.8616,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.1861,
"delta": -0.0139,
"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.259,
"after": 0.0,
"delta": -0.259,
"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.138,
"after": 4.0,
"delta": 0.862,
"percent_delta": 0.2747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1861,
"delta": -0.0639,
"percent_delta": -0.2556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.103,
"after": 0.0,
"delta": -0.103,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.26,
"after": 1.0,
"delta": 0.74,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 1.0,
"delta": 0.95,
"percent_delta": 19.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.281,
"after": 0.2226,
"delta": -0.0584,
"percent_delta": -0.2078,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.336,
"after": 1.0,
"delta": 0.664,
"percent_delta": 1.9762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 4.0,
"delta": 3.81,
"percent_delta": 20.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.436,
"after": 0.3723,
"delta": -0.0637,
"percent_delta": -0.1461,
"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": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.19,
"after": 4.0,
"delta": 3.81,
"percent_delta": 20.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.259,
"after": 0.0,
"delta": -0.259,
"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.259 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.138 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.103 | - |
| predicted_H | 0.260 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.281 | - |
| predicted_R | 0.336 | - |
| predicted_RBI | 0.190 | - |
| predicted_SLG | 0.436 | - |
| 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.482 | 0.223 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.963 | 1.825 |
| predicted_AVG | 0.251 | 0.001 |
| predicted_BB | 0.236 | 0.133 |
| predicted_H | 0.947 | 0.687 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.150 | 0.100 |
| predicted_OBP | 0.282 | 0.001 |
| predicted_R | 0.587 | 0.251 |
| predicted_RBI | 0.556 | 0.366 |
| predicted_SLG | 0.452 | 0.016 |
| predicted_SO | 1.010 | 0.398 |
Step 3: 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.001 | 0.000 |
| predicted_AB | 4.963 | 0.000 |
| predicted_AVG | 0.186 | -0.065 |
| predicted_BB | 0.233 | -0.003 |
| predicted_H | 0.924 | -0.023 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.147 | -0.003 |
| predicted_OBP | 0.223 | -0.059 |
| predicted_R | 0.561 | -0.026 |
| predicted_RBI | 0.531 | -0.024 |
| predicted_SLG | 0.372 | -0.079 |
| predicted_SO | 1.024 | 0.014 |
AB rounded to 5 (raw=4.96), rates preserved: AVG=0.186 HR/AB=0.030
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.482 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | 0.037 |
| predicted_AVG | 0.200 | 0.014 |
| predicted_BB | 0.000 | -0.233 |
| predicted_H | 1.000 | 0.076 |
| predicted_HR | 0.000 | -0.147 |
| predicted_OBP | 0.200 | -0.023 |
| predicted_R | 1.000 | 0.439 |
| predicted_RBI | 1.000 | 0.469 |
| predicted_SLG | 0.200 | -0.172 |
| predicted_SO | 1.000 | -0.024 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 4.000 | 3.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 | - | 14.000 | 5.000 | 3.000 | 0.000 | 1.000 | 2.000 | 2.000 | 1.000 | 4.000 | 0.3571 | 0.4000 | 0.7857 | 0.3571 | 0.0714 | 0.1429 | 0.0714 | 0.2857 |
| last_10 | 0.20 | 6 | - | 21.000 | 5.000 | 3.000 | 0.000 | 1.000 | 4.000 | 4.000 | 3.000 | 4.000 | 0.2381 | 0.3077 | 0.5238 | 0.2381 | 0.0476 | 0.1905 | 0.1429 | 0.1905 |
| season | 0.60 | 40 | - | 364.000 | 85.000 | 30.000 | 0.000 | 11.000 | 48.000 | 39.000 | 12.000 | 71.000 | 0.2335 | 0.2513 | 0.4066 | 0.2335 | 0.0302 | 0.1319 | 0.0330 | 0.1951 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7800 |
| predicted_3B | 0.0020 |
| predicted_AB | 7.3930 |
| predicted_AVG | 0.2517 |
| predicted_BB | 0.4130 |
| predicted_H | 1.8610 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.2830 |
| predicted_OBP | 0.2830 |
| predicted_R | 0.9200 |
| predicted_RBI | 1.0430 |
| predicted_SLG | 0.4725 |
| predicted_SO | 1.5400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2590 | 0.7800 | 0.4825 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.1380 | 7.3930 | 4.9630 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2517 | 0.2507 | model_form_blend |
| predicted_BB | 0.1030 | 0.4130 | 0.2360 | model_form_blend |
| predicted_H | 0.2600 | 1.8610 | 0.9467 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0500 | 0.2830 | 0.1499 | model_form_blend |
| predicted_OBP | 0.2810 | 0.2830 | 0.2819 | model_form_blend |
| predicted_R | 0.3360 | 0.9200 | 0.5865 | model_form_blend |
| predicted_RBI | 0.1900 | 1.0430 | 0.5559 | model_form_blend |
| predicted_SLG | 0.4360 | 0.4725 | 0.4517 | model_form_blend |
| predicted_SO | 0.6120 | 1.5400 | 1.0100 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 119 |
| Season rows before report date | 119 |
| Report year | 2026 |
| Profile rows used | 116 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 4 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.234 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 5 |
| 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 | 20260531_KC@TEX |
| game_type | full |
| mlbID | 686681 |
| playerID | 686681 |
| playerName | Michael Massey |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | KC |
| teamID | 12 |
| game_date | 2026-05-31 |
| sl_k_percent | 19.0 |
| sl_bb_percent | 3.4 |
| sl_woba | 0.272 |
| sl_xwoba | 0.262 |
| sl_xba | 0.2 |
| sl_xslg | 0.373 |
| sl_sweet_spot_percent | 27.8 |
| sl_barrel_batted_rate | 7.8 |
| sl_hard_hit_percent | 42.2 |
| sl_exit_velocity_avg | 91.0 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 22.9 |
| sl_swing_percent | 51.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.264 | 0.000 | 0.000 | Hitting_2B | 0.257 | 0.000 | -0.257 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.931 | 4.000 | 4.000 | Hitting_AB | 2.851 | 2.000 | 1.149 | 2.000 |
| predicted_AVG | 0.244 | 0.500 | 0.250 | Hitting_AVG | 0.209 | 0.000 | 0.291 | 0.500 |
| predicted_BB | 0.389 | 0.000 | 0.000 | Hitting_BB | 0.392 | 1.000 | -0.392 | -1.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.595 | 0.000 | 1.405 | 2.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.287 | 0.500 | 0.250 | Hitting_OBP | 0.322 | 0.333 | 0.178 | 0.167 |
| predicted_R | 0.514 | 1.000 | 1.000 | Hitting_R | 0.500 | 0.000 | 0.500 | 1.000 |
| predicted_RBI | 0.350 | 0.000 | 1.000 | Hitting_RBI | 0.635 | 0.000 | -0.635 | 0.000 |
| predicted_SLG | 0.331 | 0.500 | 0.250 | Hitting_SLG | 0.299 | 0.000 | 0.201 | 0.500 |
| predicted_SO | 0.347 | 1.000 | 1.000 | Hitting_SO | 0.338 | 1.000 | 0.662 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_H: 0.5600 -> 2.0000 (boost 1.4400, better) |
| Biggest Deboost | predicted_BB: 0.3890 -> 0.0000 (deboost -0.3890, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.9310 -> 4.4658 (boost 1.5348, better) | predicted_SLG: 0.3310 -> 0.3010 (deboost -0.0300, 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.2166 -> 0.1790 (deboost -0.0376, 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.5898 -> 1.0000 (boost 0.4102, better) | predicted_BB: 0.5094 -> 0.0000 (deboost -0.5094, worse) | AB rounded to 4 (raw=4.47), rates preserved: AVG=0.179 HR/AB=0.009 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6460 -> 1.0000 (boost 0.3540, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.1790 -> 0.2500 (boost 0.0710, better) | predicted_SLG: 0.2824 -> 0.2500 (deboost -0.0324, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_RBI: 1.0000 -> 0.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.2500 -> 0.2824 (boost 0.0324, better) | predicted_AVG: 0.2500 -> 0.1790 (deboost -0.0710, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "679845",
"player_name": "Nick Loftin",
"position": "3B",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.264,
"predicted_3B": 0.0,
"predicted_AB": 2.931,
"predicted_AVG": 0.244,
"predicted_BB": 0.389,
"predicted_H": 0.56,
"predicted_HR": 0.05,
"predicted_OBP": 0.287,
"predicted_R": 0.514,
"predicted_RBI": 0.35,
"predicted_SLG": 0.331,
"predicted_SO": 0.347
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3444,
"predicted_3B": 0.0013,
"predicted_AB": 4.4658,
"predicted_AVG": 0.2166,
"predicted_BB": 0.5168,
"predicted_H": 0.8194,
"predicted_HBP": 0.159,
"predicted_HR": 0.0391,
"predicted_OBP": 0.2778,
"predicted_R": 0.6757,
"predicted_RBI": 0.6169,
"predicted_SLG": 0.301,
"predicted_SO": 0.6491
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.264,
"after": 0.3444,
"delta": 0.0804,
"percent_delta": 0.3045,
"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.931,
"after": 4.4658,
"delta": 1.5348,
"percent_delta": 0.5236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2166,
"delta": -0.0274,
"percent_delta": -0.1123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.389,
"after": 0.5168,
"delta": 0.1278,
"percent_delta": 0.3285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.56,
"after": 0.8194,
"delta": 0.2594,
"percent_delta": 0.4632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0391,
"delta": -0.0109,
"percent_delta": -0.218,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.2778,
"delta": -0.0092,
"percent_delta": -0.0321,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 0.6757,
"delta": 0.1617,
"percent_delta": 0.3146,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.6169,
"delta": 0.2669,
"percent_delta": 0.7626,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.331,
"after": 0.301,
"delta": -0.03,
"percent_delta": -0.0906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.347,
"after": 0.6491,
"delta": 0.3021,
"percent_delta": 0.8706,
"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.931,
"after": 4.4658,
"delta": 1.5348,
"percent_delta": 0.5236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.331,
"after": 0.301,
"delta": -0.03,
"percent_delta": -0.0906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 7,
"season": 25
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.3444,
"predicted_3B": 0.0013,
"predicted_AB": 4.4658,
"predicted_AVG": 0.179,
"predicted_BB": 0.5094,
"predicted_H": 0.7995,
"predicted_HBP": 0.159,
"predicted_HR": 0.0382,
"predicted_OBP": 0.2631,
"predicted_R": 0.646,
"predicted_RBI": 0.5898,
"predicted_SLG": 0.2824,
"predicted_SO": 0.6584
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3444,
"after": 0.3444,
"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.4658,
"after": 4.4658,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2166,
"after": 0.179,
"delta": -0.0376,
"percent_delta": -0.1736,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5168,
"after": 0.5094,
"delta": -0.0074,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8194,
"after": 0.7995,
"delta": -0.0199,
"percent_delta": -0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.159,
"after": 0.159,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0391,
"after": 0.0382,
"delta": -0.0009,
"percent_delta": -0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2778,
"after": 0.2631,
"delta": -0.0147,
"percent_delta": -0.0529,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6757,
"after": 0.646,
"delta": -0.0297,
"percent_delta": -0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6169,
"after": 0.5898,
"delta": -0.0271,
"percent_delta": -0.0439,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.301,
"after": 0.2824,
"delta": -0.0186,
"percent_delta": -0.0618,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6491,
"after": 0.6584,
"delta": 0.0093,
"percent_delta": 0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2166,
"after": 0.179,
"delta": -0.0376,
"percent_delta": -0.1736,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.47), rates preserved: AVG=0.179 HR/AB=0.009",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3444,
"after": 0.0,
"delta": -0.3444,
"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.4658,
"after": 4.0,
"delta": -0.4658,
"percent_delta": -0.1043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5094,
"after": 0.0,
"delta": -0.5094,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7995,
"after": 1.0,
"delta": 0.2005,
"percent_delta": 0.2508,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.159,
"after": 0.0,
"delta": -0.159,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0382,
"after": 0.0,
"delta": -0.0382,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5898,
"after": 1.0,
"delta": 0.4102,
"percent_delta": 0.6955,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6584,
"after": 1.0,
"delta": 0.3416,
"percent_delta": 0.5188,
"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.5898,
"after": 1.0,
"delta": 0.4102,
"percent_delta": 0.6955,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5094,
"after": 0.0,
"delta": -0.5094,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.646,
"after": 1.0,
"delta": 0.354,
"percent_delta": 0.548,
"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.646,
"after": 1.0,
"delta": 0.354,
"percent_delta": 0.548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.179,
"after": 0.25,
"delta": 0.071,
"percent_delta": 0.3966,
"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.2631,
"after": 0.25,
"delta": -0.0131,
"percent_delta": -0.0498,
"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.2824,
"after": 0.25,
"delta": -0.0324,
"percent_delta": -0.1147,
"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.179,
"after": 0.25,
"delta": 0.071,
"percent_delta": 0.3966,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2824,
"after": 0.25,
"delta": -0.0324,
"percent_delta": -0.1147,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_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_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.179,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2631,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2824,
"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.25,
"after": 0.179,
"delta": -0.071,
"percent_delta": -0.2839,
"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.25,
"after": 0.2631,
"delta": 0.0131,
"percent_delta": 0.0523,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.2824,
"delta": 0.0324,
"percent_delta": 0.1297,
"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.2824,
"delta": 0.0324,
"percent_delta": 0.1297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.179,
"delta": -0.071,
"percent_delta": -0.2839,
"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.264,
"after": 0.0,
"delta": -0.264,
"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.931,
"after": 4.0,
"delta": 1.069,
"percent_delta": 0.3647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.179,
"delta": -0.065,
"percent_delta": -0.2664,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.389,
"after": 0.0,
"delta": -0.389,
"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.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.2631,
"delta": -0.0239,
"percent_delta": -0.0833,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.331,
"after": 0.2824,
"delta": -0.0486,
"percent_delta": -0.1468,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.347,
"after": 1.0,
"delta": 0.653,
"percent_delta": 1.8818,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.56,
"after": 2.0,
"delta": 1.44,
"percent_delta": 2.5714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.389,
"after": 0.0,
"delta": -0.389,
"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.264 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.931 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.389 | - |
| predicted_H | 0.560 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.287 | - |
| predicted_R | 0.514 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.331 | - |
| predicted_SO | 0.347 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.344 | 0.080 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.466 | 1.535 |
| predicted_AVG | 0.217 | -0.027 |
| predicted_BB | 0.517 | 0.128 |
| predicted_H | 0.819 | 0.259 |
| predicted_HBP | 0.159 | - |
| predicted_HR | 0.039 | -0.011 |
| predicted_OBP | 0.278 | -0.009 |
| predicted_R | 0.676 | 0.162 |
| predicted_RBI | 0.617 | 0.267 |
| predicted_SLG | 0.301 | -0.030 |
| predicted_SO | 0.649 | 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.344 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.466 | 0.000 |
| predicted_AVG | 0.179 | -0.038 |
| predicted_BB | 0.509 | -0.007 |
| predicted_H | 0.799 | -0.020 |
| predicted_HBP | 0.159 | 0.000 |
| predicted_HR | 0.038 | -0.001 |
| predicted_OBP | 0.263 | -0.015 |
| predicted_R | 0.646 | -0.030 |
| predicted_RBI | 0.590 | -0.027 |
| predicted_SLG | 0.282 | -0.019 |
| predicted_SO | 0.658 | 0.009 |
AB rounded to 4 (raw=4.47), rates preserved: AVG=0.179 HR/AB=0.009
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.344 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.466 |
| predicted_AVG | 0.250 | 0.071 |
| predicted_BB | 0.000 | -0.509 |
| predicted_H | 1.000 | 0.201 |
| predicted_HR | 0.000 | -0.038 |
| predicted_OBP | 0.250 | -0.013 |
| predicted_R | 1.000 | 0.354 |
| predicted_RBI | 1.000 | 0.410 |
| predicted_SLG | 0.250 | -0.032 |
| predicted_SO | 1.000 | 0.342 |
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 | 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 | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 14.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 0.0714 | 0.1333 | 0.0714 | 0.0714 | 0.0000 | 0.0000 | 0.0714 | 0.2143 |
| last_10 | 0.20 | 7 | - | 27.000 | 3.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 7.000 | 0.1111 | 0.1429 | 0.1852 | 0.1111 | 0.0000 | 0.0000 | 0.0370 | 0.2593 |
| season | 0.60 | 25 | - | 211.000 | 44.000 | 19.000 | 0.000 | 0.000 | 47.000 | 37.000 | 28.000 | 25.000 | 0.2085 | 0.3162 | 0.2986 | 0.2085 | 0.0000 | 0.2228 | 0.1327 | 0.1185 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4560 |
| predicted_3B | 0.0030 |
| predicted_AB | 6.5940 |
| predicted_AVG | 0.1787 |
| predicted_BB | 0.6940 |
| predicted_H | 1.1790 |
| predicted_HBP | 0.1590 |
| predicted_HR | 0.0240 |
| predicted_OBP | 0.2651 |
| predicted_R | 0.9000 |
| predicted_RBI | 0.9870 |
| predicted_SLG | 0.2594 |
| predicted_SO | 1.0680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2640 | 0.4560 | 0.3444 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 2.9310 | 6.5940 | 4.4658 | model_form_blend |
| predicted_AVG | 0.2440 | 0.1787 | 0.2166 | model_form_blend |
| predicted_BB | 0.3890 | 0.6940 | 0.5168 | model_form_blend |
| predicted_H | 0.5600 | 1.1790 | 0.8194 | model_form_blend |
| predicted_HBP | - | 0.1590 | 0.1590 | form_only |
| predicted_HR | 0.0500 | 0.0240 | 0.0391 | model_form_blend |
| predicted_OBP | 0.2870 | 0.2651 | 0.2778 | model_form_blend |
| predicted_R | 0.5140 | 0.9000 | 0.6757 | model_form_blend |
| predicted_RBI | 0.3500 | 0.9870 | 0.6169 | model_form_blend |
| predicted_SLG | 0.3310 | 0.2594 | 0.3010 | model_form_blend |
| predicted_SO | 0.3470 | 1.0680 | 0.6491 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 74 |
| Season rows before report date | 74 |
| Report year | 2026 |
| Profile rows used | 72 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| 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 | 2 |
| 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 | 1 |
| 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 | 3B |
| gameID | 20260531_KC@TEX |
| game_type | full |
| mlbID | 679845 |
| playerID | 679845 |
| playerName | Nick Loftin |
| pos | 2B |
| started | True |
| startingPosition | 3B |
| team | KC |
| teamID | 12 |
| game_date | 2026-05-31 |
| sl_k_percent | 11.5 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.295 |
| sl_xwoba | 0.307 |
| sl_xba | 0.227 |
| sl_xslg | 0.331 |
| sl_sweet_spot_percent | 31.0 |
| sl_barrel_batted_rate | 5.2 |
| sl_hard_hit_percent | 32.8 |
| sl_exit_velocity_avg | 86.2 |
| sl_launch_angle_avg | 16.8 |
| sl_whiff_percent | 9.0 |
| sl_swing_percent | 37.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.136 | 0.000 | 0.000 | Hitting_2B | 0.135 | 1.000 | -0.135 | -1.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_AB | 3.266 | 4.000 | 6.000 | Hitting_AB | 3.245 | 2.000 | 0.755 | 2.000 |
| predicted_AVG | 0.242 | 0.500 | 0.167 | Hitting_AVG | 0.264 | 0.500 | 0.236 | 0.000 |
| predicted_BB | 0.175 | 0.000 | 0.000 | Hitting_BB | 0.174 | 0.000 | -0.174 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.640 | 2.000 | 1.000 | Hitting_H | 0.858 | 1.000 | 1.142 | 1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_OBP | 0.272 | 0.500 | 0.167 | Hitting_OBP | 0.315 | 0.500 | 0.185 | 0.000 |
| predicted_R | 0.370 | 1.000 | 1.000 | Hitting_R | 0.374 | 0.000 | 0.626 | 1.000 |
| predicted_RBI | 0.260 | 0.000 | 0.000 | Hitting_RBI | 0.271 | 0.000 | -0.271 | 0.000 |
| predicted_SLG | 0.342 | 0.500 | 0.167 | Hitting_SLG | 0.388 | 1.000 | 0.112 | -0.500 |
| predicted_SO | 0.929 | 1.000 | 2.000 | Hitting_SO | 0.923 | 0.000 | 0.077 | 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_H: 0.6400 -> 2.0000 (boost 1.3600, better) |
| Biggest Deboost | predicted_RBI: 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 | 7 | 7 | 0 | 6 | 1 | predicted_AB: 3.2660 -> 5.5094 (boost 2.2434, 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.2717 -> 0.2488 (deboost -0.0229, 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.4840 -> 2.0000 (boost 0.5160, worse) | predicted_RBI: 0.3865 -> 0.0000 (deboost -0.3865, worse) | AB rounded to 6 (raw=5.51), rates preserved: AVG=0.216 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5162 -> 1.0000 (boost 0.4838, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3249 -> 0.1670 (deboost -0.1579, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.3249 (boost 0.1579, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664728",
"player_name": "Kyle Isbel",
"position": "CF",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.136,
"predicted_3B": 0.026,
"predicted_AB": 3.266,
"predicted_AVG": 0.242,
"predicted_BB": 0.175,
"predicted_H": 0.64,
"predicted_HR": 0.06,
"predicted_OBP": 0.272,
"predicted_R": 0.37,
"predicted_RBI": 0.26,
"predicted_SLG": 0.342,
"predicted_SO": 0.929
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2534,
"predicted_3B": 0.0351,
"predicted_AB": 5.5094,
"predicted_AVG": 0.2384,
"predicted_BB": 0.2467,
"predicted_H": 1.2178,
"predicted_HBP": 0.14,
"predicted_HR": 0.0948,
"predicted_OBP": 0.2717,
"predicted_R": 0.54,
"predicted_RBI": 0.4043,
"predicted_SLG": 0.3423,
"predicted_SO": 1.4629
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.136,
"after": 0.2534,
"delta": 0.1174,
"percent_delta": 0.8632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0351,
"delta": 0.0091,
"percent_delta": 0.35,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.266,
"after": 5.5094,
"delta": 2.2434,
"percent_delta": 0.6869,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2384,
"delta": -0.0036,
"percent_delta": -0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.175,
"after": 0.2467,
"delta": 0.0717,
"percent_delta": 0.4097,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 1.2178,
"delta": 0.5778,
"percent_delta": 0.9028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0948,
"delta": 0.0348,
"percent_delta": 0.58,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.272,
"after": 0.2717,
"delta": -0.0003,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.37,
"after": 0.54,
"delta": 0.17,
"percent_delta": 0.4595,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.4043,
"delta": 0.1443,
"percent_delta": 0.555,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.342,
"after": 0.3423,
"delta": 0.0003,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.929,
"after": 1.4629,
"delta": 0.5339,
"percent_delta": 0.5747,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 7,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.266,
"after": 5.5094,
"delta": 2.2434,
"percent_delta": 0.6869,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 6,
"season": 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.2534,
"predicted_3B": 0.0351,
"predicted_AB": 5.5094,
"predicted_AVG": 0.2157,
"predicted_BB": 0.2431,
"predicted_H": 1.1882,
"predicted_HBP": 0.14,
"predicted_HR": 0.0927,
"predicted_OBP": 0.2488,
"predicted_R": 0.5162,
"predicted_RBI": 0.3865,
"predicted_SLG": 0.3249,
"predicted_SO": 1.484
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2534,
"after": 0.2534,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0351,
"after": 0.0351,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.5094,
"after": 5.5094,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2384,
"after": 0.2157,
"delta": -0.0227,
"percent_delta": -0.0952,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2467,
"after": 0.2431,
"delta": -0.0036,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2178,
"after": 1.1882,
"delta": -0.0296,
"percent_delta": -0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.14,
"after": 0.14,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0948,
"after": 0.0927,
"delta": -0.0021,
"percent_delta": -0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2717,
"after": 0.2488,
"delta": -0.0229,
"percent_delta": -0.0843,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.54,
"after": 0.5162,
"delta": -0.0238,
"percent_delta": -0.0441,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4043,
"after": 0.3865,
"delta": -0.0178,
"percent_delta": -0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3423,
"after": 0.3249,
"delta": -0.0174,
"percent_delta": -0.0508,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4629,
"after": 1.484,
"delta": 0.0211,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2717,
"after": 0.2488,
"delta": -0.0229,
"percent_delta": -0.0843,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.51), rates preserved: AVG=0.216 HR/AB=0.017",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2534,
"after": 0.0,
"delta": -0.2534,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0351,
"after": 0.0,
"delta": -0.0351,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.5094,
"after": 6.0,
"delta": 0.4906,
"percent_delta": 0.089,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2431,
"after": 0.0,
"delta": -0.2431,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1882,
"after": 1.0,
"delta": -0.1882,
"percent_delta": -0.1584,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0927,
"after": 0.0,
"delta": -0.0927,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3865,
"after": 0.0,
"delta": -0.3865,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.484,
"after": 2.0,
"delta": 0.516,
"percent_delta": 0.3477,
"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.484,
"after": 2.0,
"delta": 0.516,
"percent_delta": 0.3477,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3865,
"after": 0.0,
"delta": -0.3865,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5162,
"after": 1.0,
"delta": 0.4838,
"percent_delta": 0.9372,
"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.5162,
"after": 1.0,
"delta": 0.4838,
"percent_delta": 0.9372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.167,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.167,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2157,
"after": 0.167,
"delta": -0.0487,
"percent_delta": -0.2258,
"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.2488,
"after": 0.167,
"delta": -0.0818,
"percent_delta": -0.3288,
"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.3249,
"after": 0.167,
"delta": -0.1579,
"percent_delta": -0.486,
"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.3249,
"after": 0.167,
"delta": -0.1579,
"percent_delta": -0.486,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2157,
"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.2488,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3249,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2157,
"delta": 0.0487,
"percent_delta": 0.2914,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.167,
"after": 0.2488,
"delta": 0.0818,
"percent_delta": 0.4899,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.167,
"after": 0.3249,
"delta": 0.1579,
"percent_delta": 0.9455,
"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.3249,
"delta": 0.1579,
"percent_delta": 0.9455,
"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.136,
"after": 0.0,
"delta": -0.136,
"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.266,
"after": 4.0,
"delta": 0.734,
"percent_delta": 0.2247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2157,
"delta": -0.0263,
"percent_delta": -0.1087,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.175,
"after": 0.0,
"delta": -0.175,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 2.0,
"delta": 1.36,
"percent_delta": 2.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.272,
"after": 0.2488,
"delta": -0.0232,
"percent_delta": -0.0853,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.37,
"after": 1.0,
"delta": 0.63,
"percent_delta": 1.7027,
"direction": "boost",
"projection_effect": "better",
"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.342,
"after": 0.3249,
"delta": -0.0171,
"percent_delta": -0.05,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.929,
"after": 1.0,
"delta": 0.071,
"percent_delta": 0.0764,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.64,
"after": 2.0,
"delta": 1.36,
"percent_delta": 2.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"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.136 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 3.266 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.175 | - |
| predicted_H | 0.640 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.272 | - |
| predicted_R | 0.370 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.342 | - |
| predicted_SO | 0.929 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.253 | 0.117 |
| predicted_3B | 0.035 | 0.009 |
| predicted_AB | 5.509 | 2.243 |
| predicted_AVG | 0.238 | -0.004 |
| predicted_BB | 0.247 | 0.072 |
| predicted_H | 1.218 | 0.578 |
| predicted_HBP | 0.140 | - |
| predicted_HR | 0.095 | 0.035 |
| predicted_OBP | 0.272 | -0.000 |
| predicted_R | 0.540 | 0.170 |
| predicted_RBI | 0.404 | 0.144 |
| predicted_SLG | 0.342 | 0.000 |
| predicted_SO | 1.463 | 0.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.253 | 0.000 |
| predicted_3B | 0.035 | 0.000 |
| predicted_AB | 5.509 | 0.000 |
| predicted_AVG | 0.216 | -0.023 |
| predicted_BB | 0.243 | -0.004 |
| predicted_H | 1.188 | -0.030 |
| predicted_HBP | 0.140 | 0.000 |
| predicted_HR | 0.093 | -0.002 |
| predicted_OBP | 0.249 | -0.023 |
| predicted_R | 0.516 | -0.024 |
| predicted_RBI | 0.387 | -0.018 |
| predicted_SLG | 0.325 | -0.017 |
| predicted_SO | 1.484 | 0.021 |
AB rounded to 6 (raw=5.51), rates preserved: AVG=0.216 HR/AB=0.017
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.253 |
| predicted_3B | 0.000 | -0.035 |
| predicted_AB | 6.000 | 0.491 |
| predicted_AVG | 0.167 | -0.049 |
| predicted_BB | 0.000 | -0.243 |
| predicted_H | 1.000 | -0.188 |
| predicted_HR | 0.000 | -0.093 |
| predicted_OBP | 0.167 | -0.082 |
| predicted_R | 1.000 | 0.484 |
| predicted_RBI | 0.000 | -0.387 |
| predicted_SLG | 0.167 | -0.158 |
| predicted_SO | 2.000 | 0.516 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 13.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.1538 | 0.1538 | 0.2308 | 0.1538 | 0.0000 | 0.0000 | 0.0000 | 0.1538 |
| last_10 | 0.20 | 6 | - | 26.000 | 4.000 | 1.000 | 0.000 | 0.000 | 2.000 | 2.000 | 0.000 | 7.000 | 0.1538 | 0.1538 | 0.1923 | 0.1538 | 0.0000 | 0.0769 | 0.0000 | 0.2692 |
| season | 0.60 | 47 | - | 503.000 | 133.000 | 21.000 | 4.000 | 11.000 | 42.000 | 57.000 | 27.000 | 143.000 | 0.2644 | 0.3150 | 0.3877 | 0.2644 | 0.0219 | 0.0835 | 0.0537 | 0.2843 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4060 |
| predicted_3B | 0.0470 |
| predicted_AB | 8.4260 |
| predicted_AVG | 0.2337 |
| predicted_BB | 0.3400 |
| predicted_H | 1.9690 |
| predicted_HBP | 0.1400 |
| predicted_HR | 0.1400 |
| predicted_OBP | 0.2713 |
| predicted_R | 0.7610 |
| predicted_RBI | 0.5920 |
| predicted_SLG | 0.3428 |
| predicted_SO | 2.1570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1360 | 0.4060 | 0.2534 | model_form_blend |
| predicted_3B | 0.0260 | 0.0470 | 0.0351 | model_form_blend |
| predicted_AB | 3.2660 | 8.4260 | 5.5094 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2337 | 0.2384 | model_form_blend |
| predicted_BB | 0.1750 | 0.3400 | 0.2467 | model_form_blend |
| predicted_H | 0.6400 | 1.9690 | 1.2178 | model_form_blend |
| predicted_HBP | - | 0.1400 | 0.1400 | form_only |
| predicted_HR | 0.0600 | 0.1400 | 0.0948 | model_form_blend |
| predicted_OBP | 0.2720 | 0.2713 | 0.2717 | model_form_blend |
| predicted_R | 0.3700 | 0.7610 | 0.5400 | model_form_blend |
| predicted_RBI | 0.2600 | 0.5920 | 0.4043 | model_form_blend |
| predicted_SLG | 0.3420 | 0.3428 | 0.3423 | model_form_blend |
| predicted_SO | 0.9290 | 2.1570 | 1.4629 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.264 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 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 | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260531_KC@TEX |
| game_type | full |
| mlbID | 664728 |
| playerID | 664728 |
| playerName | Kyle Isbel |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | KC |
| teamID | 12 |
| game_date | 2026-05-31 |
| sl_k_percent | 22.9 |
| sl_bb_percent | 5.1 |
| sl_woba | 0.299 |
| sl_xwoba | 0.278 |
| sl_xba | 0.237 |
| sl_xslg | 0.333 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 3.6 |
| sl_hard_hit_percent | 31.8 |
| sl_exit_velocity_avg | 87.8 |
| sl_launch_angle_avg | 13.3 |
| sl_whiff_percent | 19.9 |
| sl_swing_percent | 47.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 1.200 | 2.000 | 0.800 | 0.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 1.200 | 3.000 | 2.800 | 1.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 2.700 | 7.000 | 3.300 | -1.000 |
| predicted_IP | 3.200 | 3.200 | 3.200 | Pitching_InningsPitched | 2.110 | 3.000 | 1.090 | 0.200 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 2.000 | 1.000 | 3.000 | 4.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.0000 -> 3.2000 (deboost -1.8000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.0000 -> 3.2000 (deboost -1.8000, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "679883",
"player_name": "Luinder Avila",
"position": "Starter",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 2.0,
"predicted_IP": 5.0,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 2.0,
"predicted_IP": 3.2,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 3.2,
"delta": -1.8,
"percent_delta": -0.36,
"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": 3.2,
"delta": -1.8,
"percent_delta": -0.36,
"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": 4.0,
"predicted_H": 6.0,
"predicted_HR": 2.0,
"predicted_IP": 3.2,
"predicted_R": 4.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 3.2,
"after": 3.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 3.2,
"delta": -1.8,
"percent_delta": -0.36,
"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": 3.2,
"delta": -1.8,
"percent_delta": -0.36,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 2.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 5.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 4.000 | 0.000 |
| predicted_H | 6.000 | 0.000 |
| predicted_HR | 2.000 | 0.000 |
| predicted_IP | 3.200 | -1.800 |
| 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 | 10.100 | 3.000 | 9.000 | 6.000 | 9.000 | 0.000 | 2.6129 | 1.4516 | 0.2903 | 0.8710 | 0.5806 | 0.8710 | 0.0000 |
| last_10 | 0.35 | 10 | 21.100 | 12.000 | 27.000 | 12.000 | 20.000 | 1.000 | 5.0625 | 1.8281 | 0.5625 | 1.2656 | 0.5625 | 0.9375 | 0.0469 |
| season | 0.20 | 10 | 21.100 | 12.000 | 27.000 | 12.000 | 20.000 | 1.000 | 5.0625 | 1.8281 | 0.5625 | 1.2656 | 0.5625 | 0.9375 | 0.0469 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6760 |
| predicted_ER | 1.6180 |
| predicted_ERA | 4.0120 |
| predicted_H | 3.6030 |
| predicted_HR | 0.2980 |
| predicted_IP | 3.2000 |
| predicted_SO | 3.3460 |
| predicted_WHIP | 1.4547 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.6760 | 1.8637 | model_form_blend |
| predicted_ER | 4.0000 | 1.6180 | 2.9981 | model_form_blend |
| predicted_ERA | - | 4.0120 | 4.0120 | form_only |
| predicted_H | 6.0000 | 3.6030 | 4.9918 | model_form_blend |
| predicted_HR | 2.0000 | 0.2980 | 1.2841 | model_form_blend |
| predicted_IP | 5.0000 | 3.2000 | 4.1000 | model_form_blend |
| predicted_SO | 5.0000 | 3.3460 | 4.3043 | model_form_blend |
| predicted_WHIP | - | 1.4547 | 1.4547 | 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 | 3.2 |
| H | 6 |
| R | 4 |
| ER | 4 |
| BB | 2 |
| SO | 5 |
| HR | 2 |
| BF | 19 |
| Pitches | 84 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 17 |
| Pitching_ER | 3 |
| Pitching_ERA | 5.06 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 3 |
| Pitching_H | 7 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 3.0 |
| Pitching_Pitches | 67 |
| Pitching_R | 3 |
| Pitching_SO | 1 |
| Pitching_Strikes | 42 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260526_NYY@KC |
| game_type | full |
| mlbID | 679883 |
| playerID | 679883 |
| playerName | Luinder Avila |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-05-26 |
| game_pk | 824106.0 |
| sl_k_percent | 21.1 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.4 |
| sl_xwoba | 0.342 |
| sl_sweet_spot_percent | 34.9 |
| sl_barrel_batted_rate | 9.5 |
| sl_hard_hit_percent | 34.9 |
| sl_whiff_percent | 23.5 |
| sl_swing_percent | 42.3 |
| sv_pitch_count | 67.0 |
| sv_outs_recorded_est | 8.0 |
| sv_release_speed | 91.25074626865673 |
| sv_release_spin_rate | 2510.910447761194 |
| sv_effective_speed | 92.19402985074628 |
| sv_launch_speed | 84.4875 |
| sv_launch_angle | 22.58333333333333 |
| sv_woba_value | 8.4 |
| sv_woba_denom | 17.0 |
| sv_delta_run_exp | 2.43 |
| sv_delta_home_win_exp | -0.06 |
| sl_avg_best_speed | 77.189500313 |
| sl_avg_hyper_speed | 94.038736349 |
| 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.348 | 1.000 | -0.348 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.217 | 1.000 | -0.217 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.652 | 2.000 | -0.652 | -2.000 |
| predicted_IP | 2.000 | 2.000 | 2.000 | Pitching_InningsPitched | 0.883 | 0.200 | 1.117 | 1.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.174 | 0.000 | -0.174 | 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 -> 2.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_IP: 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": "663738",
"player_name": "Daniel Lynch IV",
"position": "Middle Reliever",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 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": 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": 1.0,
"after": 2.0,
"delta": 1.0,
"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": 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": 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": 2.0,
"delta": 1.0,
"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": 1.0,
"after": 2.0,
"delta": 1.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 | 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 | 1.000 | 6.000 | 2.000 | 2.000 | 0.000 | 1.8000 | 1.6000 | 0.2000 | 1.2000 | 0.4000 | 0.4000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 2.000 | 10.000 | 5.000 | 9.000 | 0.000 | 1.8621 | 1.5517 | 0.2069 | 1.0345 | 0.5172 | 0.9310 | 0.0000 |
| season | 0.20 | 23 | 23.100 | 5.000 | 15.000 | 8.000 | 27.000 | 1.000 | 1.9286 | 0.9857 | 0.2143 | 0.6429 | 0.3429 | 1.1571 | 0.0429 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3980 |
| predicted_ER | 0.3460 |
| predicted_ERA | 3.1178 |
| predicted_H | 0.9890 |
| predicted_HR | 0.0740 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8430 |
| predicted_WHIP | 1.3865 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3980 | 0.1712 | model_form_blend |
| predicted_ER | 0.0000 | 0.3460 | 0.1488 | model_form_blend |
| predicted_ERA | - | 3.1178 | 3.1178 | form_only |
| predicted_H | 0.0000 | 0.9890 | 0.4253 | model_form_blend |
| predicted_HR | 0.0000 | 0.0740 | 0.0318 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8430 | 0.9325 | model_form_blend |
| predicted_WHIP | - | 1.3865 | 1.3865 | 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 | 2.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 6 |
| Pitches | 32 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 1.93 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 18 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260530_KC@TEX |
| game_type | full |
| mlbID | 663738 |
| playerID | 663738 |
| playerName | Daniel Lynch IV |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-05-30 |
| sl_k_percent | 28.1 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.25 |
| sl_xwoba | 0.267 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 33.9 |
| sl_whiff_percent | 33.7 |
| sl_swing_percent | 47.4 |
| sl_avg_best_speed | 73.779792 |
| sl_avg_hyper_speed | 93.583421017 |
| 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.417 | 0.000 | -0.417 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.292 | 0.000 | 1.708 | 2.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.792 | 0.000 | 1.208 | 2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.771 | 0.200 | 0.329 | 0.900 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.500 | 0.000 | 1.500 | 2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "670167",
"player_name": "John Schreiber",
"position": "Middle Reliever",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.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": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.1,
"predicted_R": 2.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": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.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 | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 0.000 | 3.000 | 0.000 | 5.000 | 0.000 | 0.0000 | 0.6429 | 0.0000 | 0.6429 | 0.0000 | 1.0714 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 1.000 | 8.000 | 2.000 | 7.000 | 1.000 | 0.9310 | 1.0345 | 0.1035 | 0.8276 | 0.2069 | 0.7241 | 0.1035 |
| season | 0.20 | 24 | 22.000 | 7.000 | 19.000 | 10.000 | 12.000 | 3.000 | 2.8636 | 1.3182 | 0.3182 | 0.8636 | 0.4546 | 0.5454 | 0.1364 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2730 |
| predicted_ER | 0.3010 |
| predicted_ERA | 2.7124 |
| predicted_H | 0.8580 |
| predicted_HR | 0.1010 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8960 |
| predicted_WHIP | 1.1310 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2730 | 0.1157 | model_form_blend |
| predicted_ER | 2.0000 | 0.3010 | 1.2798 | model_form_blend |
| predicted_ERA | - | 2.7124 | 2.7124 | form_only |
| predicted_H | 2.0000 | 0.8580 | 1.5159 | model_form_blend |
| predicted_HR | 1.0000 | 0.1010 | 0.6189 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.8960 | 1.5320 | model_form_blend |
| predicted_WHIP | - | 1.1310 | 1.1310 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 24 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 2 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 2 |
| 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 | 2 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.86 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 5 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 3 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260530_KC@TEX |
| game_type | full |
| mlbID | 670167 |
| playerID | 670167 |
| playerName | John Schreiber |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-05-30 |
| sl_k_percent | 13.0 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.32 |
| sl_xwoba | 0.354 |
| sl_sweet_spot_percent | 37.7 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 42.0 |
| sl_whiff_percent | 17.6 |
| sl_swing_percent | 44.0 |
| sl_avg_best_speed | 80.622810909 |
| sl_avg_hyper_speed | 94.712781364 |
| 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.565 | 0.000 | -0.565 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.652 | 3.000 | 0.348 | -2.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 1.217 | 5.000 | 0.783 | -3.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.887 | 0.000 | 0.113 | 1.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.783 | 0.000 | 0.217 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "668674",
"player_name": "Lucas Erceg",
"position": "Middle Reliever",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 6.000 | 12.000 | 1.000 | 4.000 | 0.000 | 10.8000 | 2.6000 | 1.2000 | 2.4000 | 0.2000 | 0.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 6.000 | 14.000 | 4.000 | 9.000 | 0.000 | 5.4000 | 1.8000 | 0.6000 | 1.4000 | 0.4000 | 0.9000 | 0.0000 |
| season | 0.20 | 22 | 21.100 | 12.000 | 23.000 | 13.000 | 18.000 | 0.000 | 5.0625 | 1.6875 | 0.5625 | 1.0781 | 0.6094 | 0.8438 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2300 |
| predicted_ER | 0.4170 |
| predicted_ERA | 5.8760 |
| predicted_H | 0.8500 |
| predicted_HR | 0.0460 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.5720 |
| predicted_WHIP | 1.6929 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2300 | 0.0967 | model_form_blend |
| predicted_ER | 1.0000 | 0.4170 | 0.7548 | model_form_blend |
| predicted_ERA | - | 5.8760 | 5.8760 | form_only |
| predicted_H | 2.0000 | 0.8500 | 1.5163 | model_form_blend |
| predicted_HR | 1.0000 | 0.0460 | 0.5987 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.5720 | 0.8200 | model_form_blend |
| predicted_WHIP | - | 1.6929 | 1.6929 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 23 |
| Season rows before report date | 23 |
| Report year | 2026 |
| Profile rows used | 22 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 3 |
| Pitching_ERA | 6.33 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 17 |
| Pitching_R | 3 |
| Pitching_SO | 0 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260530_KC@TEX |
| game_type | full |
| mlbID | 668674 |
| playerID | 668674 |
| playerName | Lucas Erceg |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-05-30 |
| sl_k_percent | 18.4 |
| sl_bb_percent | 13.3 |
| sl_woba | 0.392 |
| sl_xwoba | 0.323 |
| sl_sweet_spot_percent | 29.9 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 40.3 |
| sl_whiff_percent | 20.4 |
| sl_swing_percent | 47.9 |
| sl_avg_best_speed | 74.322864242 |
| sl_avg_hyper_speed | 94.511098333 |
| Field | Value |
|---|---|
| Pitcher | Lyon Richardson |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0010 |
| ESPN Rank | 427 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 5 |
| Pre H | 6 |
| Pre BB | 1 |
| Pre SO | 3 |
| Season ERA | 13.5000 |
| Season WHIP | 1.5000 |
| Role Avg IP | 0.6670 |
| Recent Avg IP | 0.6670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 67,
"wins": 32,
"losses": 35,
"win_pct": 0.4776,
"runs_scored": 289.0,
"runs_allowed": 337.0,
"run_differential": -48.0,
"run_differential_per_game": -0.7164,
"avg_runs_scored": 4.3134,
"avg_runs_allowed": 5.0299,
"offense_index": 0.9719,
"defense_index": 0.8823,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 3.9,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.1428
},
"opponent": {
"team": "KC",
"games": 67,
"wins": 23,
"losses": 44,
"win_pct": 0.3433,
"runs_scored": 243.0,
"runs_allowed": 319.0,
"run_differential": -76.0,
"run_differential_per_game": -1.1343,
"avg_runs_scored": 3.6269,
"avg_runs_allowed": 4.7612,
"offense_index": 0.8172,
"defense_index": 0.9321,
"current_streak": "L6",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 6.0,
"run_differential": -30.0
},
"available": true,
"quality_score": -0.3788
},
"edges": {
"quality_edge": 0.236,
"offense_edge": -0.0281,
"opponent_offense_edge": -0.1828,
"defense_strength": -0.1177,
"opponent_defense_weakness": 0.0679,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0132,
"run_prevention": 0.9707,
"strikeout": 1.0217
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "680689",
"profile": {
"available": true,
"pitcher_id": "680689",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.311,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.0114,
"command_and_miss": 0.0,
"regression_edge": -0.0857,
"xwoba_edge": 0.0286,
"barrel_edge": 0.0,
"hard_hit_edge": 0.0,
"whiff_edge": 0.0,
"bb_edge": 0.0,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "680689",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.001,
"sample_weight": 0.45,
"run_prevention_factor": 1.0001,
"strikeout_factor": 1.0,
"walk_factor": 1.0,
"homer_factor": 0.9996,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680689",
"espn_id": 41333,
"player_name": "Lyon Richardson",
"team": "CIN",
"role": "pitcher",
"espn_rank": 427,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 427,
"gp_value": 1.0,
"gp_rank": 590,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 13.5,
"era_rank": null,
"w_value": 0.0,
"w_rank": 368,
"l_value": 0.0,
"l_rank": 390,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 0.2,
"ip_rank": 650,
"h_value": 1.0,
"h_rank": 613,
"er_value": 1.0,
"er_rank": 578,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 0.0,
"bb_rank": 619,
"k_value": 1.0,
"k_rank": 590,
"k_per_9_value": 13.5,
"k_per_9_rank": 24,
"whip_value": 1.5,
"whip_rank": null,
"war_value": -0.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 5.0,
"factor": 1.0,
"adjusted": 5
},
"predicted_H": {
"original": 5.0,
"factor": 1.0,
"adjusted": 5
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_HR": {
"original": 5.0,
"factor": 0.9998,
"adjusted": 5
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0,
"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": 0.2,
"ER": 1,
"H": 1,
"BB": 0,
"SO": 1,
"HR": 1,
"ERA": 13.5,
"WHIP": 1.5,
"K9": 13.5,
"HR9": 13.5,
"games_pitched": 1,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 1,
"error_prone": false
},
"games_count": 1,
"latest_game_date": "2026-05-30T00:00:00"
}{
"available": false,
"pitcher_id": "680689",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.132,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0256,
"prior_weight": 0.9744
},
"role": "pitcher",
"player_id": "680689",
"report_date": "20260601_K",
"season_year": 2026,
"rows_used": 1,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 1,
"totals": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 0.0,
"SO": 1.0,
"HR": 1.0,
"BF": 3.0,
"Pitches": 11.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 0.0,
"SO": 1.0,
"HR": 1.0,
"BF": 3.0,
"Pitches": 11.0
},
"rates": {
"ERA": 13.5,
"WHIP": 1.5,
"ER_per_IP": 1.5,
"H_per_IP": 1.5,
"BB_per_IP": 0.0,
"SO_per_IP": 1.5,
"HR_per_IP": 1.5
}
},
"last_10": {
"games": 1,
"totals": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 0.0,
"SO": 1.0,
"HR": 1.0,
"BF": 3.0,
"Pitches": 11.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 0.0,
"SO": 1.0,
"HR": 1.0,
"BF": 3.0,
"Pitches": 11.0
},
"rates": {
"ERA": 13.5,
"WHIP": 1.5,
"ER_per_IP": 1.5,
"H_per_IP": 1.5,
"BB_per_IP": 0.0,
"SO_per_IP": 1.5,
"HR_per_IP": 1.5
}
},
"season": {
"games": 1,
"totals": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 0.0,
"SO": 1.0,
"HR": 1.0,
"BF": 3.0,
"Pitches": 11.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 0.0,
"SO": 1.0,
"HR": 1.0,
"BF": 3.0,
"Pitches": 11.0
},
"rates": {
"ERA": 13.5,
"WHIP": 1.5,
"ER_per_IP": 1.5,
"H_per_IP": 1.5,
"BB_per_IP": 0.0,
"SO_per_IP": 1.5,
"HR_per_IP": 1.5
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.172,
"predicted_H": 0.33,
"predicted_BB": 0.123,
"predicted_SO": 0.326,
"predicted_HR": 0.058,
"predicted_ERA": 4.5235,
"predicted_WHIP": 1.3233
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7617,
"form_weight": 0.2383,
"form_reliability": 0.0256,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.132,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0256,
"prior_weight": 0.9744
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 5.0,
"form": 0.172,
"final": 3.8494,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 0.33,
"final": 4.6487,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.123,
"final": 0.791,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 0.326,
"final": 2.3627,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.058,
"final": 0.7755,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5235,
"final": 4.5235,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3233,
"final": 1.3233,
"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 Ferguson |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.5673 |
| ESPN Rank | 251 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1114 |
| Avg Velo | 87.7062 |
| Avg Spin | 2484.4375 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 0 |
| Season WHIP | 0.3333 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 67,
"wins": 32,
"losses": 35,
"win_pct": 0.4776,
"runs_scored": 289.0,
"runs_allowed": 337.0,
"run_differential": -48.0,
"run_differential_per_game": -0.7164,
"avg_runs_scored": 4.3134,
"avg_runs_allowed": 5.0299,
"offense_index": 0.9719,
"defense_index": 0.8823,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 3.9,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.1428
},
"opponent": {
"team": "KC",
"games": 67,
"wins": 23,
"losses": 44,
"win_pct": 0.3433,
"runs_scored": 243.0,
"runs_allowed": 319.0,
"run_differential": -76.0,
"run_differential_per_game": -1.1343,
"avg_runs_scored": 3.6269,
"avg_runs_allowed": 4.7612,
"offense_index": 0.8172,
"defense_index": 0.9321,
"current_streak": "L6",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 6.0,
"run_differential": -30.0
},
"available": true,
"quality_score": -0.3788
},
"edges": {
"quality_edge": 0.236,
"offense_edge": -0.0281,
"opponent_offense_edge": -0.1828,
"defense_strength": -0.1177,
"opponent_defense_weakness": 0.0679,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0132,
"run_prevention": 0.9707,
"strikeout": 1.0217
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "657571",
"profile": {
"available": true,
"pitcher_id": "657571",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 5.0,
"k_percent": 36.4,
"bb_percent": 0.0,
"woba": 0.09,
"xwoba": 0.173,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 16.7,
"avg_best_speed": 68.4463,
"avg_hyper_speed": 92.5005,
"whiff_percent": 21.1,
"swing_percent": 55.9
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 2.1057,
"command_and_miss": 1.1171,
"regression_edge": -2.0,
"xwoba_edge": 2.5,
"barrel_edge": 1.6,
"hard_hit_edge": 2.5,
"whiff_edge": -0.6714,
"bb_edge": 2.325,
"pitch_design_score": -0.1114
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "657571",
"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": 87.70625,
"release_spin_rate": 2484.4375,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 87.70625,
"release_spin_rate": 2484.4375,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.7062,
"release_spin_rate": 2484.4375,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1114,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7956,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.5673,
"sample_weight": 0.45,
"run_prevention_factor": 0.9518,
"strikeout_factor": 1.0234,
"walk_factor": 0.9163,
"homer_factor": 0.8637,
"woba_minus_xwoba": -0.083,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "657571",
"espn_id": 41017,
"player_name": "Caleb Ferguson",
"team": "CIN",
"role": "pitcher",
"espn_rank": 251,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 251,
"gp_value": 2.0,
"gp_rank": 550,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 0.0,
"era_rank": null,
"w_value": 0.0,
"w_rank": 368,
"l_value": 0.0,
"l_rank": 390,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 3.0,
"ip_rank": 571,
"h_value": 1.0,
"h_rank": 613,
"er_value": 0.0,
"er_rank": 612,
"hr_value": 0.0,
"hr_rank": 529,
"bb_value": 0.0,
"bb_rank": 619,
"k_value": 4.0,
"k_rank": 519,
"k_per_9_value": 12.0,
"k_per_9_rank": 24,
"whip_value": 0.3333,
"whip_rank": null,
"war_value": 0.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9783,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9783,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9623,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9387,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0105,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "insufficient_data"
},
"pitching": {
"IP": 3.0,
"ER": 0,
"H": 1,
"BB": 0,
"SO": 4,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.3333333333333333,
"K9": 12.0,
"HR9": 0.0,
"games_pitched": 2,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 2,
"error_prone": false
},
"games_count": 2,
"latest_game_date": "2026-05-29T00:00:00"
}{
"available": true,
"pitcher_id": "657571",
"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": 87.70625,
"release_spin_rate": 2484.4375,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 87.70625,
"release_spin_rate": 2484.4375,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.7062,
"release_spin_rate": 2484.4375,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1114,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7956,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.592,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1059,
"prior_weight": 0.8941
},
"role": "pitcher",
"player_id": "657571",
"report_date": "20260601_K",
"season_year": 2026,
"rows_used": 2,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 2,
"totals": {
"IP": 3.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 4.0,
"HR": 0.0,
"BF": 11.0,
"Pitches": 34.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 5.5,
"Pitches": 17.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.3333,
"ER_per_IP": 0.0,
"H_per_IP": 0.33333,
"BB_per_IP": 0.0,
"SO_per_IP": 1.33333,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 2,
"totals": {
"IP": 3.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 4.0,
"HR": 0.0,
"BF": 11.0,
"Pitches": 34.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 5.5,
"Pitches": 17.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.3333,
"ER_per_IP": 0.0,
"H_per_IP": 0.33333,
"BB_per_IP": 0.0,
"SO_per_IP": 1.33333,
"HR_per_IP": 0.0
}
},
"season": {
"games": 2,
"totals": {
"IP": 3.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 4.0,
"HR": 0.0,
"BF": 11.0,
"Pitches": 34.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 5.5,
"Pitches": 17.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.3333,
"ER_per_IP": 0.0,
"H_per_IP": 0.33333,
"BB_per_IP": 0.0,
"SO_per_IP": 1.33333,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.568,
"predicted_H": 1.18,
"predicted_BB": 0.439,
"predicted_SO": 1.31,
"predicted_HR": 0.159,
"predicted_ERA": 3.8336,
"predicted_WHIP": 1.2143
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7278,
"form_weight": 0.2722,
"form_reliability": 0.1059,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.592,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1059,
"prior_weight": 0.8941
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.568,
"final": 0.1546,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.18,
"final": 1.049,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.439,
"final": 0.8473,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.31,
"final": 1.0844,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.159,
"final": 0.0433,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8336,
"final": 3.8336,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2143,
"final": 1.2143,
"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 Moll |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2065 |
| ESPN Rank | 171 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1956 |
| Avg Velo | 86.2015 |
| Avg Spin | 2519.8467 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.4868 |
| Season WHIP | 1.0263 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 67,
"wins": 32,
"losses": 35,
"win_pct": 0.4776,
"runs_scored": 289.0,
"runs_allowed": 337.0,
"run_differential": -48.0,
"run_differential_per_game": -0.7164,
"avg_runs_scored": 4.3134,
"avg_runs_allowed": 5.0299,
"offense_index": 0.9719,
"defense_index": 0.8823,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 3.9,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.1428
},
"opponent": {
"team": "KC",
"games": 67,
"wins": 23,
"losses": 44,
"win_pct": 0.3433,
"runs_scored": 243.0,
"runs_allowed": 319.0,
"run_differential": -76.0,
"run_differential_per_game": -1.1343,
"avg_runs_scored": 3.6269,
"avg_runs_allowed": 4.7612,
"offense_index": 0.8172,
"defense_index": 0.9321,
"current_streak": "L6",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 6.0,
"run_differential": -30.0
},
"available": true,
"quality_score": -0.3788
},
"edges": {
"quality_edge": 0.236,
"offense_edge": -0.0281,
"opponent_offense_edge": -0.1828,
"defense_strength": -0.1177,
"opponent_defense_weakness": 0.0679,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0132,
"run_prevention": 0.9707,
"strikeout": 1.0217
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "594580",
"profile": {
"available": true,
"pitcher_id": "594580",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 90.0,
"k_percent": 25.5,
"bb_percent": 10.8,
"woba": 0.258,
"xwoba": 0.284,
"sweet_spot_percent": 23.0,
"barrel_batted_rate": 5.5,
"hard_hit_percent": 29.5,
"avg_best_speed": 75.9769,
"avg_hyper_speed": 92.9939,
"whiff_percent": 26.1,
"swing_percent": 39.2
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.9213,
"command_and_miss": 0.1264,
"regression_edge": -0.7429,
"xwoba_edge": 0.8,
"barrel_edge": 0.3778,
"hard_hit_edge": 1.3,
"whiff_edge": 0.0429,
"bb_edge": -0.375,
"pitch_design_score": -0.1956
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "594580",
"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": 86.20146014772703,
"release_spin_rate": 2519.846651312634,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 86.20146014772703,
"release_spin_rate": 2519.846651312634,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2015,
"release_spin_rate": 2519.8467,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1956,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.3975,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2065,
"sample_weight": 0.45,
"run_prevention_factor": 0.9824,
"strikeout_factor": 1.0082,
"walk_factor": 1.0135,
"homer_factor": 0.9522,
"woba_minus_xwoba": -0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "594580",
"espn_id": 34928,
"player_name": "Sam Moll",
"team": "CIN",
"role": "pitcher",
"espn_rank": 171,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 171,
"gp_value": 28.0,
"gp_rank": 7,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.4868,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 3.0,
"l_rank": 75,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 2.0,
"hld_rank": 154,
"ip_value": 25.1,
"ip_rank": 231,
"h_value": 15.0,
"h_rank": 349,
"er_value": 7.0,
"er_rank": 350,
"hr_value": 2.0,
"hr_rank": 258,
"bb_value": 12.0,
"bb_rank": 199,
"k_value": 26.0,
"k_rank": 223,
"k_per_9_value": 9.236842,
"k_per_9_rank": 26,
"whip_value": 1.0657,
"whip_rank": null,
"war_value": 0.48,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9921,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9921,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0061,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9785,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0037,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 4,
"H": 5,
"BB": 3,
"SO": 11,
"HR": 1,
"ERA": 4.0,
"WHIP": 0.8888888888888888,
"K9": 11.0,
"HR9": 1.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-31T00:00:00"
}{
"available": true,
"pitcher_id": "594580",
"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": 86.20146014772703,
"release_spin_rate": 2519.846651312634,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 86.20146014772703,
"release_spin_rate": 2519.846651312634,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2015,
"release_spin_rate": 2519.8467,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1956,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.3975,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5,
"prior_weight": 0.5
},
"role": "pitcher",
"player_id": "594580",
"report_date": "20260601_K",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 6.0,
"HR": 0.0,
"BF": 14.0,
"Pitches": 59.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.2,
"SO": 1.2,
"HR": 0.0,
"BF": 2.8,
"Pitches": 11.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4615,
"ER_per_IP": 0.0,
"H_per_IP": 0.23077,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 4.0,
"R": 4.0,
"H": 5.0,
"BB": 3.0,
"SO": 11.0,
"HR": 1.0,
"BF": 34.0,
"Pitches": 136.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.5,
"BB": 0.3,
"SO": 1.1,
"HR": 0.1,
"BF": 3.4,
"Pitches": 13.6
},
"rates": {
"ERA": 4.0,
"WHIP": 0.8889,
"ER_per_IP": 0.44444,
"H_per_IP": 0.55556,
"BB_per_IP": 0.33333,
"SO_per_IP": 1.22222,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 27,
"totals": {
"IP": 25.1,
"ER": 7.0,
"R": 9.0,
"H": 14.0,
"BB": 12.0,
"SO": 26.0,
"HR": 2.0,
"BF": 103.0,
"Pitches": 419.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2593,
"R": 0.3333,
"H": 0.5185,
"BB": 0.4444,
"SO": 0.963,
"HR": 0.0741,
"BF": 3.8148,
"Pitches": 15.5185
},
"rates": {
"ERA": 2.4868,
"WHIP": 1.0263,
"ER_per_IP": 0.27632,
"H_per_IP": 0.55263,
"BB_per_IP": 0.47368,
"SO_per_IP": 1.02632,
"HR_per_IP": 0.07895
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.344,
"predicted_H": 0.679,
"predicted_BB": 0.342,
"predicted_SO": 1.098,
"predicted_HR": 0.094,
"predicted_ERA": 3.0925,
"predicted_WHIP": 1.0213
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5613,
"form_weight": 0.4388,
"form_reliability": 0.5,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5,
"prior_weight": 0.5
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.344,
"final": 0.1509,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.679,
"final": 0.8592,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.342,
"final": 0.1501,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.098,
"final": 1.043,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.094,
"final": 0.0412,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0925,
"final": 3.0925,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0213,
"final": 1.0213,
"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 | Brock Burke |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.1612 |
| ESPN Rank | 315 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1145 |
| Avg Velo | 91.7400 |
| Avg Spin | 2260.8487 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.6220 |
| Season WHIP | 1.3902 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 67,
"wins": 32,
"losses": 35,
"win_pct": 0.4776,
"runs_scored": 289.0,
"runs_allowed": 337.0,
"run_differential": -48.0,
"run_differential_per_game": -0.7164,
"avg_runs_scored": 4.3134,
"avg_runs_allowed": 5.0299,
"offense_index": 0.9719,
"defense_index": 0.8823,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 3.9,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.1428
},
"opponent": {
"team": "KC",
"games": 67,
"wins": 23,
"losses": 44,
"win_pct": 0.3433,
"runs_scored": 243.0,
"runs_allowed": 319.0,
"run_differential": -76.0,
"run_differential_per_game": -1.1343,
"avg_runs_scored": 3.6269,
"avg_runs_allowed": 4.7612,
"offense_index": 0.8172,
"defense_index": 0.9321,
"current_streak": "L6",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 6.0,
"run_differential": -30.0
},
"available": true,
"quality_score": -0.3788
},
"edges": {
"quality_edge": 0.236,
"offense_edge": -0.0281,
"opponent_offense_edge": -0.1828,
"defense_strength": -0.1177,
"opponent_defense_weakness": 0.0679,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0132,
"run_prevention": 0.9707,
"strikeout": 1.0217
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656271",
"profile": {
"available": true,
"pitcher_id": "656271",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 100.0,
"k_percent": 22.4,
"bb_percent": 13.8,
"woba": 0.329,
"xwoba": 0.344,
"sweet_spot_percent": 39.7,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 31.5,
"avg_best_speed": 77.5857,
"avg_hyper_speed": 93.3306,
"whiff_percent": 30.5,
"swing_percent": 43.7
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.5783,
"command_and_miss": -0.0029,
"regression_edge": -0.4286,
"xwoba_edge": -0.9143,
"barrel_edge": -1.0222,
"hard_hit_edge": 1.0143,
"whiff_edge": 0.6714,
"bb_edge": -1.125,
"pitch_design_score": 0.1145
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656271",
"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.74001689285609,
"release_spin_rate": 2260.848724281115,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.74001689285609,
"release_spin_rate": 2260.848724281115,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.74,
"release_spin_rate": 2260.8487,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1145,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.8179,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1612,
"sample_weight": 0.45,
"run_prevention_factor": 1.0137,
"strikeout_factor": 1.0116,
"walk_factor": 1.0405,
"homer_factor": 1.0309,
"woba_minus_xwoba": -0.015,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656271",
"espn_id": 39945,
"player_name": "Brock Burke",
"team": "CIN",
"role": "pitcher",
"espn_rank": 315,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 315,
"gp_value": 29.0,
"gp_rank": 5,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 3.6219,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 2.0,
"l_rank": 140,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 7.0,
"hld_rank": 33,
"ip_value": 27.1,
"ip_rank": 199,
"h_value": 22.0,
"h_rank": 236,
"er_value": 11.0,
"er_rank": 237,
"hr_value": 3.0,
"hr_rank": 198,
"bb_value": 16.0,
"bb_rank": 126,
"k_value": 27.0,
"k_rank": 209,
"k_per_9_value": 8.890244,
"k_per_9_rank": 28,
"whip_value": 1.3902,
"whip_rank": null,
"war_value": 0.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0062,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0062,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0182,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0139,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0052,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 5,
"H": 6,
"BB": 5,
"SO": 5,
"HR": 3,
"ERA": 4.655172413793104,
"WHIP": 1.1379310344827587,
"K9": 4.655172413793104,
"HR9": 2.793103448275862,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-31T00:00:00"
}{
"available": true,
"pitcher_id": "656271",
"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.74001689285609,
"release_spin_rate": 2260.848724281115,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.74001689285609,
"release_spin_rate": 2260.848724281115,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.74,
"release_spin_rate": 2260.8487,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1145,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.8179,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.394,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.519,
"prior_weight": 0.481
},
"role": "pitcher",
"player_id": "656271",
"report_date": "20260601_K",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 2.0,
"R": 2.0,
"H": 2.0,
"BB": 2.0,
"SO": 2.0,
"HR": 1.0,
"BF": 18.0,
"Pitches": 71.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.4,
"BB": 0.4,
"SO": 0.4,
"HR": 0.2,
"BF": 3.6,
"Pitches": 14.2
},
"rates": {
"ERA": 3.8571,
"WHIP": 0.8571,
"ER_per_IP": 0.42857,
"H_per_IP": 0.42857,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.42857,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 5.0,
"R": 5.0,
"H": 6.0,
"BB": 5.0,
"SO": 5.0,
"HR": 3.0,
"BF": 40.0,
"Pitches": 140.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 0.6,
"BB": 0.5,
"SO": 0.5,
"HR": 0.3,
"BF": 4.0,
"Pitches": 14.0
},
"rates": {
"ERA": 4.6552,
"WHIP": 1.1379,
"ER_per_IP": 0.51724,
"H_per_IP": 0.62069,
"BB_per_IP": 0.51724,
"SO_per_IP": 0.51724,
"HR_per_IP": 0.31034
}
},
"season": {
"games": 29,
"totals": {
"IP": 27.1,
"ER": 11.0,
"R": 15.0,
"H": 22.0,
"BB": 16.0,
"SO": 27.0,
"HR": 3.0,
"BF": 120.0,
"Pitches": 443.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3793,
"R": 0.5172,
"H": 0.7586,
"BB": 0.5517,
"SO": 0.931,
"HR": 0.1034,
"BF": 4.1379,
"Pitches": 15.2759
},
"rates": {
"ERA": 3.622,
"WHIP": 1.3902,
"ER_per_IP": 0.40244,
"H_per_IP": 0.80488,
"BB_per_IP": 0.58537,
"SO_per_IP": 0.9878,
"HR_per_IP": 0.10976
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.39,
"predicted_H": 0.633,
"predicted_BB": 0.363,
"predicted_SO": 0.629,
"predicted_HR": 0.153,
"predicted_ERA": 4.1848,
"predicted_WHIP": 1.1854
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5532,
"form_weight": 0.4468,
"form_reliability": 0.519,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.394,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.519,
"prior_weight": 0.481
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.39,
"final": 0.1742,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.633,
"final": 0.836,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.363,
"final": 0.1622,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.629,
"final": 0.281,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.153,
"final": 0.0684,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.1848,
"final": 4.1848,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1854,
"final": 1.1854,
"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 | Tejay Antone |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.3927 |
| ESPN Rank | 410 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1994 |
| Avg Velo | 86.1351 |
| Avg Spin | 2737.7151 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 5.1923 |
| Season WHIP | 1.1538 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 67,
"wins": 32,
"losses": 35,
"win_pct": 0.4776,
"runs_scored": 289.0,
"runs_allowed": 337.0,
"run_differential": -48.0,
"run_differential_per_game": -0.7164,
"avg_runs_scored": 4.3134,
"avg_runs_allowed": 5.0299,
"offense_index": 0.9719,
"defense_index": 0.8823,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 3.9,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.1428
},
"opponent": {
"team": "KC",
"games": 67,
"wins": 23,
"losses": 44,
"win_pct": 0.3433,
"runs_scored": 243.0,
"runs_allowed": 319.0,
"run_differential": -76.0,
"run_differential_per_game": -1.1343,
"avg_runs_scored": 3.6269,
"avg_runs_allowed": 4.7612,
"offense_index": 0.8172,
"defense_index": 0.9321,
"current_streak": "L6",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 6.0,
"run_differential": -30.0
},
"available": true,
"quality_score": -0.3788
},
"edges": {
"quality_edge": 0.236,
"offense_edge": -0.0281,
"opponent_offense_edge": -0.1828,
"defense_strength": -0.1177,
"opponent_defense_weakness": 0.0679,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0132,
"run_prevention": 0.9707,
"strikeout": 1.0217
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "622088",
"profile": {
"available": true,
"pitcher_id": "622088",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 30.0,
"k_percent": 18.9,
"bb_percent": 5.4,
"woba": 0.313,
"xwoba": 0.377,
"sweet_spot_percent": 29.6,
"barrel_batted_rate": 12.0,
"hard_hit_percent": 48.1,
"avg_best_speed": 81.1351,
"avg_hyper_speed": 94.6667,
"whiff_percent": 23.3,
"swing_percent": 42.3
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -1.1253,
"command_and_miss": -0.1679,
"regression_edge": -1.8286,
"xwoba_edge": -1.8571,
"barrel_edge": -1.0667,
"hard_hit_edge": -1.3571,
"whiff_edge": -0.3571,
"bb_edge": 0.975,
"pitch_design_score": -0.1994
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "622088",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 86.13507506747638,
"release_spin_rate": 2737.715144230769,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 86.13507506747638,
"release_spin_rate": 2737.715144230769,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1351,
"release_spin_rate": 2737.7151,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1994,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.424,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.3927,
"sample_weight": 0.45,
"run_prevention_factor": 1.0334,
"strikeout_factor": 0.9841,
"walk_factor": 0.9649,
"homer_factor": 1.0879,
"woba_minus_xwoba": -0.064,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "622088",
"espn_id": 42355,
"player_name": "Tejay Antone",
"team": "CIN",
"role": "pitcher",
"espn_rank": 410,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 410,
"gp_value": 9.0,
"gp_rank": 370,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 5.1923,
"era_rank": null,
"w_value": 0.0,
"w_rank": 368,
"l_value": 0.0,
"l_rank": 390,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 8.2,
"ip_rank": 466,
"h_value": 8.0,
"h_rank": 467,
"er_value": 5.0,
"er_rank": 432,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 2.0,
"bb_rank": 532,
"k_value": 7.0,
"k_rank": 467,
"k_per_9_value": 7.2692304,
"k_per_9_rank": 27,
"whip_value": 1.1538,
"whip_rank": null,
"war_value": -0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.015,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.015,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9842,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0396,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9928,
"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": 8,
"BB": 2,
"SO": 7,
"HR": 1,
"ERA": 5.1923076923076925,
"WHIP": 1.153846153846154,
"K9": 7.26923076923077,
"HR9": 1.0384615384615385,
"games_pitched": 9,
"quality_starts": 0,
"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-30T00:00:00"
}{
"available": true,
"pitcher_id": "622088",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 86.13507506747638,
"release_spin_rate": 2737.715144230769,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 86.13507506747638,
"release_spin_rate": 2737.715144230769,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1351,
"release_spin_rate": 2737.7151,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1994,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.424,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.6164383561643836,
"last_10": 0.3835616438356164
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.71,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2549,
"prior_weight": 0.7451
},
"role": "pitcher",
"player_id": "622088",
"report_date": "20260601_K",
"season_year": 2026,
"rows_used": 9,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 2.0,
"SO": 1.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 73.0
},
"per_game": {
"IP": 0.2,
"ER": 0.6,
"R": 0.6,
"H": 1.0,
"BB": 0.4,
"SO": 0.2,
"HR": 0.2,
"BF": 3.8,
"Pitches": 14.6
},
"rates": {
"ERA": 7.3636,
"WHIP": 1.9091,
"ER_per_IP": 0.81818,
"H_per_IP": 1.36364,
"BB_per_IP": 0.54545,
"SO_per_IP": 0.27273,
"HR_per_IP": 0.27273
}
},
"last_10": {
"games": 9,
"totals": {
"IP": 8.2,
"ER": 5.0,
"R": 5.0,
"H": 8.0,
"BB": 2.0,
"SO": 7.0,
"HR": 1.0,
"BF": 37.0,
"Pitches": 142.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5556,
"R": 0.5556,
"H": 0.8889,
"BB": 0.2222,
"SO": 0.7778,
"HR": 0.1111,
"BF": 4.1111,
"Pitches": 15.7778
},
"rates": {
"ERA": 5.1923,
"WHIP": 1.1538,
"ER_per_IP": 0.57692,
"H_per_IP": 0.92308,
"BB_per_IP": 0.23077,
"SO_per_IP": 0.80769,
"HR_per_IP": 0.11538
}
},
"season": {
"games": 9,
"totals": {
"IP": 8.2,
"ER": 5.0,
"R": 5.0,
"H": 8.0,
"BB": 2.0,
"SO": 7.0,
"HR": 1.0,
"BF": 37.0,
"Pitches": 142.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5556,
"R": 0.5556,
"H": 0.8889,
"BB": 0.2222,
"SO": 0.7778,
"HR": 0.1111,
"BF": 4.1111,
"Pitches": 15.7778
},
"rates": {
"ERA": 5.1923,
"WHIP": 1.1538,
"ER_per_IP": 0.57692,
"H_per_IP": 0.92308,
"BB_per_IP": 0.23077,
"SO_per_IP": 0.80769,
"HR_per_IP": 0.11538
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.243,
"predicted_H": 0.457,
"predicted_BB": 0.173,
"predicted_SO": 0.371,
"predicted_HR": 0.069,
"predicted_ERA": 4.8594,
"predicted_WHIP": 1.3953
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6648,
"form_weight": 0.3352,
"form_reliability": 0.2549,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.71,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2549,
"prior_weight": 0.7451
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.243,
"final": 0.0815,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.457,
"final": 0.818,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.173,
"final": 0.058,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.371,
"final": 0.1244,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.069,
"final": 0.0231,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8594,
"final": 4.8594,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3953,
"final": 1.3953,
"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 | Tony Santillan |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.4077 |
| ESPN Rank | 555 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0549 |
| Avg Velo | 90.6750 |
| Avg Spin | 2286.4736 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.9706 |
| Season WHIP | 1.3235 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 67,
"wins": 32,
"losses": 35,
"win_pct": 0.4776,
"runs_scored": 289.0,
"runs_allowed": 337.0,
"run_differential": -48.0,
"run_differential_per_game": -0.7164,
"avg_runs_scored": 4.3134,
"avg_runs_allowed": 5.0299,
"offense_index": 0.9719,
"defense_index": 0.8823,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 3.9,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.1428
},
"opponent": {
"team": "KC",
"games": 67,
"wins": 23,
"losses": 44,
"win_pct": 0.3433,
"runs_scored": 243.0,
"runs_allowed": 319.0,
"run_differential": -76.0,
"run_differential_per_game": -1.1343,
"avg_runs_scored": 3.6269,
"avg_runs_allowed": 4.7612,
"offense_index": 0.8172,
"defense_index": 0.9321,
"current_streak": "L6",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 6.0,
"run_differential": -30.0
},
"available": true,
"quality_score": -0.3788
},
"edges": {
"quality_edge": 0.236,
"offense_edge": -0.0281,
"opponent_offense_edge": -0.1828,
"defense_strength": -0.1177,
"opponent_defense_weakness": 0.0679,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0132,
"run_prevention": 0.9707,
"strikeout": 1.0217
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663574",
"profile": {
"available": true,
"pitcher_id": "663574",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 91.0,
"k_percent": 23.4,
"bb_percent": 11.7,
"woba": 0.382,
"xwoba": 0.364,
"sweet_spot_percent": 39.3,
"barrel_batted_rate": 15.0,
"hard_hit_percent": 50.8,
"avg_best_speed": 82.4658,
"avg_hyper_speed": 95.125,
"whiff_percent": 21.6,
"swing_percent": 43.7
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -1.5881,
"command_and_miss": -0.2786,
"regression_edge": 0.5143,
"xwoba_edge": -1.4857,
"barrel_edge": -1.7333,
"hard_hit_edge": -1.7429,
"whiff_edge": -0.6,
"bb_edge": -0.6,
"pitch_design_score": 0.0549
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663574",
"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.67498571705188,
"release_spin_rate": 2286.473589459677,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.67498571705188,
"release_spin_rate": 2286.473589459677,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.675,
"release_spin_rate": 2286.4736,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0549,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3919,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.4077,
"sample_weight": 0.45,
"run_prevention_factor": 1.0347,
"strikeout_factor": 0.9913,
"walk_factor": 1.0216,
"homer_factor": 1.1138,
"woba_minus_xwoba": 0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663574",
"espn_id": 40950,
"player_name": "Tony Santillan",
"team": "CIN",
"role": "pitcher",
"espn_rank": 555,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 555,
"gp_value": 25.0,
"gp_rank": 47,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 5.5588,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 2.0,
"l_rank": 140,
"sv_value": 2.0,
"sv_rank": 50,
"hld_value": 11.0,
"hld_rank": 5,
"ip_value": 22.2,
"ip_rank": 282,
"h_value": 22.0,
"h_rank": 236,
"er_value": 14.0,
"er_rank": 173,
"hr_value": 8.0,
"hr_rank": 48,
"bb_value": 12.0,
"bb_rank": 199,
"k_value": 22.0,
"k_rank": 269,
"k_per_9_value": 8.735294,
"k_per_9_rank": 25,
"whip_value": 1.5,
"whip_rank": null,
"war_value": -0.27,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0156,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0156,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0097,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0512,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9961,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.0,
"ER": 6,
"H": 8,
"BB": 3,
"SO": 7,
"HR": 4,
"ERA": 6.75,
"WHIP": 1.375,
"K9": 7.875,
"HR9": 4.5,
"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-31T00:00:00"
}{
"available": true,
"pitcher_id": "663574",
"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.67498571705188,
"release_spin_rate": 2286.473589459677,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.67498571705188,
"release_spin_rate": 2286.473589459677,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.675,
"release_spin_rate": 2286.4736,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0549,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3919,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.473,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4722,
"prior_weight": 0.5278
},
"role": "pitcher",
"player_id": "663574",
"report_date": "20260601_K",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 3.0,
"R": 3.0,
"H": 4.0,
"BB": 3.0,
"SO": 4.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 75.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.8,
"BB": 0.6,
"SO": 0.8,
"HR": 0.2,
"BF": 4.2,
"Pitches": 15.0
},
"rates": {
"ERA": 5.7857,
"WHIP": 1.5,
"ER_per_IP": 0.64286,
"H_per_IP": 0.85714,
"BB_per_IP": 0.64286,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 7.0,
"R": 8.0,
"H": 10.0,
"BB": 5.0,
"SO": 7.0,
"HR": 4.0,
"BF": 42.0,
"Pitches": 157.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.8,
"H": 1.0,
"BB": 0.5,
"SO": 0.7,
"HR": 0.4,
"BF": 4.2,
"Pitches": 15.7
},
"rates": {
"ERA": 7.0,
"WHIP": 1.6667,
"ER_per_IP": 0.77778,
"H_per_IP": 1.11111,
"BB_per_IP": 0.55556,
"SO_per_IP": 0.77778,
"HR_per_IP": 0.44444
}
},
"season": {
"games": 24,
"totals": {
"IP": 22.2,
"ER": 10.0,
"R": 11.0,
"H": 18.0,
"BB": 12.0,
"SO": 22.0,
"HR": 6.0,
"BF": 95.0,
"Pitches": 355.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4167,
"R": 0.4583,
"H": 0.75,
"BB": 0.5,
"SO": 0.9167,
"HR": 0.25,
"BF": 3.9583,
"Pitches": 14.7917
},
"rates": {
"ERA": 3.9706,
"WHIP": 1.3235,
"ER_per_IP": 0.44118,
"H_per_IP": 0.79412,
"BB_per_IP": 0.52941,
"SO_per_IP": 0.97059,
"HR_per_IP": 0.26471
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.362,
"predicted_H": 0.611,
"predicted_BB": 0.307,
"predicted_SO": 0.583,
"predicted_HR": 0.139,
"predicted_ERA": 5.0243,
"predicted_WHIP": 1.4152
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.573,
"form_weight": 0.427,
"form_reliability": 0.4722,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.473,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4722,
"prior_weight": 0.5278
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.362,
"final": 0.1546,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.611,
"final": 0.8339,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.307,
"final": 0.1311,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.583,
"final": 0.8219,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.139,
"final": 0.0594,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.0243,
"final": 5.0243,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4152,
"final": 1.4152,
"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 | Yunior Marte |
| Role | Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0010 |
| ESPN Rank | 561 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 2 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 1 |
| 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": false,
"pitcher_id": "628708",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.066,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.013,
"prior_weight": 0.987
},
"role": "pitcher",
"player_id": "628708",
"report_date": "20260601_K",
"season_year": 2026,
"rows_used": 1,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 1,
"totals": {
"IP": 0.1,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 6.0,
"Pitches": 21.0
},
"per_game": {
"IP": 0.1,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 6.0,
"Pitches": 21.0
},
"rates": {
"ERA": 108.0,
"WHIP": 12.0,
"ER_per_IP": 12.0,
"H_per_IP": 9.0,
"BB_per_IP": 3.0,
"SO_per_IP": 3.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 1,
"totals": {
"IP": 0.1,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 6.0,
"Pitches": 21.0
},
"per_game": {
"IP": 0.1,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 6.0,
"Pitches": 21.0
},
"rates": {
"ERA": 108.0,
"WHIP": 12.0,
"ER_per_IP": 12.0,
"H_per_IP": 9.0,
"BB_per_IP": 3.0,
"SO_per_IP": 3.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 1,
"totals": {
"IP": 0.1,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 6.0,
"Pitches": 21.0
},
"per_game": {
"IP": 0.1,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 6.0,
"Pitches": 21.0
},
"rates": {
"ERA": 108.0,
"WHIP": 12.0,
"ER_per_IP": 12.0,
"H_per_IP": 9.0,
"BB_per_IP": 3.0,
"SO_per_IP": 3.0,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.209,
"predicted_H": 0.352,
"predicted_BB": 0.134,
"predicted_SO": 0.322,
"predicted_HR": 0.044,
"predicted_ERA": 5.6359,
"predicted_WHIP": 1.4575
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.767,
"form_weight": 0.233,
"form_reliability": 0.013,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.066,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.013,
"prior_weight": 0.987
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.209,
"final": 0.0487,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.352,
"final": 0.082,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.134,
"final": 0.0312,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.322,
"final": 0.075,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.044,
"final": 0.0103,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.6359,
"final": 5.6359,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4575,
"final": 1.4575,
"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.109 | 0.000 | 0.000 | Hitting_2B | 0.103 | 0.000 | -0.103 | 0.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 4.327 | 4.000 | 8.000 | Hitting_AB | 4.103 | 5.000 | -0.103 | -1.000 |
| predicted_AVG | 0.234 | 0.250 | 0.250 | Hitting_AVG | 0.311 | 0.000 | -0.061 | 0.250 |
| predicted_BB | 0.364 | 0.000 | 1.000 | Hitting_BB | 0.345 | 0.000 | -0.345 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.086 | 0.000 | -0.086 | 0.000 |
| predicted_H | 0.350 | 1.000 | 2.000 | Hitting_H | 1.276 | 0.000 | -0.276 | 1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.086 | 0.000 | -0.086 | 0.000 |
| predicted_OBP | 0.299 | 0.250 | 0.333 | Hitting_OBP | 0.376 | 0.000 | -0.126 | 0.250 |
| predicted_R | 0.636 | 1.000 | 1.000 | Hitting_R | 0.621 | 0.000 | 0.379 | 1.000 |
| predicted_RBI | 0.120 | 0.000 | 0.000 | Hitting_RBI | 0.241 | 0.000 | -0.241 | 0.000 |
| predicted_SLG | 0.374 | 0.250 | 0.250 | Hitting_SLG | 0.408 | 0.000 | -0.158 | 0.250 |
| predicted_SO | 1.145 | 1.000 | 2.000 | Hitting_SO | 1.086 | 3.000 | -0.086 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.3500 -> 1.0000 (boost 0.6500, better) |
| Biggest Deboost | predicted_BB: 0.3640 -> 0.0000 (deboost -0.3640, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3270 -> 7.8336 (boost 3.5066, 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.3813 -> 0.3164 (deboost -0.0649, 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_BB: 0.6053 -> 1.0000 (boost 0.3947, better) | predicted_RBI: 0.3633 -> 0.0000 (deboost -0.3633, worse) | AB rounded to 8 (raw=7.83), rates preserved: AVG=0.235 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 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2903 -> 0.3330 (boost 0.0427, better) | predicted_SLG: 0.3164 -> 0.2500 (deboost -0.0664, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 1 | 3 | - | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3164 (boost 0.0664, better) | predicted_OBP: 0.3330 -> 0.2903 (deboost -0.0427, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694362",
"player_name": "Blake Dunn",
"position": "CF",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.109,
"predicted_3B": 0.018,
"predicted_AB": 4.327,
"predicted_AVG": 0.234,
"predicted_BB": 0.364,
"predicted_H": 0.35,
"predicted_HR": 0.04,
"predicted_OBP": 0.299,
"predicted_R": 0.636,
"predicted_RBI": 0.12,
"predicted_SLG": 0.374,
"predicted_SO": 1.145
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2228,
"predicted_3B": 0.0277,
"predicted_AB": 7.8336,
"predicted_AVG": 0.2626,
"predicted_BB": 0.6017,
"predicted_H": 1.8113,
"predicted_HBP": 0.191,
"predicted_HR": 0.1169,
"predicted_OBP": 0.3241,
"predicted_R": 0.9699,
"predicted_RBI": 0.3519,
"predicted_SLG": 0.3813,
"predicted_SO": 2.0548
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.109,
"after": 0.2228,
"delta": 0.1138,
"percent_delta": 1.044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0277,
"delta": 0.0097,
"percent_delta": 0.5389,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.327,
"after": 7.8336,
"delta": 3.5066,
"percent_delta": 0.8104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2626,
"delta": 0.0286,
"percent_delta": 0.1222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.364,
"after": 0.6017,
"delta": 0.2377,
"percent_delta": 0.653,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.35,
"after": 1.8113,
"delta": 1.4613,
"percent_delta": 4.1751,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.1169,
"delta": 0.0769,
"percent_delta": 1.9225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.3241,
"delta": 0.0251,
"percent_delta": 0.0839,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.636,
"after": 0.9699,
"delta": 0.3339,
"percent_delta": 0.525,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 0.3519,
"delta": 0.2319,
"percent_delta": 1.9325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3813,
"delta": 0.0073,
"percent_delta": 0.0195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.145,
"after": 2.0548,
"delta": 0.9098,
"percent_delta": 0.7946,
"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.327,
"after": 7.8336,
"delta": 3.5066,
"percent_delta": 0.8104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 15
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2228,
"predicted_3B": 0.0277,
"predicted_AB": 7.8336,
"predicted_AVG": 0.2354,
"predicted_BB": 0.6053,
"predicted_H": 1.8441,
"predicted_HBP": 0.191,
"predicted_HR": 0.1187,
"predicted_OBP": 0.2903,
"predicted_R": 1.0014,
"predicted_RBI": 0.3633,
"predicted_SLG": 0.3164,
"predicted_SO": 2.0425
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2228,
"after": 0.2228,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0277,
"after": 0.0277,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.8336,
"after": 7.8336,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2626,
"after": 0.2354,
"delta": -0.0272,
"percent_delta": -0.1036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6017,
"after": 0.6053,
"delta": 0.0036,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8113,
"after": 1.8441,
"delta": 0.0328,
"percent_delta": 0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.191,
"after": 0.191,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1169,
"after": 0.1187,
"delta": 0.0018,
"percent_delta": 0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3241,
"after": 0.2903,
"delta": -0.0338,
"percent_delta": -0.1043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9699,
"after": 1.0014,
"delta": 0.0315,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3519,
"after": 0.3633,
"delta": 0.0114,
"percent_delta": 0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3813,
"after": 0.3164,
"delta": -0.0649,
"percent_delta": -0.1702,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0548,
"after": 2.0425,
"delta": -0.0123,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3813,
"after": 0.3164,
"delta": -0.0649,
"percent_delta": -0.1702,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.83), rates preserved: AVG=0.235 HR/AB=0.015",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2228,
"after": 0.0,
"delta": -0.2228,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0277,
"after": 0.0,
"delta": -0.0277,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.8336,
"after": 8.0,
"delta": 0.1664,
"percent_delta": 0.0212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6053,
"after": 1.0,
"delta": 0.3947,
"percent_delta": 0.6521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.8441,
"after": 2.0,
"delta": 0.1559,
"percent_delta": 0.0845,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.191,
"after": 0.0,
"delta": -0.191,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1187,
"after": 0.0,
"delta": -0.1187,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3633,
"after": 0.0,
"delta": -0.3633,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0425,
"after": 2.0,
"delta": -0.0425,
"percent_delta": -0.0208,
"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_BB",
"before": 0.6053,
"after": 1.0,
"delta": 0.3947,
"percent_delta": 0.6521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.0014,
"after": 1.0,
"delta": -0.0014,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 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": 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.2354,
"after": 0.25,
"delta": 0.0146,
"percent_delta": 0.062,
"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.2903,
"after": 0.333,
"delta": 0.0427,
"percent_delta": 0.1471,
"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.3164,
"after": 0.25,
"delta": -0.0664,
"percent_delta": -0.2099,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2903,
"after": 0.333,
"delta": 0.0427,
"percent_delta": 0.1471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3164,
"after": 0.25,
"delta": -0.0664,
"percent_delta": -0.2099,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"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": 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.2354,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2903,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3164,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2354,
"delta": -0.0146,
"percent_delta": -0.0584,
"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.2903,
"delta": -0.0427,
"percent_delta": -0.1284,
"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.3164,
"delta": 0.0664,
"percent_delta": 0.2655,
"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.3164,
"delta": 0.0664,
"percent_delta": 0.2655,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2903,
"delta": -0.0427,
"percent_delta": -0.1284,
"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.109,
"after": 0.0,
"delta": -0.109,
"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.327,
"after": 4.0,
"delta": -0.327,
"percent_delta": -0.0756,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2354,
"delta": 0.0014,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.364,
"after": 0.0,
"delta": -0.364,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.35,
"after": 1.0,
"delta": 0.65,
"percent_delta": 1.8571,
"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.299,
"after": 0.2903,
"delta": -0.0087,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.636,
"after": 1.0,
"delta": 0.364,
"percent_delta": 0.5723,
"direction": "boost",
"projection_effect": "better",
"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.374,
"after": 0.3164,
"delta": -0.0576,
"percent_delta": -0.154,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.145,
"after": 1.0,
"delta": -0.145,
"percent_delta": -0.1266,
"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": 0.35,
"after": 1.0,
"delta": 0.65,
"percent_delta": 1.8571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.364,
"after": 0.0,
"delta": -0.364,
"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.109 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 4.327 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.364 | - |
| predicted_H | 0.350 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.299 | - |
| predicted_R | 0.636 | - |
| predicted_RBI | 0.120 | - |
| predicted_SLG | 0.374 | - |
| predicted_SO | 1.145 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.223 | 0.114 |
| predicted_3B | 0.028 | 0.010 |
| predicted_AB | 7.834 | 3.507 |
| predicted_AVG | 0.263 | 0.029 |
| predicted_BB | 0.602 | 0.238 |
| predicted_H | 1.811 | 1.461 |
| predicted_HBP | 0.191 | - |
| predicted_HR | 0.117 | 0.077 |
| predicted_OBP | 0.324 | 0.025 |
| predicted_R | 0.970 | 0.334 |
| predicted_RBI | 0.352 | 0.232 |
| predicted_SLG | 0.381 | 0.007 |
| predicted_SO | 2.055 | 0.910 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.223 | 0.000 |
| predicted_3B | 0.028 | 0.000 |
| predicted_AB | 7.834 | 0.000 |
| predicted_AVG | 0.235 | -0.027 |
| predicted_BB | 0.605 | 0.004 |
| predicted_H | 1.844 | 0.033 |
| predicted_HBP | 0.191 | 0.000 |
| predicted_HR | 0.119 | 0.002 |
| predicted_OBP | 0.290 | -0.034 |
| predicted_R | 1.001 | 0.032 |
| predicted_RBI | 0.363 | 0.011 |
| predicted_SLG | 0.316 | -0.065 |
| predicted_SO | 2.042 | -0.012 |
AB rounded to 8 (raw=7.83), rates preserved: AVG=0.235 HR/AB=0.015
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 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 | 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.223 |
| predicted_3B | 0.000 | -0.028 |
| predicted_AB | 8.000 | 0.166 |
| predicted_AVG | 0.250 | 0.015 |
| predicted_BB | 1.000 | 0.395 |
| predicted_H | 2.000 | 0.156 |
| predicted_HR | 0.000 | -0.119 |
| predicted_OBP | 0.333 | 0.043 |
| predicted_R | 1.000 | -0.001 |
| predicted_RBI | 0.000 | -0.363 |
| predicted_SLG | 0.250 | -0.066 |
| 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 | 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 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 25.000 | 7.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 7.000 | 0.2800 | 0.3077 | 0.3200 | 0.2800 | 0.0000 | 0.0000 | 0.0400 | 0.2800 |
| last_10 | 0.20 | 5 | - | 53.000 | 20.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 12.000 | 0.3774 | 0.4000 | 0.3962 | 0.3774 | 0.0000 | 0.0000 | 0.0377 | 0.2264 |
| season | 0.60 | 15 | - | 238.000 | 74.000 | 6.000 | 1.000 | 5.000 | 14.000 | 35.000 | 20.000 | 63.000 | 0.3109 | 0.3764 | 0.4076 | 0.3109 | 0.0210 | 0.0588 | 0.0840 | 0.2647 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3800 |
| predicted_3B | 0.0410 |
| predicted_AB | 12.6750 |
| predicted_AVG | 0.3021 |
| predicted_BB | 0.9300 |
| predicted_H | 3.8290 |
| predicted_HBP | 0.1910 |
| predicted_HR | 0.2230 |
| predicted_OBP | 0.3587 |
| predicted_R | 1.4310 |
| predicted_RBI | 0.6720 |
| predicted_SLG | 0.3914 |
| predicted_SO | 3.3110 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1090 | 0.3800 | 0.2228 | model_form_blend |
| predicted_3B | 0.0180 | 0.0410 | 0.0277 | model_form_blend |
| predicted_AB | 4.3270 | 12.6750 | 7.8336 | model_form_blend |
| predicted_AVG | 0.2340 | 0.3021 | 0.2626 | model_form_blend |
| predicted_BB | 0.3640 | 0.9300 | 0.6017 | model_form_blend |
| predicted_H | 0.3500 | 3.8290 | 1.8113 | model_form_blend |
| predicted_HBP | - | 0.1910 | 0.1910 | form_only |
| predicted_HR | 0.0400 | 0.2230 | 0.1169 | model_form_blend |
| predicted_OBP | 0.2990 | 0.3587 | 0.3241 | model_form_blend |
| predicted_R | 0.6360 | 1.4310 | 0.9699 | model_form_blend |
| predicted_RBI | 0.1200 | 0.6720 | 0.3519 | model_form_blend |
| predicted_SLG | 0.3740 | 0.3914 | 0.3813 | model_form_blend |
| predicted_SO | 1.1450 | 3.3110 | 2.0548 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 58 |
| Season rows before report date | 58 |
| Report year | 2026 |
| Profile rows used | 55 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.311 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260531_ATL@CIN |
| game_type | full |
| mlbID | 694362 |
| playerID | 694362 |
| playerName | Blake Dunn |
| pos | RF |
| started | True |
| startingPosition | CF |
| team | CIN |
| teamID | 7 |
| game_date | 2026-05-31 |
| sl_k_percent | 21.5 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.36 |
| sl_xwoba | 0.288 |
| sl_xba | 0.235 |
| sl_xslg | 0.332 |
| sl_sweet_spot_percent | 37.8 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 31.1 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 10.6 |
| sl_whiff_percent | 32.1 |
| 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_2B | 0.270 | 0.000 | 1.000 | Hitting_2B | 0.270 | 2.000 | -0.270 | -2.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 | 8.000 | Hitting_AB | 3.826 | 4.000 | 0.174 | 0.000 |
| predicted_AVG | 0.266 | 0.500 | 0.250 | Hitting_AVG | 0.282 | 0.500 | 0.218 | 0.000 |
| predicted_BB | 0.591 | 0.000 | 1.000 | Hitting_BB | 0.591 | 0.000 | -0.591 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_H | 1.090 | 2.000 | 2.000 | Hitting_H | 1.078 | 2.000 | 0.922 | 0.000 |
| predicted_HR | 0.240 | 1.000 | 1.000 | Hitting_HR | 0.287 | 0.000 | 0.713 | 1.000 |
| predicted_OBP | 0.370 | 0.500 | 0.333 | Hitting_OBP | 0.375 | 0.500 | 0.125 | 0.000 |
| predicted_R | 0.600 | 1.000 | 1.000 | Hitting_R | 0.600 | 0.000 | 0.400 | 1.000 |
| predicted_RBI | 0.720 | 3.000 | 2.000 | Hitting_RBI | 0.896 | 2.000 | 2.104 | 1.000 |
| predicted_SLG | 0.553 | 1.250 | 0.750 | Hitting_SLG | 0.595 | 1.000 | 0.655 | 0.250 |
| predicted_SO | 0.948 | 1.000 | 2.000 | Hitting_SO | 0.948 | 1.000 | 0.052 | 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.7200 -> 3.0000 (boost 2.2800, better) |
| Biggest Deboost | predicted_BB: 0.5910 -> 0.0000 (deboost -0.5910, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.0800 -> 7.6232 (boost 3.5432, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 4 | 0 | 4 | 0 | predicted_RBI: 1.6223 -> 1.6750 (boost 0.0527, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 5 | 3 | 4 | 4 | predicted_2B: 0.5502 -> 1.0000 (boost 0.4498, better) | predicted_H: 2.1808 -> 2.0000 (deboost -0.1808, worse) | AB rounded to 8 (raw=7.62), rates preserved: AVG=0.286 HR/AB=0.073 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1333 -> 1.0000 (deboost -0.1333, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.5907 -> 0.7500 (boost 0.1593, better) | predicted_OBP: 0.3790 -> 0.3330 (deboost -0.0460, 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_RBI: 2.0000 -> 3.0000 (boost 1.0000, better) | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3330 -> 0.3790 (boost 0.0460, better) | predicted_SLG: 0.7500 -> 0.5907 (deboost -0.1593, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668709",
"player_name": "JJ Bleday",
"position": "LF",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.27,
"predicted_3B": 0.035,
"predicted_AB": 4.08,
"predicted_AVG": 0.266,
"predicted_BB": 0.591,
"predicted_H": 1.09,
"predicted_HR": 0.24,
"predicted_OBP": 0.37,
"predicted_R": 0.6,
"predicted_RBI": 0.72,
"predicted_SLG": 0.553,
"predicted_SO": 0.948
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.5502,
"predicted_3B": 0.055,
"predicted_AB": 7.6232,
"predicted_AVG": 0.2751,
"predicted_BB": 1.1345,
"predicted_H": 2.142,
"predicted_HBP": 0.006,
"predicted_HR": 0.5458,
"predicted_OBP": 0.3736,
"predicted_R": 1.0976,
"predicted_RBI": 1.6223,
"predicted_SLG": 0.5763,
"predicted_SO": 1.6173
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.27,
"after": 0.5502,
"delta": 0.2802,
"percent_delta": 1.0378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.035,
"after": 0.055,
"delta": 0.02,
"percent_delta": 0.5714,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.08,
"after": 7.6232,
"delta": 3.5432,
"percent_delta": 0.8684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2751,
"delta": 0.0091,
"percent_delta": 0.0342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.591,
"after": 1.1345,
"delta": 0.5435,
"percent_delta": 0.9196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 2.142,
"delta": 1.052,
"percent_delta": 0.9651,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 0.5458,
"delta": 0.3058,
"percent_delta": 1.2742,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.37,
"after": 0.3736,
"delta": 0.0036,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6,
"after": 1.0976,
"delta": 0.4976,
"percent_delta": 0.8293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.72,
"after": 1.6223,
"delta": 0.9023,
"percent_delta": 1.2532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.553,
"after": 0.5763,
"delta": 0.0233,
"percent_delta": 0.0421,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.948,
"after": 1.6173,
"delta": 0.6693,
"percent_delta": 0.706,
"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.08,
"after": 7.6232,
"delta": 3.5432,
"percent_delta": 0.8684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.5502,
"predicted_3B": 0.055,
"predicted_AB": 7.6232,
"predicted_AVG": 0.2861,
"predicted_BB": 1.1413,
"predicted_H": 2.1808,
"predicted_HBP": 0.006,
"predicted_HR": 0.5541,
"predicted_OBP": 0.379,
"predicted_R": 1.1333,
"predicted_RBI": 1.675,
"predicted_SLG": 0.5907,
"predicted_SO": 1.6076
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5502,
"after": 0.5502,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.055,
"after": 0.055,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.6232,
"after": 7.6232,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2751,
"after": 0.2861,
"delta": 0.011,
"percent_delta": 0.04,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1345,
"after": 1.1413,
"delta": 0.0068,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.142,
"after": 2.1808,
"delta": 0.0388,
"percent_delta": 0.0181,
"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.5458,
"after": 0.5541,
"delta": 0.0083,
"percent_delta": 0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3736,
"after": 0.379,
"delta": 0.0054,
"percent_delta": 0.0145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0976,
"after": 1.1333,
"delta": 0.0357,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.6223,
"after": 1.675,
"delta": 0.0527,
"percent_delta": 0.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5763,
"after": 0.5907,
"delta": 0.0144,
"percent_delta": 0.025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6173,
"after": 1.6076,
"delta": -0.0097,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.6223,
"after": 1.675,
"delta": 0.0527,
"percent_delta": 0.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.62), rates preserved: AVG=0.286 HR/AB=0.073",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5502,
"after": 1.0,
"delta": 0.4498,
"percent_delta": 0.8175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.055,
"after": 0.0,
"delta": -0.055,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.6232,
"after": 8.0,
"delta": 0.3768,
"percent_delta": 0.0494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1413,
"after": 1.0,
"delta": -0.1413,
"percent_delta": -0.1238,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.1808,
"after": 2.0,
"delta": -0.1808,
"percent_delta": -0.0829,
"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.5541,
"after": 1.0,
"delta": 0.4459,
"percent_delta": 0.8047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.675,
"after": 2.0,
"delta": 0.325,
"percent_delta": 0.194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6076,
"after": 2.0,
"delta": 0.3924,
"percent_delta": 0.2441,
"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_2B",
"before": 0.5502,
"after": 1.0,
"delta": 0.4498,
"percent_delta": 0.8175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.1808,
"after": 2.0,
"delta": -0.1808,
"percent_delta": -0.0829,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 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": 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.1333,
"after": 1.0,
"delta": -0.1333,
"percent_delta": -0.1176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.1333,
"after": 1.0,
"delta": -0.1333,
"percent_delta": -0.1176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SLG": 0.75,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2861,
"after": 0.25,
"delta": -0.0361,
"percent_delta": -0.1262,
"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.379,
"after": 0.333,
"delta": -0.046,
"percent_delta": -0.1214,
"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.5907,
"after": 0.75,
"delta": 0.1593,
"percent_delta": 0.2697,
"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.5907,
"after": 0.75,
"delta": 0.1593,
"percent_delta": 0.2697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.379,
"after": 0.333,
"delta": -0.046,
"percent_delta": -0.1214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 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.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": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 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_RBI",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 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.2861,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.379,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5907,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2861,
"delta": 0.0361,
"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": 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.333,
"after": 0.379,
"delta": 0.046,
"percent_delta": 0.1383,
"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.75,
"after": 0.5907,
"delta": -0.1593,
"percent_delta": -0.2124,
"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.333,
"after": 0.379,
"delta": 0.046,
"percent_delta": 0.1383,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.75,
"after": 0.5907,
"delta": -0.1593,
"percent_delta": -0.2124,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.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.266,
"after": 0.2861,
"delta": 0.0201,
"percent_delta": 0.0756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.591,
"after": 0.0,
"delta": -0.591,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 2.0,
"delta": 0.91,
"percent_delta": 0.8349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 1.0,
"delta": 0.76,
"percent_delta": 3.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.37,
"after": 0.379,
"delta": 0.009,
"percent_delta": 0.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6,
"after": 1.0,
"delta": 0.4,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.72,
"after": 3.0,
"delta": 2.28,
"percent_delta": 3.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.553,
"after": 0.5907,
"delta": 0.0377,
"percent_delta": 0.0682,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.948,
"after": 1.0,
"delta": 0.052,
"percent_delta": 0.0549,
"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.72,
"after": 3.0,
"delta": 2.28,
"percent_delta": 3.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.591,
"after": 0.0,
"delta": -0.591,
"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.270 | - |
| predicted_3B | 0.035 | - |
| predicted_AB | 4.080 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.591 | - |
| predicted_H | 1.090 | - |
| predicted_HR | 0.240 | - |
| predicted_OBP | 0.370 | - |
| predicted_R | 0.600 | - |
| predicted_RBI | 0.720 | - |
| predicted_SLG | 0.553 | - |
| predicted_SO | 0.948 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.550 | 0.280 |
| predicted_3B | 0.055 | 0.020 |
| predicted_AB | 7.623 | 3.543 |
| predicted_AVG | 0.275 | 0.009 |
| predicted_BB | 1.135 | 0.544 |
| predicted_H | 2.142 | 1.052 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.546 | 0.306 |
| predicted_OBP | 0.374 | 0.004 |
| predicted_R | 1.098 | 0.498 |
| predicted_RBI | 1.622 | 0.902 |
| predicted_SLG | 0.576 | 0.023 |
| predicted_SO | 1.617 | 0.669 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.550 | 0.000 |
| predicted_3B | 0.055 | 0.000 |
| predicted_AB | 7.623 | 0.000 |
| predicted_AVG | 0.286 | 0.011 |
| predicted_BB | 1.141 | 0.007 |
| predicted_H | 2.181 | 0.039 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.554 | 0.008 |
| predicted_OBP | 0.379 | 0.005 |
| predicted_R | 1.133 | 0.036 |
| predicted_RBI | 1.675 | 0.053 |
| predicted_SLG | 0.591 | 0.014 |
| predicted_SO | 1.608 | -0.010 |
AB rounded to 8 (raw=7.62), rates preserved: AVG=0.286 HR/AB=0.073
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 1.000 | - |
| RBI | 2.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.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 | 1.000 | 0.450 |
| predicted_3B | 0.000 | -0.055 |
| predicted_AB | 8.000 | 0.377 |
| predicted_AVG | 0.250 | -0.036 |
| predicted_BB | 1.000 | -0.141 |
| predicted_H | 2.000 | -0.181 |
| predicted_HR | 1.000 | 0.446 |
| predicted_OBP | 0.333 | -0.046 |
| predicted_R | 1.000 | -0.133 |
| predicted_RBI | 2.000 | 0.325 |
| predicted_SLG | 0.750 | 0.159 |
| predicted_SO | 2.000 | 0.392 |
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 | 1.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 3.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 19.000 | 6.000 | 2.000 | 0.000 | 2.000 | 5.000 | 2.000 | 3.000 | 1.000 | 0.3158 | 0.4091 | 0.7368 | 0.3158 | 0.1053 | 0.2632 | 0.1579 | 0.0526 |
| last_10 | 0.20 | 5 | - | 41.000 | 12.000 | 2.000 | 0.000 | 2.000 | 5.000 | 4.000 | 6.000 | 5.000 | 0.2927 | 0.3830 | 0.4878 | 0.2927 | 0.0488 | 0.1220 | 0.1463 | 0.1220 |
| season | 0.60 | 29 | - | 440.000 | 124.000 | 31.000 | 4.000 | 33.000 | 103.000 | 69.000 | 68.000 | 109.000 | 0.2818 | 0.3750 | 0.5955 | 0.2818 | 0.0750 | 0.2341 | 0.1545 | 0.2477 |
| Metric | Value |
|---|---|
| predicted_2B | 0.9160 |
| predicted_3B | 0.0810 |
| predicted_AB | 12.2480 |
| predicted_AVG | 0.2870 |
| predicted_BB | 1.8440 |
| predicted_H | 3.5150 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.9450 |
| predicted_OBP | 0.3784 |
| predicted_R | 1.7470 |
| predicted_RBI | 2.8000 |
| predicted_SLG | 0.6067 |
| predicted_SO | 2.4910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2700 | 0.9160 | 0.5502 | model_form_blend |
| predicted_3B | 0.0350 | 0.0810 | 0.0550 | model_form_blend |
| predicted_AB | 4.0800 | 12.2480 | 7.6232 | model_form_blend |
| predicted_AVG | 0.2660 | 0.2870 | 0.2751 | model_form_blend |
| predicted_BB | 0.5910 | 1.8440 | 1.1345 | model_form_blend |
| predicted_H | 1.0900 | 3.5150 | 2.1420 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.2400 | 0.9450 | 0.5458 | model_form_blend |
| predicted_OBP | 0.3700 | 0.3784 | 0.3736 | model_form_blend |
| predicted_R | 0.6000 | 1.7470 | 1.0976 | model_form_blend |
| predicted_RBI | 0.7200 | 2.8000 | 1.6223 | model_form_blend |
| predicted_SLG | 0.5530 | 0.6067 | 0.5763 | model_form_blend |
| predicted_SO | 0.9480 | 2.4910 | 1.6173 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.282 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 2 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| 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 | 20260531_ATL@CIN |
| game_type | full |
| mlbID | 668709 |
| playerID | 668709 |
| playerName | JJ Bleday |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | CIN |
| teamID | 7 |
| game_date | 2026-05-31 |
| sl_k_percent | 16.9 |
| sl_bb_percent | 14.5 |
| sl_woba | 0.434 |
| sl_xwoba | 0.416 |
| sl_xba | 0.292 |
| sl_xslg | 0.564 |
| sl_sweet_spot_percent | 43.5 |
| sl_barrel_batted_rate | 14.3 |
| sl_hard_hit_percent | 49.4 |
| sl_exit_velocity_avg | 91.0 |
| sl_launch_angle_avg | 20.6 |
| sl_whiff_percent | 27.3 |
| sl_swing_percent | 46.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.149 | 0.000 | 0.000 | Hitting_2B | 0.149 | 0.000 | -0.149 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.070 | 4.000 | 8.000 | Hitting_AB | 3.739 | 3.000 | 0.261 | 1.000 |
| predicted_AVG | 0.254 | 0.250 | 0.250 | Hitting_AVG | 0.249 | 0.333 | 0.001 | -0.083 |
| predicted_BB | 0.647 | 0.000 | 1.000 | Hitting_BB | 0.647 | 1.000 | -0.647 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_H | 1.030 | 1.000 | 2.000 | Hitting_H | 0.929 | 1.000 | 0.071 | 0.000 |
| predicted_HR | 0.170 | 1.000 | 0.000 | Hitting_HR | 0.203 | 0.000 | 0.797 | 1.000 |
| predicted_OBP | 0.362 | 0.250 | 0.333 | Hitting_OBP | 0.358 | 0.500 | -0.108 | -0.250 |
| predicted_R | 0.598 | 1.000 | 1.000 | Hitting_R | 0.598 | 0.000 | 0.402 | 1.000 |
| predicted_RBI | 0.600 | 1.000 | 1.000 | Hitting_RBI | 0.664 | 0.000 | 0.336 | 1.000 |
| predicted_SLG | 0.460 | 1.000 | 0.250 | Hitting_SLG | 0.452 | 0.333 | 0.548 | 0.667 |
| predicted_SO | 0.851 | 1.000 | 2.000 | Hitting_SO | 0.851 | 1.000 | 0.149 | 0.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_HR: 0.1700 -> 1.0000 (boost 0.8300, better) |
| Biggest Deboost | predicted_BB: 0.6470 -> 0.0000 (deboost -0.6470, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.0700 -> 8.0002 (boost 3.9302, better) | predicted_SLG: 0.4600 -> 0.4513 (deboost -0.0087, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2589 -> 0.2664 (boost 0.0075, better) | predicted_SLG: 0.4513 -> 0.4397 (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 | 6 | 1 | 5 | 0 | 6 | predicted_SO: 1.7590 -> 2.0000 (boost 0.2410, worse) | predicted_2B: 0.3886 -> 0.0000 (deboost -0.3886, worse) | AB rounded to 8 (raw=8.00), rates preserved: AVG=0.266 HR/AB=0.042 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.0688 -> 1.0000 (deboost -0.0688, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4397 -> 0.2500 (deboost -0.1897, 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_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4397 (boost 0.1897, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701398",
"player_name": "Sal Stewart",
"position": "3B",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.149,
"predicted_3B": 0.0,
"predicted_AB": 4.07,
"predicted_AVG": 0.254,
"predicted_BB": 0.647,
"predicted_H": 1.03,
"predicted_HR": 0.17,
"predicted_OBP": 0.362,
"predicted_R": 0.598,
"predicted_RBI": 0.6,
"predicted_SLG": 0.46,
"predicted_SO": 0.851
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3886,
"predicted_3B": 0.0004,
"predicted_AB": 8.0002,
"predicted_AVG": 0.2589,
"predicted_BB": 1.3136,
"predicted_H": 2.0931,
"predicted_HBP": 0.045,
"predicted_HR": 0.3274,
"predicted_OBP": 0.3651,
"predicted_R": 1.0352,
"predicted_RBI": 1.328,
"predicted_SLG": 0.4513,
"predicted_SO": 1.7696
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.149,
"after": 0.3886,
"delta": 0.2396,
"percent_delta": 1.6081,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.07,
"after": 8.0002,
"delta": 3.9302,
"percent_delta": 0.9657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2589,
"delta": 0.0049,
"percent_delta": 0.0193,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.647,
"after": 1.3136,
"delta": 0.6666,
"percent_delta": 1.0303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 2.0931,
"delta": 1.0631,
"percent_delta": 1.0321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.3274,
"delta": 0.1574,
"percent_delta": 0.9259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.362,
"after": 0.3651,
"delta": 0.0031,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.598,
"after": 1.0352,
"delta": 0.4372,
"percent_delta": 0.7311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 1.328,
"delta": 0.728,
"percent_delta": 1.2133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.46,
"after": 0.4513,
"delta": -0.0087,
"percent_delta": -0.0189,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.851,
"after": 1.7696,
"delta": 0.9186,
"percent_delta": 1.0794,
"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.07,
"after": 8.0002,
"delta": 3.9302,
"percent_delta": 0.9657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.46,
"after": 0.4513,
"delta": -0.0087,
"percent_delta": -0.0189,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 57
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.3886,
"predicted_3B": 0.0004,
"predicted_AB": 8.0002,
"predicted_AVG": 0.2664,
"predicted_BB": 1.3215,
"predicted_H": 2.131,
"predicted_HBP": 0.045,
"predicted_HR": 0.3324,
"predicted_OBP": 0.3704,
"predicted_R": 1.0688,
"predicted_RBI": 1.3712,
"predicted_SLG": 0.4397,
"predicted_SO": 1.759
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3886,
"after": 0.3886,
"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.0002,
"after": 8.0002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2589,
"after": 0.2664,
"delta": 0.0075,
"percent_delta": 0.029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.3136,
"after": 1.3215,
"delta": 0.0079,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0931,
"after": 2.131,
"delta": 0.0379,
"percent_delta": 0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.045,
"after": 0.045,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3274,
"after": 0.3324,
"delta": 0.005,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3651,
"after": 0.3704,
"delta": 0.0053,
"percent_delta": 0.0145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0352,
"after": 1.0688,
"delta": 0.0336,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.328,
"after": 1.3712,
"delta": 0.0432,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4513,
"after": 0.4397,
"delta": -0.0116,
"percent_delta": -0.0257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7696,
"after": 1.759,
"delta": -0.0106,
"percent_delta": -0.006,
"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.2589,
"after": 0.2664,
"delta": 0.0075,
"percent_delta": 0.029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4513,
"after": 0.4397,
"delta": -0.0116,
"percent_delta": -0.0257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=8.00), rates preserved: AVG=0.266 HR/AB=0.042",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3886,
"after": 0.0,
"delta": -0.3886,
"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.0002,
"after": 8.0,
"delta": -0.0002,
"percent_delta": -0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.3215,
"after": 1.0,
"delta": -0.3215,
"percent_delta": -0.2433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.131,
"after": 2.0,
"delta": -0.131,
"percent_delta": -0.0615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.045,
"after": 0.0,
"delta": -0.045,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3324,
"after": 0.0,
"delta": -0.3324,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3712,
"after": 1.0,
"delta": -0.3712,
"percent_delta": -0.2707,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.759,
"after": 2.0,
"delta": 0.241,
"percent_delta": 0.137,
"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.759,
"after": 2.0,
"delta": 0.241,
"percent_delta": 0.137,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3886,
"after": 0.0,
"delta": -0.3886,
"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.0688,
"after": 1.0,
"delta": -0.0688,
"percent_delta": -0.0644,
"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.0688,
"after": 1.0,
"delta": -0.0688,
"percent_delta": -0.0644,
"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.2664,
"after": 0.25,
"delta": -0.0164,
"percent_delta": -0.0616,
"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.3704,
"after": 0.333,
"delta": -0.0374,
"percent_delta": -0.101,
"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.4397,
"after": 0.25,
"delta": -0.1897,
"percent_delta": -0.4314,
"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.4397,
"after": 0.25,
"delta": -0.1897,
"percent_delta": -0.4314,
"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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"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_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 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.2664,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3704,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4397,
"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.25,
"after": 0.2664,
"delta": 0.0164,
"percent_delta": 0.0655,
"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.333,
"after": 0.3704,
"delta": 0.0374,
"percent_delta": 0.1122,
"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.4397,
"delta": 0.1897,
"percent_delta": 0.7587,
"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.4397,
"delta": 0.1897,
"percent_delta": 0.7587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.149,
"after": 0.0,
"delta": -0.149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.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.254,
"after": 0.2664,
"delta": 0.0124,
"percent_delta": 0.0488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.647,
"after": 0.0,
"delta": -0.647,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.0,
"delta": -0.03,
"percent_delta": -0.0291,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.362,
"after": 0.3704,
"delta": 0.0084,
"percent_delta": 0.0232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.598,
"after": 1.0,
"delta": 0.402,
"percent_delta": 0.6722,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 1.0,
"delta": 0.4,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.46,
"after": 0.4397,
"delta": -0.0203,
"percent_delta": -0.0441,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.851,
"after": 1.0,
"delta": 0.149,
"percent_delta": 0.1751,
"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_HR",
"before": 0.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.647,
"after": 0.0,
"delta": -0.647,
"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.149 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.070 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.647 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.362 | - |
| predicted_R | 0.598 | - |
| predicted_RBI | 0.600 | - |
| predicted_SLG | 0.460 | - |
| predicted_SO | 0.851 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.389 | 0.240 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.000 | 3.930 |
| predicted_AVG | 0.259 | 0.005 |
| predicted_BB | 1.314 | 0.667 |
| predicted_H | 2.093 | 1.063 |
| predicted_HBP | 0.045 | - |
| predicted_HR | 0.327 | 0.157 |
| predicted_OBP | 0.365 | 0.003 |
| predicted_R | 1.035 | 0.437 |
| predicted_RBI | 1.328 | 0.728 |
| predicted_SLG | 0.451 | -0.009 |
| predicted_SO | 1.770 | 0.919 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.389 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.000 | 0.000 |
| predicted_AVG | 0.266 | 0.008 |
| predicted_BB | 1.321 | 0.008 |
| predicted_H | 2.131 | 0.038 |
| predicted_HBP | 0.045 | 0.000 |
| predicted_HR | 0.332 | 0.005 |
| predicted_OBP | 0.370 | 0.005 |
| predicted_R | 1.069 | 0.034 |
| predicted_RBI | 1.371 | 0.043 |
| predicted_SLG | 0.440 | -0.012 |
| predicted_SO | 1.759 | -0.011 |
AB rounded to 8 (raw=8.00), rates preserved: AVG=0.266 HR/AB=0.042
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 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.389 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 8.000 | -0.000 |
| predicted_AVG | 0.250 | -0.016 |
| predicted_BB | 1.000 | -0.321 |
| predicted_H | 2.000 | -0.131 |
| predicted_HR | 0.000 | -0.332 |
| predicted_OBP | 0.333 | -0.037 |
| predicted_R | 1.000 | -0.069 |
| predicted_RBI | 1.000 | -0.371 |
| predicted_SLG | 0.250 | -0.190 |
| predicted_SO | 2.000 | 0.241 |
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 | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 19.000 | 6.000 | 2.000 | 0.000 | 0.000 | 3.000 | 0.000 | 3.000 | 4.000 | 0.3158 | 0.4091 | 0.4211 | 0.3158 | 0.0000 | 0.1579 | 0.1579 | 0.2105 |
| last_10 | 0.20 | 5 | - | 41.000 | 13.000 | 2.000 | 0.000 | 0.000 | 8.000 | 2.000 | 6.000 | 11.000 | 0.3171 | 0.4043 | 0.3659 | 0.3171 | 0.0000 | 0.1951 | 0.1463 | 0.2683 |
| season | 0.60 | 57 | - | 901.000 | 224.000 | 36.000 | 0.000 | 49.000 | 160.000 | 144.000 | 156.000 | 205.000 | 0.2486 | 0.3582 | 0.4517 | 0.2486 | 0.0544 | 0.1776 | 0.1731 | 0.2275 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6910 |
| predicted_3B | 0.0010 |
| predicted_AB | 12.9610 |
| predicted_AVG | 0.2650 |
| predicted_BB | 2.1550 |
| predicted_H | 3.4350 |
| predicted_HBP | 0.0450 |
| predicted_HR | 0.5260 |
| predicted_OBP | 0.3691 |
| predicted_R | 1.5870 |
| predicted_RBI | 2.2470 |
| predicted_SLG | 0.4404 |
| predicted_SO | 2.9290 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1490 | 0.6910 | 0.3886 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0700 | 12.9610 | 8.0002 | model_form_blend |
| predicted_AVG | 0.2540 | 0.2650 | 0.2589 | model_form_blend |
| predicted_BB | 0.6470 | 2.1550 | 1.3136 | model_form_blend |
| predicted_H | 1.0300 | 3.4350 | 2.0931 | model_form_blend |
| predicted_HBP | - | 0.0450 | 0.0450 | form_only |
| predicted_HR | 0.1700 | 0.5260 | 0.3274 | model_form_blend |
| predicted_OBP | 0.3620 | 0.3691 | 0.3651 | model_form_blend |
| predicted_R | 0.5980 | 1.5870 | 1.0352 | model_form_blend |
| predicted_RBI | 0.6000 | 2.2470 | 1.3280 | model_form_blend |
| predicted_SLG | 0.4600 | 0.4404 | 0.4513 | model_form_blend |
| predicted_SO | 0.8510 | 2.9290 | 1.7696 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.249 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260531_ATL@CIN |
| game_type | full |
| mlbID | 701398 |
| playerID | 701398 |
| playerName | Sal Stewart |
| pos | 1B |
| started | True |
| startingPosition | 3B |
| team | CIN |
| teamID | 7 |
| game_date | 2026-05-31 |
| sl_k_percent | 19.7 |
| sl_bb_percent | 12.4 |
| sl_woba | 0.362 |
| sl_xwoba | 0.371 |
| sl_xba | 0.267 |
| sl_xslg | 0.497 |
| sl_sweet_spot_percent | 35.7 |
| sl_barrel_batted_rate | 15.5 |
| sl_hard_hit_percent | 40.5 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 13.0 |
| sl_whiff_percent | 26.4 |
| sl_swing_percent | 49.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.174 | 0.000 | 0.000 | Hitting_2B | 0.174 | 0.000 | -0.174 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.800 | 3.000 | 7.000 | Hitting_AB | 3.669 | 3.000 | -0.669 | 0.000 |
| predicted_AVG | 0.220 | 0.000 | 0.143 | Hitting_AVG | 0.234 | 0.333 | -0.234 | -0.333 |
| predicted_BB | 0.405 | 1.000 | 1.000 | Hitting_BB | 0.405 | 0.000 | 0.595 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.840 | 0.000 | 1.000 | Hitting_H | 0.860 | 1.000 | -0.860 | -1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.091 | 1.000 | -0.091 | -1.000 |
| predicted_OBP | 0.287 | 0.250 | 0.250 | Hitting_OBP | 0.310 | 0.250 | -0.060 | 0.000 |
| predicted_R | 0.405 | 1.000 | 1.000 | Hitting_R | 0.405 | 1.000 | 0.595 | 0.000 |
| predicted_RBI | 0.500 | 0.000 | 1.000 | Hitting_RBI | 0.438 | 2.000 | -0.438 | -2.000 |
| predicted_SLG | 0.371 | 0.000 | 0.143 | Hitting_SLG | 0.356 | 1.333 | -0.356 | -1.333 |
| predicted_SO | 1.240 | 0.000 | 2.000 | Hitting_SO | 1.240 | 2.000 | -1.240 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.4050 -> 1.0000 (boost 0.5950, better) |
| Biggest Deboost | predicted_SO: 1.2400 -> 0.0000 (deboost -1.2400, 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.8000 -> 6.9938 (boost 3.1938, better) | predicted_SLG: 0.3710 -> 0.3543 (deboost -0.0167, 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.2904 -> 0.2998 (boost 0.0094, better) | predicted_SLG: 0.3543 -> 0.3490 (deboost -0.0053, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_RBI: 0.9019 -> 1.0000 (boost 0.0981, better) | predicted_H: 1.4581 -> 1.0000 (deboost -0.4581, worse) | AB rounded to 7 (raw=6.99), rates preserved: AVG=0.208 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7254 -> 1.0000 (boost 0.2746, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3490 -> 0.1430 (deboost -0.2060, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 1 | 3 | - | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1430 -> 0.3490 (boost 0.2060, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "553993",
"player_name": "Eugenio Suárez",
"position": "DH",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.174,
"predicted_3B": 0.0,
"predicted_AB": 3.8,
"predicted_AVG": 0.22,
"predicted_BB": 0.405,
"predicted_H": 0.84,
"predicted_HR": 0.13,
"predicted_OBP": 0.287,
"predicted_R": 0.405,
"predicted_RBI": 0.5,
"predicted_SLG": 0.371,
"predicted_SO": 1.24
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2866,
"predicted_3B": 0.0009,
"predicted_AB": 6.9938,
"predicted_AVG": 0.2103,
"predicted_BB": 0.9067,
"predicted_H": 1.4322,
"predicted_HBP": 0.006,
"predicted_HR": 0.2279,
"predicted_OBP": 0.2904,
"predicted_R": 0.7026,
"predicted_RBI": 0.8735,
"predicted_SLG": 0.3543,
"predicted_SO": 2.4444
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 0.2866,
"delta": 0.1126,
"percent_delta": 0.6471,
"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.8,
"after": 6.9938,
"delta": 3.1938,
"percent_delta": 0.8405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2103,
"delta": -0.0097,
"percent_delta": -0.0441,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.405,
"after": 0.9067,
"delta": 0.5017,
"percent_delta": 1.2388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 1.4322,
"delta": 0.5922,
"percent_delta": 0.705,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.2279,
"delta": 0.0979,
"percent_delta": 0.7531,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.2904,
"delta": 0.0034,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.405,
"after": 0.7026,
"delta": 0.2976,
"percent_delta": 0.7348,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.8735,
"delta": 0.3735,
"percent_delta": 0.747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3543,
"delta": -0.0167,
"percent_delta": -0.045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.24,
"after": 2.4444,
"delta": 1.2044,
"percent_delta": 0.9713,
"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.8,
"after": 6.9938,
"delta": 3.1938,
"percent_delta": 0.8405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3543,
"delta": -0.0167,
"percent_delta": -0.045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.2866,
"predicted_3B": 0.0009,
"predicted_AB": 6.9938,
"predicted_AVG": 0.2085,
"predicted_BB": 0.9121,
"predicted_H": 1.4581,
"predicted_HBP": 0.006,
"predicted_HR": 0.2314,
"predicted_OBP": 0.2998,
"predicted_R": 0.7254,
"predicted_RBI": 0.9019,
"predicted_SLG": 0.349,
"predicted_SO": 2.4297
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2866,
"after": 0.2866,
"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.9938,
"after": 6.9938,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2103,
"after": 0.2085,
"delta": -0.0018,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.9067,
"after": 0.9121,
"delta": 0.0054,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4322,
"after": 1.4581,
"delta": 0.0259,
"percent_delta": 0.0181,
"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.2279,
"after": 0.2314,
"delta": 0.0035,
"percent_delta": 0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2904,
"after": 0.2998,
"delta": 0.0094,
"percent_delta": 0.0324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7026,
"after": 0.7254,
"delta": 0.0228,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8735,
"after": 0.9019,
"delta": 0.0284,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3543,
"after": 0.349,
"delta": -0.0053,
"percent_delta": -0.015,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.4444,
"after": 2.4297,
"delta": -0.0147,
"percent_delta": -0.006,
"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.2904,
"after": 0.2998,
"delta": 0.0094,
"percent_delta": 0.0324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3543,
"after": 0.349,
"delta": -0.0053,
"percent_delta": -0.015,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.99), rates preserved: AVG=0.208 HR/AB=0.033",
"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.2866,
"after": 0.0,
"delta": -0.2866,
"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.9938,
"after": 7.0,
"delta": 0.0062,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.9121,
"after": 1.0,
"delta": 0.0879,
"percent_delta": 0.0964,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4581,
"after": 1.0,
"delta": -0.4581,
"percent_delta": -0.3142,
"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.2314,
"after": 0.0,
"delta": -0.2314,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9019,
"after": 1.0,
"delta": 0.0981,
"percent_delta": 0.1088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.4297,
"after": 2.0,
"delta": -0.4297,
"percent_delta": -0.1769,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.9019,
"after": 1.0,
"delta": 0.0981,
"percent_delta": 0.1088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.4581,
"after": 1.0,
"delta": -0.4581,
"percent_delta": -0.3142,
"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.7254,
"after": 1.0,
"delta": 0.2746,
"percent_delta": 0.3785,
"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.7254,
"after": 1.0,
"delta": 0.2746,
"percent_delta": 0.3785,
"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.2085,
"after": 0.143,
"delta": -0.0655,
"percent_delta": -0.3141,
"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.2998,
"after": 0.25,
"delta": -0.0498,
"percent_delta": -0.1661,
"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.349,
"after": 0.143,
"delta": -0.206,
"percent_delta": -0.5903,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.349,
"after": 0.143,
"delta": -0.206,
"percent_delta": -0.5903,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 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.2085,
"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.2998,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.349,
"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.2085,
"delta": 0.0655,
"percent_delta": 0.458,
"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.2998,
"delta": 0.0498,
"percent_delta": 0.1992,
"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.349,
"delta": 0.206,
"percent_delta": 1.4403,
"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.349,
"delta": 0.206,
"percent_delta": 1.4403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 0.0,
"delta": -0.174,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8,
"after": 3.0,
"delta": -0.8,
"percent_delta": -0.2105,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2085,
"delta": -0.0115,
"percent_delta": -0.0523,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.405,
"after": 1.0,
"delta": 0.595,
"percent_delta": 1.4691,
"direction": "boost",
"projection_effect": "better",
"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.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.2998,
"delta": 0.0128,
"percent_delta": 0.0446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.405,
"after": 1.0,
"delta": 0.595,
"percent_delta": 1.4691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.349,
"delta": -0.022,
"percent_delta": -0.0593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.24,
"after": 0.0,
"delta": -1.24,
"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.405,
"after": 1.0,
"delta": 0.595,
"percent_delta": 1.4691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.24,
"after": 0.0,
"delta": -1.24,
"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.174 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.800 | - |
| predicted_AVG | 0.220 | - |
| predicted_BB | 0.405 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.287 | - |
| predicted_R | 0.405 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.371 | - |
| predicted_SO | 1.240 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.287 | 0.113 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.994 | 3.194 |
| predicted_AVG | 0.210 | -0.010 |
| predicted_BB | 0.907 | 0.502 |
| predicted_H | 1.432 | 0.592 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.228 | 0.098 |
| predicted_OBP | 0.290 | 0.003 |
| predicted_R | 0.703 | 0.298 |
| predicted_RBI | 0.874 | 0.374 |
| predicted_SLG | 0.354 | -0.017 |
| predicted_SO | 2.444 | 1.204 |
Step 3: 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 | 6.994 | 0.000 |
| predicted_AVG | 0.208 | -0.002 |
| predicted_BB | 0.912 | 0.005 |
| predicted_H | 1.458 | 0.026 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.231 | 0.004 |
| predicted_OBP | 0.300 | 0.009 |
| predicted_R | 0.725 | 0.023 |
| predicted_RBI | 0.902 | 0.028 |
| predicted_SLG | 0.349 | -0.005 |
| predicted_SO | 2.430 | -0.015 |
AB rounded to 7 (raw=6.99), rates preserved: AVG=0.208 HR/AB=0.033
| 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.287 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | 0.006 |
| predicted_AVG | 0.143 | -0.066 |
| predicted_BB | 1.000 | 0.088 |
| predicted_H | 1.000 | -0.458 |
| predicted_HR | 0.000 | -0.231 |
| predicted_OBP | 0.250 | -0.050 |
| predicted_R | 1.000 | 0.275 |
| predicted_RBI | 1.000 | 0.098 |
| predicted_SLG | 0.143 | -0.206 |
| predicted_SO | 2.000 | -0.430 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -4.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -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 | 4 | - | 17.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 4.000 | 8.000 | 0.0588 | 0.2273 | 0.2353 | 0.0588 | 0.0588 | 0.1177 | 0.2353 | 0.4706 |
| last_10 | 0.20 | 5 | - | 36.000 | 5.000 | 2.000 | 0.000 | 1.000 | 6.000 | 1.000 | 10.000 | 15.000 | 0.1389 | 0.3191 | 0.2778 | 0.1389 | 0.0278 | 0.1667 | 0.2778 | 0.4167 |
| season | 0.60 | 32 | - | 444.000 | 104.000 | 21.000 | 0.000 | 11.000 | 53.000 | 49.000 | 49.000 | 150.000 | 0.2342 | 0.3097 | 0.3559 | 0.2342 | 0.0248 | 0.1194 | 0.1104 | 0.3378 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4340 |
| predicted_3B | 0.0020 |
| predicted_AB | 11.1720 |
| predicted_AVG | 0.1975 |
| predicted_BB | 1.5630 |
| predicted_H | 2.2070 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.3560 |
| predicted_OBP | 0.2948 |
| predicted_R | 1.0920 |
| predicted_RBI | 1.3620 |
| predicted_SLG | 0.3325 |
| predicted_SO | 4.0200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1740 | 0.4340 | 0.2866 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.8000 | 11.1720 | 6.9938 | model_form_blend |
| predicted_AVG | 0.2200 | 0.1975 | 0.2103 | model_form_blend |
| predicted_BB | 0.4050 | 1.5630 | 0.9067 | model_form_blend |
| predicted_H | 0.8400 | 2.2070 | 1.4322 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.1300 | 0.3560 | 0.2279 | model_form_blend |
| predicted_OBP | 0.2870 | 0.2948 | 0.2904 | model_form_blend |
| predicted_R | 0.4050 | 1.0920 | 0.7026 | model_form_blend |
| predicted_RBI | 0.5000 | 1.3620 | 0.8735 | model_form_blend |
| predicted_SLG | 0.3710 | 0.3325 | 0.3543 | model_form_blend |
| predicted_SO | 1.2400 | 4.0200 | 2.4444 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 121 |
| Season rows before report date | 121 |
| Report year | 2026 |
| Profile rows used | 121 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| 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 | 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 | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| Hitting_SO | 2 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260531_ATL@CIN |
| game_type | full |
| mlbID | 553993 |
| playerID | 553993 |
| playerName | Eugenio Suárez |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | CIN |
| teamID | 7 |
| game_date | 2026-05-31 |
| sl_k_percent | 30.2 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.294 |
| sl_xwoba | 0.288 |
| sl_xba | 0.211 |
| sl_xslg | 0.351 |
| sl_sweet_spot_percent | 38.7 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 25.3 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 20.4 |
| sl_whiff_percent | 32.6 |
| sl_swing_percent | 44.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.174 | 0.000 | 0.000 | Hitting_2B | - | - | - | - |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | - | - | - | - |
| predicted_AB | 3.617 | 4.000 | 4.000 | Hitting_AB | - | - | - | - |
| predicted_AVG | 0.254 | 0.250 | 0.250 | Hitting_AVG | - | - | - | - |
| predicted_BB | 0.381 | 0.000 | 0.000 | Hitting_BB | - | - | - | - |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | - | - | - | - |
| predicted_H | 0.918 | 1.000 | 1.000 | Hitting_H | - | - | - | - |
| predicted_HR | 0.089 | 0.000 | 0.000 | Hitting_HR | - | - | - | - |
| predicted_OBP | 0.325 | 0.250 | 0.250 | Hitting_OBP | - | - | - | - |
| predicted_R | 0.493 | 1.000 | 1.000 | Hitting_R | - | - | - | - |
| predicted_RBI | 0.445 | 0.000 | 1.000 | Hitting_RBI | - | - | - | - |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | - | - | - | - |
| predicted_SLG | 0.383 | 0.250 | 0.250 | Hitting_SLG | - | - | - | - |
| predicted_SO | 0.749 | 2.000 | 1.000 | Hitting_SO | - | - | - | - |
| 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_SO: 0.7490 -> 2.0000 (boost 1.2510, worse) |
| Biggest Deboost | predicted_RBI: 0.4450 -> 0.0000 (deboost -0.4450, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Final model input calibrated with local 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.3869 -> 0.3934 (boost 0.0065, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_RBI: 0.4696 -> 1.0000 (boost 0.5304, better) | predicted_BB: 0.3703 -> 0.0000 (deboost -0.3703, worse) | AB rounded to 4 (raw=3.66), rates preserved: AVG=0.258 HR/AB=0.027 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5090 -> 1.0000 (boost 0.4910, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3934 -> 0.2500 (deboost -0.1434, worse) | 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_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3934 (boost 0.1434, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695490",
"player_name": "Edwin Arroyo",
"position": "2B",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.174,
"predicted_3B": 0.014,
"predicted_AB": 3.617,
"predicted_AVG": 0.254,
"predicted_BB": 0.381,
"predicted_H": 0.918,
"predicted_HR": 0.089,
"predicted_OBP": 0.325,
"predicted_R": 0.493,
"predicted_RBI": 0.445,
"predicted_SLG": 0.383,
"predicted_SO": 0.749
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1764,
"predicted_3B": 0.0142,
"predicted_AB": 3.6565,
"predicted_AVG": 0.2534,
"predicted_BB": 0.3681,
"predicted_H": 0.9257,
"predicted_HBP": 0.035,
"predicted_HR": 0.0956,
"predicted_OBP": 0.3232,
"predicted_R": 0.493,
"predicted_RBI": 0.4548,
"predicted_SLG": 0.3869,
"predicted_SO": 0.7654
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 0.1764,
"delta": 0.0024,
"percent_delta": 0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0142,
"delta": 0.0002,
"percent_delta": 0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.617,
"after": 3.6565,
"delta": 0.0395,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2534,
"delta": -0.0006,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.381,
"after": 0.3681,
"delta": -0.0129,
"percent_delta": -0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.918,
"after": 0.9257,
"delta": 0.0077,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.089,
"after": 0.0956,
"delta": 0.0066,
"percent_delta": 0.0742,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.3232,
"delta": -0.0018,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.493,
"after": 0.493,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.445,
"after": 0.4548,
"delta": 0.0098,
"percent_delta": 0.022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.3869,
"delta": 0.0039,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.749,
"after": 0.7654,
"delta": 0.0164,
"percent_delta": 0.0219,
"direction": "no_change",
"projection_effect": "neutral",
"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": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 0,
"last_10": 0,
"season": 0
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1764,
"predicted_3B": 0.0142,
"predicted_AB": 3.6565,
"predicted_AVG": 0.2577,
"predicted_BB": 0.3703,
"predicted_H": 0.9425,
"predicted_HBP": 0.035,
"predicted_HR": 0.0971,
"predicted_OBP": 0.326,
"predicted_R": 0.509,
"predicted_RBI": 0.4696,
"predicted_SLG": 0.3934,
"predicted_SO": 0.7608
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1764,
"after": 0.1764,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0142,
"after": 0.0142,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6565,
"after": 3.6565,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2534,
"after": 0.2577,
"delta": 0.0043,
"percent_delta": 0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3681,
"after": 0.3703,
"delta": 0.0022,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9257,
"after": 0.9425,
"delta": 0.0168,
"percent_delta": 0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.035,
"after": 0.035,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0956,
"after": 0.0971,
"delta": 0.0015,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3232,
"after": 0.326,
"delta": 0.0028,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.493,
"after": 0.509,
"delta": 0.016,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4548,
"after": 0.4696,
"delta": 0.0148,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3869,
"after": 0.3934,
"delta": 0.0065,
"percent_delta": 0.0168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7654,
"after": 0.7608,
"delta": -0.0046,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3869,
"after": 0.3934,
"delta": 0.0065,
"percent_delta": 0.0168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.66), rates preserved: AVG=0.258 HR/AB=0.027",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1764,
"after": 0.0,
"delta": -0.1764,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0142,
"after": 0.0,
"delta": -0.0142,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6565,
"after": 4.0,
"delta": 0.3435,
"percent_delta": 0.0939,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3703,
"after": 0.0,
"delta": -0.3703,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9425,
"after": 1.0,
"delta": 0.0575,
"percent_delta": 0.061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.035,
"after": 0.0,
"delta": -0.035,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0971,
"after": 0.0,
"delta": -0.0971,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4696,
"after": 1.0,
"delta": 0.5304,
"percent_delta": 1.1295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7608,
"after": 1.0,
"delta": 0.2392,
"percent_delta": 0.3144,
"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.4696,
"after": 1.0,
"delta": 0.5304,
"percent_delta": 1.1295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3703,
"after": 0.0,
"delta": -0.3703,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.509,
"after": 1.0,
"delta": 0.491,
"percent_delta": 0.9646,
"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.509,
"after": 1.0,
"delta": 0.491,
"percent_delta": 0.9646,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2577,
"after": 0.25,
"delta": -0.0077,
"percent_delta": -0.0299,
"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.326,
"after": 0.25,
"delta": -0.076,
"percent_delta": -0.2331,
"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.3934,
"after": 0.25,
"delta": -0.1434,
"percent_delta": -0.3645,
"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.3934,
"after": 0.25,
"delta": -0.1434,
"percent_delta": -0.3645,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2577,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.326,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3934,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2577,
"delta": 0.0077,
"percent_delta": 0.031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.326,
"delta": 0.076,
"percent_delta": 0.304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3934,
"delta": 0.1434,
"percent_delta": 0.5735,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3934,
"delta": 0.1434,
"percent_delta": 0.5735,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 0.0,
"delta": -0.174,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.617,
"after": 4.0,
"delta": 0.383,
"percent_delta": 0.1059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2577,
"delta": 0.0037,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.381,
"after": 0.0,
"delta": -0.381,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.918,
"after": 1.0,
"delta": 0.082,
"percent_delta": 0.0893,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.089,
"after": 0.0,
"delta": -0.089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.326,
"delta": 0.001,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.493,
"after": 1.0,
"delta": 0.507,
"percent_delta": 1.0284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.445,
"after": 0.0,
"delta": -0.445,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.3934,
"delta": 0.0104,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.749,
"after": 2.0,
"delta": 1.251,
"percent_delta": 1.6702,
"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_SO",
"before": 0.749,
"after": 2.0,
"delta": 1.251,
"percent_delta": 1.6702,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.445,
"after": 0.0,
"delta": -0.445,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.174 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 3.617 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.381 | - |
| predicted_H | 0.918 | - |
| predicted_HR | 0.089 | - |
| predicted_OBP | 0.325 | - |
| predicted_R | 0.493 | - |
| predicted_RBI | 0.445 | - |
| predicted_SLG | 0.383 | - |
| predicted_SO | 0.749 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.176 | 0.002 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 3.656 | 0.039 |
| predicted_AVG | 0.253 | -0.001 |
| predicted_BB | 0.368 | -0.013 |
| predicted_H | 0.926 | 0.008 |
| predicted_HBP | 0.035 | - |
| predicted_HR | 0.096 | 0.007 |
| predicted_OBP | 0.323 | -0.002 |
| predicted_R | 0.493 | 0.000 |
| predicted_RBI | 0.455 | 0.010 |
| predicted_SLG | 0.387 | 0.004 |
| predicted_SO | 0.765 | 0.016 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.176 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 3.656 | 0.000 |
| predicted_AVG | 0.258 | 0.004 |
| predicted_BB | 0.370 | 0.002 |
| predicted_H | 0.943 | 0.017 |
| predicted_HBP | 0.035 | 0.000 |
| predicted_HR | 0.097 | 0.002 |
| predicted_OBP | 0.326 | 0.003 |
| predicted_R | 0.509 | 0.016 |
| predicted_RBI | 0.470 | 0.015 |
| predicted_SLG | 0.393 | 0.007 |
| predicted_SO | 0.761 | -0.005 |
AB rounded to 4 (raw=3.66), rates preserved: AVG=0.258 HR/AB=0.027
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.176 |
| predicted_3B | 0.000 | -0.014 |
| predicted_AB | 4.000 | 0.344 |
| predicted_AVG | 0.250 | -0.008 |
| predicted_BB | 0.000 | -0.370 |
| predicted_H | 1.000 | 0.057 |
| predicted_HR | 0.000 | -0.097 |
| predicted_OBP | 0.250 | -0.076 |
| predicted_R | 1.000 | 0.491 |
| predicted_RBI | 1.000 | 0.530 |
| predicted_SLG | 0.250 | -0.143 |
| predicted_SO | 1.000 | 0.239 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 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 | 0 | - | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | - | - | - | - | - | - | - | - |
| last_10 | 0.20 | 0 | - | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | - | - | - | - | - | - | - | - |
| season | 0.60 | 0 | - | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | - | - | - | - | - | - | - | - |
| Metric | Value |
|---|---|
| predicted_2B | 0.1890 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.8680 |
| predicted_AVG | 0.2501 |
| predicted_BB | 0.2990 |
| predicted_H | 0.9670 |
| predicted_HBP | 0.0350 |
| predicted_HR | 0.1310 |
| predicted_OBP | 0.3135 |
| predicted_R | 0.4930 |
| predicted_RBI | 0.5070 |
| predicted_SLG | 0.4079 |
| predicted_SO | 0.8530 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1740 | 0.1890 | 0.1764 | model_form_blend |
| predicted_3B | 0.0140 | 0.0150 | 0.0142 | model_form_blend |
| predicted_AB | 3.6170 | 3.8680 | 3.6565 | model_form_blend |
| predicted_AVG | 0.2540 | 0.2501 | 0.2534 | model_form_blend |
| predicted_BB | 0.3810 | 0.2990 | 0.3681 | model_form_blend |
| predicted_H | 0.9180 | 0.9670 | 0.9257 | model_form_blend |
| predicted_HBP | - | 0.0350 | 0.0350 | form_only |
| predicted_HR | 0.0890 | 0.1310 | 0.0956 | model_form_blend |
| predicted_OBP | 0.3250 | 0.3135 | 0.3232 | model_form_blend |
| predicted_R | 0.4930 | 0.4930 | 0.4930 | model_form_blend |
| predicted_RBI | 0.4450 | 0.5070 | 0.4548 | model_form_blend |
| predicted_SLG | 0.3830 | 0.4079 | 0.3869 | model_form_blend |
| predicted_SO | 0.7490 | 0.8530 | 0.7654 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 0 |
| Season rows before report date | 0 |
| Report year | 2026 |
| Profile rows used | 0 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
No historical data found for this player before report date.
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.214 | 0.000 | 0.000 | Hitting_2B | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.374 | 4.000 | 6.000 | Hitting_AB | 3.323 | 4.000 | 0.677 | 0.000 |
| predicted_AVG | 0.256 | 0.000 | 0.167 | Hitting_AVG | 0.290 | 0.000 | -0.290 | 0.000 |
| predicted_BB | 0.496 | 0.000 | 1.000 | Hitting_BB | 0.489 | 0.000 | -0.489 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.300 | 0.000 | 1.000 | Hitting_H | 0.962 | 0.000 | -0.962 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.271 | 0.000 | -0.271 | 0.000 |
| predicted_OBP | 0.326 | 0.000 | 0.286 | Hitting_OBP | 0.381 | 0.000 | -0.381 | 0.000 |
| predicted_R | 0.481 | 0.000 | 1.000 | Hitting_R | 0.474 | 0.000 | -0.474 | 0.000 |
| predicted_RBI | 0.240 | 0.000 | 1.000 | Hitting_RBI | 0.699 | 0.000 | -0.699 | 0.000 |
| predicted_SLG | 0.495 | 0.000 | 0.167 | Hitting_SLG | 0.597 | 0.000 | -0.597 | 0.000 |
| predicted_SO | 0.863 | 2.000 | 1.000 | Hitting_SO | 0.850 | 1.000 | 1.150 | 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.8630 -> 2.0000 (boost 1.1370, worse) |
| Biggest Deboost | predicted_BB: 0.4960 -> 0.0000 (deboost -0.4960, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3740 -> 6.1901 (boost 2.8161, 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.5211 -> 0.4565 (deboost -0.0646, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 0 | 7 | 1 | 6 | - | predicted_SO: 1.5419 -> 1.0000 (deboost -0.5419, better) | AB rounded to 6 (raw=6.19), rates preserved: AVG=0.225 HR/AB=0.058 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8513 -> 1.0000 (boost 0.1487, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4565 -> 0.1670 (deboost -0.2895, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 1 | 5 | 0 | 6 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.4565 (boost 0.2895, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663993",
"player_name": "Nathaniel Lowe",
"position": "1B",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.214,
"predicted_3B": 0.0,
"predicted_AB": 3.374,
"predicted_AVG": 0.256,
"predicted_BB": 0.496,
"predicted_H": 0.3,
"predicted_HR": 0.07,
"predicted_OBP": 0.326,
"predicted_R": 0.481,
"predicted_RBI": 0.24,
"predicted_SLG": 0.495,
"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.3571,
"predicted_3B": 0.0009,
"predicted_AB": 6.1901,
"predicted_AVG": 0.2665,
"predicted_BB": 1.1109,
"predicted_H": 1.3694,
"predicted_HBP": 0.005,
"predicted_HR": 0.3523,
"predicted_OBP": 0.3554,
"predicted_R": 0.8245,
"predicted_RBI": 1.0327,
"predicted_SLG": 0.5211,
"predicted_SO": 1.5512
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.214,
"after": 0.3571,
"delta": 0.1431,
"percent_delta": 0.6687,
"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.374,
"after": 6.1901,
"delta": 2.8161,
"percent_delta": 0.8346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2665,
"delta": 0.0105,
"percent_delta": 0.041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.496,
"after": 1.1109,
"delta": 0.6149,
"percent_delta": 1.2397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 1.3694,
"delta": 1.0694,
"percent_delta": 3.5647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.3523,
"delta": 0.2823,
"percent_delta": 4.0329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3554,
"delta": 0.0294,
"percent_delta": 0.0902,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.481,
"after": 0.8245,
"delta": 0.3435,
"percent_delta": 0.7141,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 1.0327,
"delta": 0.7927,
"percent_delta": 3.3029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.495,
"after": 0.5211,
"delta": 0.0261,
"percent_delta": 0.0527,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.863,
"after": 1.5512,
"delta": 0.6882,
"percent_delta": 0.7975,
"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.374,
"after": 6.1901,
"delta": 2.8161,
"percent_delta": 0.8346,
"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": 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.3571,
"predicted_3B": 0.0009,
"predicted_AB": 6.1901,
"predicted_AVG": 0.2252,
"predicted_BB": 1.1176,
"predicted_H": 1.3942,
"predicted_HBP": 0.005,
"predicted_HR": 0.3577,
"predicted_OBP": 0.3437,
"predicted_R": 0.8513,
"predicted_RBI": 1.0663,
"predicted_SLG": 0.4565,
"predicted_SO": 1.5419
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3571,
"after": 0.3571,
"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.1901,
"after": 6.1901,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2665,
"after": 0.2252,
"delta": -0.0413,
"percent_delta": -0.155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1109,
"after": 1.1176,
"delta": 0.0067,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3694,
"after": 1.3942,
"delta": 0.0248,
"percent_delta": 0.0181,
"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.3523,
"after": 0.3577,
"delta": 0.0054,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3554,
"after": 0.3437,
"delta": -0.0117,
"percent_delta": -0.0329,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8245,
"after": 0.8513,
"delta": 0.0268,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0327,
"after": 1.0663,
"delta": 0.0336,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5211,
"after": 0.4565,
"delta": -0.0646,
"percent_delta": -0.124,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5512,
"after": 1.5419,
"delta": -0.0093,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5211,
"after": 0.4565,
"delta": -0.0646,
"percent_delta": -0.124,
"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.225 HR/AB=0.058",
"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.3571,
"after": 0.0,
"delta": -0.3571,
"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.1901,
"after": 6.0,
"delta": -0.1901,
"percent_delta": -0.0307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1176,
"after": 1.0,
"delta": -0.1176,
"percent_delta": -0.1052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3942,
"after": 1.0,
"delta": -0.3942,
"percent_delta": -0.2827,
"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.3577,
"after": 0.0,
"delta": -0.3577,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0663,
"after": 1.0,
"delta": -0.0663,
"percent_delta": -0.0622,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5419,
"after": 1.0,
"delta": -0.5419,
"percent_delta": -0.3514,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.5419,
"after": 1.0,
"delta": -0.5419,
"percent_delta": -0.3514,
"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.8513,
"after": 1.0,
"delta": 0.1487,
"percent_delta": 0.1747,
"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.8513,
"after": 1.0,
"delta": 0.1487,
"percent_delta": 0.1747,
"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.2252,
"after": 0.167,
"delta": -0.0582,
"percent_delta": -0.2584,
"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.3437,
"after": 0.286,
"delta": -0.0577,
"percent_delta": -0.1679,
"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.4565,
"after": 0.167,
"delta": -0.2895,
"percent_delta": -0.6342,
"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.4565,
"after": 0.167,
"delta": -0.2895,
"percent_delta": -0.6342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2252,
"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.3437,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4565,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2252,
"delta": 0.0582,
"percent_delta": 0.3487,
"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.3437,
"delta": 0.0577,
"percent_delta": 0.2018,
"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.4565,
"delta": 0.2895,
"percent_delta": 1.7338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.167,
"after": 0.4565,
"delta": 0.2895,
"percent_delta": 1.7338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.214,
"after": 0.0,
"delta": -0.214,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.374,
"after": 4.0,
"delta": 0.626,
"percent_delta": 0.1855,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2252,
"delta": -0.0308,
"percent_delta": -0.1203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.496,
"after": 0.0,
"delta": -0.496,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"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.326,
"after": 0.3437,
"delta": 0.0177,
"percent_delta": 0.0543,
"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.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.495,
"after": 0.4565,
"delta": -0.0385,
"percent_delta": -0.0778,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.863,
"after": 2.0,
"delta": 1.137,
"percent_delta": 1.3175,
"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.863,
"after": 2.0,
"delta": 1.137,
"percent_delta": 1.3175,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.496,
"after": 0.0,
"delta": -0.496,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.214 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.374 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.496 | - |
| predicted_H | 0.300 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.326 | - |
| predicted_R | 0.481 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.495 | - |
| 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.357 | 0.143 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.190 | 2.816 |
| predicted_AVG | 0.267 | 0.011 |
| predicted_BB | 1.111 | 0.615 |
| predicted_H | 1.369 | 1.069 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.352 | 0.282 |
| predicted_OBP | 0.355 | 0.029 |
| predicted_R | 0.825 | 0.344 |
| predicted_RBI | 1.033 | 0.793 |
| predicted_SLG | 0.521 | 0.026 |
| predicted_SO | 1.551 | 0.688 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.357 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.190 | 0.000 |
| predicted_AVG | 0.225 | -0.041 |
| predicted_BB | 1.118 | 0.007 |
| predicted_H | 1.394 | 0.025 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.358 | 0.005 |
| predicted_OBP | 0.344 | -0.012 |
| predicted_R | 0.851 | 0.027 |
| predicted_RBI | 1.066 | 0.034 |
| predicted_SLG | 0.457 | -0.065 |
| predicted_SO | 1.542 | -0.009 |
AB rounded to 6 (raw=6.19), rates preserved: AVG=0.225 HR/AB=0.058
| 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.357 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | -0.190 |
| predicted_AVG | 0.167 | -0.058 |
| predicted_BB | 1.000 | -0.118 |
| predicted_H | 1.000 | -0.394 |
| predicted_HR | 0.000 | -0.358 |
| predicted_OBP | 0.286 | -0.058 |
| predicted_R | 1.000 | 0.149 |
| predicted_RBI | 1.000 | -0.066 |
| predicted_SLG | 0.167 | -0.289 |
| predicted_SO | 1.000 | -0.542 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -2.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 3 | - | 17.000 | 4.000 | 0.000 | 0.000 | 1.000 | 4.000 | 1.000 | 6.000 | 4.000 | 0.2353 | 0.4348 | 0.4118 | 0.2353 | 0.0588 | 0.2353 | 0.3529 | 0.2353 |
| last_10 | 0.20 | 4 | - | 29.000 | 9.000 | 3.000 | 0.000 | 1.000 | 6.000 | 4.000 | 16.000 | 6.000 | 0.3103 | 0.5556 | 0.5172 | 0.3103 | 0.0345 | 0.2069 | 0.5517 | 0.2069 |
| season | 0.60 | 39 | - | 442.000 | 128.000 | 28.000 | 0.000 | 36.000 | 93.000 | 63.000 | 65.000 | 113.000 | 0.2896 | 0.3807 | 0.5973 | 0.2896 | 0.0814 | 0.2104 | 0.1471 | 0.2557 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5440 |
| predicted_3B | 0.0020 |
| predicted_AB | 9.8680 |
| predicted_AVG | 0.2803 |
| predicted_BB | 1.9140 |
| predicted_H | 2.7660 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.7210 |
| predicted_OBP | 0.3937 |
| predicted_R | 1.2730 |
| predicted_RBI | 2.0680 |
| predicted_SLG | 0.5551 |
| predicted_SO | 2.4500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2140 | 0.5440 | 0.3571 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.3740 | 9.8680 | 6.1901 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2803 | 0.2665 | model_form_blend |
| predicted_BB | 0.4960 | 1.9140 | 1.1109 | model_form_blend |
| predicted_H | 0.3000 | 2.7660 | 1.3694 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0700 | 0.7210 | 0.3523 | model_form_blend |
| predicted_OBP | 0.3260 | 0.3937 | 0.3554 | model_form_blend |
| predicted_R | 0.4810 | 1.2730 | 0.8245 | model_form_blend |
| predicted_RBI | 0.2400 | 2.0680 | 1.0327 | model_form_blend |
| predicted_SLG | 0.4950 | 0.5551 | 0.5211 | model_form_blend |
| predicted_SO | 0.8630 | 2.4500 | 1.5512 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 131 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.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 | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260531_ATL@CIN |
| game_type | full |
| mlbID | 663993 |
| playerID | 663993 |
| playerName | Nathaniel Lowe |
| pos | DH |
| started | True |
| startingPosition | 1B |
| team | CIN |
| teamID | 7 |
| game_date | 2026-05-31 |
| sl_k_percent | 23.5 |
| sl_bb_percent | 11.0 |
| sl_woba | 0.399 |
| sl_xwoba | 0.394 |
| sl_xba | 0.288 |
| sl_xslg | 0.554 |
| sl_sweet_spot_percent | 44.9 |
| sl_barrel_batted_rate | 15.3 |
| sl_hard_hit_percent | 47.2 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 12.4 |
| sl_whiff_percent | 22.3 |
| sl_swing_percent | 43.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.205 | 0.000 | 0.000 | Hitting_2B | 0.205 | 1.000 | -0.205 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.690 | 3.000 | 7.000 | Hitting_AB | 3.690 | 3.000 | -0.690 | 0.000 |
| predicted_AVG | 0.252 | 1.000 | 0.286 | Hitting_AVG | 0.266 | 0.667 | 0.734 | 0.333 |
| predicted_BB | 0.371 | 1.000 | 1.000 | Hitting_BB | 0.371 | 1.000 | 0.629 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.910 | 3.000 | 2.000 | Hitting_H | 0.981 | 2.000 | 2.019 | 1.000 |
| predicted_HR | 0.110 | 1.000 | 0.000 | Hitting_HR | 0.143 | 0.000 | 0.857 | 1.000 |
| predicted_OBP | 0.343 | 1.000 | 0.375 | Hitting_OBP | 0.340 | 0.750 | 0.660 | 0.250 |
| predicted_R | 0.652 | 1.000 | 1.000 | Hitting_R | 0.652 | 2.000 | 0.348 | -1.000 |
| predicted_RBI | 0.380 | 1.000 | 1.000 | Hitting_RBI | 0.414 | 0.000 | 0.586 | 1.000 |
| predicted_SLG | 0.411 | 2.000 | 0.286 | Hitting_SLG | 0.437 | 1.000 | 1.563 | 1.000 |
| predicted_SO | 0.857 | 0.000 | 2.000 | Hitting_SO | 0.857 | 1.000 | -0.857 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_H: 0.9100 -> 3.0000 (boost 2.0900, better) |
| Biggest Deboost | predicted_SO: 0.8570 -> 0.0000 (deboost -0.8570, 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.6900 -> 7.2193 (boost 3.5293, 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.2597 -> 0.2678 (boost 0.0081, better) | predicted_OBP: 0.3430 -> 0.3357 (deboost -0.0073, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_RBI: 0.6760 -> 1.0000 (boost 0.3240, better) | predicted_2B: 0.3864 -> 0.0000 (deboost -0.3864, worse) | AB rounded to 7 (raw=7.22), rates preserved: AVG=0.268 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2673 -> 1.0000 (deboost -0.2673, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3357 -> 0.3750 (boost 0.0393, better) | predicted_SLG: 0.4109 -> 0.2860 (deboost -0.1249, 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_H: 2.0000 -> 3.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.4109 (boost 0.1249, better) | predicted_OBP: 0.3750 -> 0.3357 (deboost -0.0393, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668715",
"player_name": "Spencer Steer",
"position": "RF",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.205,
"predicted_3B": 0.0,
"predicted_AB": 3.69,
"predicted_AVG": 0.252,
"predicted_BB": 0.371,
"predicted_H": 0.91,
"predicted_HR": 0.11,
"predicted_OBP": 0.343,
"predicted_R": 0.652,
"predicted_RBI": 0.38,
"predicted_SLG": 0.411,
"predicted_SO": 0.857
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3864,
"predicted_3B": 0.0004,
"predicted_AB": 7.2193,
"predicted_AVG": 0.2597,
"predicted_BB": 0.7333,
"predicted_H": 1.8992,
"predicted_HBP": 0.124,
"predicted_HR": 0.2121,
"predicted_OBP": 0.343,
"predicted_R": 1.2274,
"predicted_RBI": 0.6547,
"predicted_SLG": 0.4106,
"predicted_SO": 1.8255
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.205,
"after": 0.3864,
"delta": 0.1814,
"percent_delta": 0.8849,
"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.69,
"after": 7.2193,
"delta": 3.5293,
"percent_delta": 0.9564,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2597,
"delta": 0.0077,
"percent_delta": 0.0306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.371,
"after": 0.7333,
"delta": 0.3623,
"percent_delta": 0.9765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 1.8992,
"delta": 0.9892,
"percent_delta": 1.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.2121,
"delta": 0.1021,
"percent_delta": 0.9282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.343,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.652,
"after": 1.2274,
"delta": 0.5754,
"percent_delta": 0.8825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.6547,
"delta": 0.2747,
"percent_delta": 0.7229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.411,
"after": 0.4106,
"delta": -0.0004,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.857,
"after": 1.8255,
"delta": 0.9685,
"percent_delta": 1.1301,
"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.69,
"after": 7.2193,
"delta": 3.5293,
"percent_delta": 0.9564,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.3864,
"predicted_3B": 0.0004,
"predicted_AB": 7.2193,
"predicted_AVG": 0.2678,
"predicted_BB": 0.7377,
"predicted_H": 1.9336,
"predicted_HBP": 0.124,
"predicted_HR": 0.2153,
"predicted_OBP": 0.3357,
"predicted_R": 1.2673,
"predicted_RBI": 0.676,
"predicted_SLG": 0.4109,
"predicted_SO": 1.8145
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3864,
"after": 0.3864,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.2193,
"after": 7.2193,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2597,
"after": 0.2678,
"delta": 0.0081,
"percent_delta": 0.0312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7333,
"after": 0.7377,
"delta": 0.0044,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8992,
"after": 1.9336,
"delta": 0.0344,
"percent_delta": 0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.124,
"after": 0.124,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2121,
"after": 0.2153,
"delta": 0.0032,
"percent_delta": 0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3357,
"delta": -0.0073,
"percent_delta": -0.0213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.2274,
"after": 1.2673,
"delta": 0.0399,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6547,
"after": 0.676,
"delta": 0.0213,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4106,
"after": 0.4109,
"delta": 0.0003,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.8255,
"after": 1.8145,
"delta": -0.011,
"percent_delta": -0.006,
"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.2597,
"after": 0.2678,
"delta": 0.0081,
"percent_delta": 0.0312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3357,
"delta": -0.0073,
"percent_delta": -0.0213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.22), rates preserved: AVG=0.268 HR/AB=0.030",
"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.3864,
"after": 0.0,
"delta": -0.3864,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.2193,
"after": 7.0,
"delta": -0.2193,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7377,
"after": 1.0,
"delta": 0.2623,
"percent_delta": 0.3556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.9336,
"after": 2.0,
"delta": 0.0664,
"percent_delta": 0.0343,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.124,
"after": 0.0,
"delta": -0.124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2153,
"after": 0.0,
"delta": -0.2153,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.676,
"after": 1.0,
"delta": 0.324,
"percent_delta": 0.4793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8145,
"after": 2.0,
"delta": 0.1855,
"percent_delta": 0.1022,
"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.676,
"after": 1.0,
"delta": 0.324,
"percent_delta": 0.4793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3864,
"after": 0.0,
"delta": -0.3864,
"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.2673,
"after": 1.0,
"delta": -0.2673,
"percent_delta": -0.2109,
"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.2673,
"after": 1.0,
"delta": -0.2673,
"percent_delta": -0.2109,
"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.2678,
"after": 0.286,
"delta": 0.0182,
"percent_delta": 0.068,
"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.3357,
"after": 0.375,
"delta": 0.0393,
"percent_delta": 0.1171,
"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.4109,
"after": 0.286,
"delta": -0.1249,
"percent_delta": -0.304,
"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.3357,
"after": 0.375,
"delta": 0.0393,
"percent_delta": 0.1171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4109,
"after": 0.286,
"delta": -0.1249,
"percent_delta": -0.304,
"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": 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": 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": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 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": 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_H",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2678,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3357,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4109,
"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.2678,
"delta": -0.0182,
"percent_delta": -0.0635,
"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": 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_OBP",
"before": 0.375,
"after": 0.3357,
"delta": -0.0393,
"percent_delta": -0.1048,
"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.4109,
"delta": 0.1249,
"percent_delta": 0.4369,
"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.4109,
"delta": 0.1249,
"percent_delta": 0.4369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3357,
"delta": -0.0393,
"percent_delta": -0.1048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.205,
"after": 0.0,
"delta": -0.205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.69,
"after": 3.0,
"delta": -0.69,
"percent_delta": -0.187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2678,
"delta": 0.0158,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.371,
"after": 1.0,
"delta": 0.629,
"percent_delta": 1.6954,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 3.0,
"delta": 2.09,
"percent_delta": 2.2967,
"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.343,
"after": 0.3357,
"delta": -0.0073,
"percent_delta": -0.0213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.652,
"after": 1.0,
"delta": 0.348,
"percent_delta": 0.5337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 1.0,
"delta": 0.62,
"percent_delta": 1.6316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.411,
"after": 0.4109,
"delta": -0.0001,
"percent_delta": -0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.857,
"after": 0.0,
"delta": -0.857,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.91,
"after": 3.0,
"delta": 2.09,
"percent_delta": 2.2967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.857,
"after": 0.0,
"delta": -0.857,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.205 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.690 | - |
| predicted_AVG | 0.252 | - |
| predicted_BB | 0.371 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.343 | - |
| predicted_R | 0.652 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.411 | - |
| predicted_SO | 0.857 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.386 | 0.181 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.219 | 3.529 |
| predicted_AVG | 0.260 | 0.008 |
| predicted_BB | 0.733 | 0.362 |
| predicted_H | 1.899 | 0.989 |
| predicted_HBP | 0.124 | - |
| predicted_HR | 0.212 | 0.102 |
| predicted_OBP | 0.343 | 0.000 |
| predicted_R | 1.227 | 0.575 |
| predicted_RBI | 0.655 | 0.275 |
| predicted_SLG | 0.411 | -0.000 |
| predicted_SO | 1.825 | 0.968 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.386 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.219 | 0.000 |
| predicted_AVG | 0.268 | 0.008 |
| predicted_BB | 0.738 | 0.004 |
| predicted_H | 1.934 | 0.034 |
| predicted_HBP | 0.124 | 0.000 |
| predicted_HR | 0.215 | 0.003 |
| predicted_OBP | 0.336 | -0.007 |
| predicted_R | 1.267 | 0.040 |
| predicted_RBI | 0.676 | 0.021 |
| predicted_SLG | 0.411 | 0.000 |
| predicted_SO | 1.815 | -0.011 |
AB rounded to 7 (raw=7.22), rates preserved: AVG=0.268 HR/AB=0.030
| 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.386 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 7.000 | -0.219 |
| predicted_AVG | 0.286 | 0.018 |
| predicted_BB | 1.000 | 0.262 |
| predicted_H | 2.000 | 0.066 |
| predicted_HR | 0.000 | -0.215 |
| predicted_OBP | 0.375 | 0.039 |
| predicted_R | 1.000 | -0.267 |
| predicted_RBI | 1.000 | 0.324 |
| predicted_SLG | 0.286 | -0.125 |
| predicted_SO | 2.000 | 0.185 |
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 | 3.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 20.000 | 6.000 | 1.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 7.000 | 0.3000 | 0.3636 | 0.3500 | 0.3000 | 0.0000 | 0.0000 | 0.1000 | 0.3500 |
| last_10 | 0.20 | 5 | - | 41.000 | 9.000 | 1.000 | 0.000 | 0.000 | 0.000 | 5.000 | 6.000 | 15.000 | 0.2195 | 0.3191 | 0.2439 | 0.2195 | 0.0000 | 0.0000 | 0.1463 | 0.3659 |
| season | 0.60 | 55 | - | 775.000 | 206.000 | 43.000 | 0.000 | 30.000 | 87.000 | 137.000 | 78.000 | 180.000 | 0.2658 | 0.3403 | 0.4374 | 0.2658 | 0.0387 | 0.1123 | 0.1007 | 0.2323 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6170 |
| predicted_3B | 0.0010 |
| predicted_AB | 11.7070 |
| predicted_AVG | 0.2696 |
| predicted_BB | 1.1940 |
| predicted_H | 3.1570 |
| predicted_HBP | 0.1240 |
| predicted_HR | 0.3420 |
| predicted_OBP | 0.3429 |
| predicted_R | 1.9590 |
| predicted_RBI | 1.0040 |
| predicted_SLG | 0.4102 |
| predicted_SO | 3.0570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2050 | 0.6170 | 0.3864 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.6900 | 11.7070 | 7.2193 | model_form_blend |
| predicted_AVG | 0.2520 | 0.2696 | 0.2597 | model_form_blend |
| predicted_BB | 0.3710 | 1.1940 | 0.7333 | model_form_blend |
| predicted_H | 0.9100 | 3.1570 | 1.8992 | model_form_blend |
| predicted_HBP | - | 0.1240 | 0.1240 | form_only |
| predicted_HR | 0.1100 | 0.3420 | 0.2121 | model_form_blend |
| predicted_OBP | 0.3430 | 0.3429 | 0.3430 | model_form_blend |
| predicted_R | 0.6520 | 1.9590 | 1.2274 | model_form_blend |
| predicted_RBI | 0.3800 | 1.0040 | 0.6547 | model_form_blend |
| predicted_SLG | 0.4110 | 0.4102 | 0.4106 | model_form_blend |
| predicted_SO | 0.8570 | 3.0570 | 1.8255 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 3 |
| H | 3 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.266 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 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 | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260531_ATL@CIN |
| game_type | full |
| mlbID | 668715 |
| playerID | 668715 |
| playerName | Spencer Steer |
| pos | LF |
| started | True |
| startingPosition | 2B |
| team | CIN |
| teamID | 7 |
| game_date | 2026-05-31 |
| sl_k_percent | 20.5 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.339 |
| sl_xwoba | 0.371 |
| sl_xba | 0.277 |
| sl_xslg | 0.506 |
| sl_sweet_spot_percent | 41.4 |
| sl_barrel_batted_rate | 13.7 |
| sl_hard_hit_percent | 38.8 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 18.6 |
| sl_whiff_percent | 24.0 |
| sl_swing_percent | 45.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.137 | 0.000 | 0.000 | Hitting_2B | 0.137 | 0.000 | -0.137 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.300 | 4.000 | 6.000 | Hitting_AB | 3.280 | 3.000 | 0.720 | 1.000 |
| predicted_AVG | 0.245 | 0.500 | 0.167 | Hitting_AVG | 0.195 | 0.000 | 0.305 | 0.500 |
| predicted_BB | 0.531 | 0.000 | 1.000 | Hitting_BB | 0.528 | 0.000 | -0.528 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_H | 0.740 | 2.000 | 1.000 | Hitting_H | 0.640 | 0.000 | 1.360 | 2.000 |
| predicted_HR | 0.110 | 1.000 | 0.000 | Hitting_HR | 0.106 | 0.000 | 0.894 | 1.000 |
| predicted_OBP | 0.324 | 0.500 | 0.286 | Hitting_OBP | 0.303 | 0.000 | 0.197 | 0.500 |
| predicted_R | 0.250 | 1.000 | 1.000 | Hitting_R | 0.248 | 0.000 | 0.752 | 1.000 |
| predicted_RBI | 0.450 | 2.000 | 1.000 | Hitting_RBI | 0.460 | 0.000 | 1.540 | 2.000 |
| predicted_SLG | 0.398 | 1.250 | 0.167 | Hitting_SLG | 0.333 | 0.000 | 0.917 | 1.250 |
| predicted_SO | 1.075 | 1.000 | 2.000 | Hitting_SO | 1.068 | 0.000 | -0.068 | 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.4500 -> 2.0000 (boost 1.5500, better) |
| Biggest Deboost | predicted_BB: 0.5310 -> 0.0000 (deboost -0.5310, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3000 -> 6.3368 (boost 3.0368, better) | predicted_SLG: 0.3980 -> 0.3887 (deboost -0.0093, 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.3273 -> 0.3381 (boost 0.0108, better) | predicted_SLG: 0.3887 -> 0.3790 (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 | 1 | 5 | predicted_SO: 1.7645 -> 2.0000 (boost 0.2355, worse) | predicted_H: 1.4529 -> 1.0000 (deboost -0.4529, worse) | AB rounded to 6 (raw=6.34), rates preserved: AVG=0.229 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6200 -> 1.0000 (boost 0.3800, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3790 -> 0.1670 (deboost -0.2120, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 3 | 3 | 4 | 2 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.3790 (boost 0.2120, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663886",
"player_name": "Tyler Stephenson",
"position": "C",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.137,
"predicted_3B": 0.0,
"predicted_AB": 3.3,
"predicted_AVG": 0.245,
"predicted_BB": 0.531,
"predicted_H": 0.74,
"predicted_HR": 0.11,
"predicted_OBP": 0.324,
"predicted_R": 0.25,
"predicted_RBI": 0.45,
"predicted_SLG": 0.398,
"predicted_SO": 1.075
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4055,
"predicted_3B": 0.0009,
"predicted_AB": 6.3368,
"predicted_AVG": 0.2365,
"predicted_BB": 1.0356,
"predicted_H": 1.4271,
"predicted_HBP": 0.004,
"predicted_HR": 0.1777,
"predicted_OBP": 0.3273,
"predicted_R": 0.6005,
"predicted_RBI": 0.8045,
"predicted_SLG": 0.3887,
"predicted_SO": 1.7752
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.137,
"after": 0.4055,
"delta": 0.2685,
"percent_delta": 1.9599,
"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.3,
"after": 6.3368,
"delta": 3.0368,
"percent_delta": 0.9202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2365,
"delta": -0.0085,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.531,
"after": 1.0356,
"delta": 0.5046,
"percent_delta": 0.9503,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 1.4271,
"delta": 0.6871,
"percent_delta": 0.9285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1777,
"delta": 0.0677,
"percent_delta": 0.6155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3273,
"delta": 0.0033,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.25,
"after": 0.6005,
"delta": 0.3505,
"percent_delta": 1.402,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.8045,
"delta": 0.3545,
"percent_delta": 0.7878,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.3887,
"delta": -0.0093,
"percent_delta": -0.0234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.075,
"after": 1.7752,
"delta": 0.7002,
"percent_delta": 0.6513,
"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.3,
"after": 6.3368,
"delta": 3.0368,
"percent_delta": 0.9202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.3887,
"delta": -0.0093,
"percent_delta": -0.0234,
"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": 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.4055,
"predicted_3B": 0.0009,
"predicted_AB": 6.3368,
"predicted_AVG": 0.2293,
"predicted_BB": 1.0418,
"predicted_H": 1.4529,
"predicted_HBP": 0.004,
"predicted_HR": 0.1804,
"predicted_OBP": 0.3381,
"predicted_R": 0.62,
"predicted_RBI": 0.8306,
"predicted_SLG": 0.379,
"predicted_SO": 1.7645
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4055,
"after": 0.4055,
"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.3368,
"after": 6.3368,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2365,
"after": 0.2293,
"delta": -0.0072,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0356,
"after": 1.0418,
"delta": 0.0062,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4271,
"after": 1.4529,
"delta": 0.0258,
"percent_delta": 0.0181,
"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.1777,
"after": 0.1804,
"delta": 0.0027,
"percent_delta": 0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3273,
"after": 0.3381,
"delta": 0.0108,
"percent_delta": 0.033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6005,
"after": 0.62,
"delta": 0.0195,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8045,
"after": 0.8306,
"delta": 0.0261,
"percent_delta": 0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3887,
"after": 0.379,
"delta": -0.0097,
"percent_delta": -0.025,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7752,
"after": 1.7645,
"delta": -0.0107,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3273,
"after": 0.3381,
"delta": 0.0108,
"percent_delta": 0.033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3887,
"after": 0.379,
"delta": -0.0097,
"percent_delta": -0.025,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.34), rates preserved: AVG=0.229 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4055,
"after": 0.0,
"delta": -0.4055,
"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.3368,
"after": 6.0,
"delta": -0.3368,
"percent_delta": -0.0531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0418,
"after": 1.0,
"delta": -0.0418,
"percent_delta": -0.0401,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4529,
"after": 1.0,
"delta": -0.4529,
"percent_delta": -0.3117,
"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.1804,
"after": 0.0,
"delta": -0.1804,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8306,
"after": 1.0,
"delta": 0.1694,
"percent_delta": 0.2039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7645,
"after": 2.0,
"delta": 0.2355,
"percent_delta": 0.1335,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.7645,
"after": 2.0,
"delta": 0.2355,
"percent_delta": 0.1335,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.4529,
"after": 1.0,
"delta": -0.4529,
"percent_delta": -0.3117,
"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.62,
"after": 1.0,
"delta": 0.38,
"percent_delta": 0.6129,
"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.62,
"after": 1.0,
"delta": 0.38,
"percent_delta": 0.6129,
"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.2293,
"after": 0.167,
"delta": -0.0623,
"percent_delta": -0.2717,
"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.3381,
"after": 0.286,
"delta": -0.0521,
"percent_delta": -0.1541,
"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.379,
"after": 0.167,
"delta": -0.212,
"percent_delta": -0.5594,
"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.379,
"after": 0.167,
"delta": -0.212,
"percent_delta": -0.5594,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2293,
"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.3381,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.379,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2293,
"delta": 0.0623,
"percent_delta": 0.373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.3381,
"delta": 0.0521,
"percent_delta": 0.1822,
"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.167,
"after": 0.379,
"delta": 0.212,
"percent_delta": 1.2693,
"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.379,
"delta": 0.212,
"percent_delta": 1.2693,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.137,
"after": 0.0,
"delta": -0.137,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3,
"after": 4.0,
"delta": 0.7,
"percent_delta": 0.2121,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2293,
"delta": -0.0157,
"percent_delta": -0.0641,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.74,
"after": 2.0,
"delta": 1.26,
"percent_delta": 1.7027,
"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.324,
"after": 0.3381,
"delta": 0.0141,
"percent_delta": 0.0435,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 2.0,
"delta": 1.55,
"percent_delta": 3.4444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.379,
"delta": -0.019,
"percent_delta": -0.0477,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.075,
"after": 1.0,
"delta": -0.075,
"percent_delta": -0.0698,
"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.45,
"after": 2.0,
"delta": 1.55,
"percent_delta": 3.4444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.531,
"after": 0.0,
"delta": -0.531,
"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.137 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.300 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.531 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.324 | - |
| predicted_R | 0.250 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.398 | - |
| predicted_SO | 1.075 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.406 | 0.269 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.337 | 3.037 |
| predicted_AVG | 0.236 | -0.009 |
| predicted_BB | 1.036 | 0.505 |
| predicted_H | 1.427 | 0.687 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.178 | 0.068 |
| predicted_OBP | 0.327 | 0.003 |
| predicted_R | 0.601 | 0.351 |
| predicted_RBI | 0.804 | 0.354 |
| predicted_SLG | 0.389 | -0.009 |
| predicted_SO | 1.775 | 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.406 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.337 | 0.000 |
| predicted_AVG | 0.229 | -0.007 |
| predicted_BB | 1.042 | 0.006 |
| predicted_H | 1.453 | 0.026 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.180 | 0.003 |
| predicted_OBP | 0.338 | 0.011 |
| predicted_R | 0.620 | 0.019 |
| predicted_RBI | 0.831 | 0.026 |
| predicted_SLG | 0.379 | -0.010 |
| predicted_SO | 1.764 | -0.011 |
AB rounded to 6 (raw=6.34), rates preserved: AVG=0.229 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.406 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | -0.337 |
| predicted_AVG | 0.167 | -0.062 |
| predicted_BB | 1.000 | -0.042 |
| predicted_H | 1.000 | -0.453 |
| predicted_HR | 0.000 | -0.180 |
| predicted_OBP | 0.286 | -0.052 |
| predicted_R | 1.000 | 0.380 |
| predicted_RBI | 1.000 | 0.169 |
| predicted_SLG | 0.167 | -0.212 |
| predicted_SO | 2.000 | 0.236 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -2.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 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 | - | 16.000 | 5.000 | 3.000 | 0.000 | 0.000 | 0.000 | 3.000 | 3.000 | 0.000 | 0.3125 | 0.4211 | 0.5000 | 0.3125 | 0.0000 | 0.0000 | 0.1875 | 0.0000 |
| last_10 | 0.20 | 4 | - | 35.000 | 14.000 | 8.000 | 0.000 | 0.000 | 8.000 | 8.000 | 8.000 | 4.000 | 0.4000 | 0.5116 | 0.6286 | 0.4000 | 0.0000 | 0.2286 | 0.2286 | 0.1143 |
| season | 0.60 | 45 | - | 528.000 | 103.000 | 22.000 | 0.000 | 17.000 | 74.000 | 40.000 | 85.000 | 172.000 | 0.1951 | 0.3027 | 0.3333 | 0.1951 | 0.0322 | 0.1401 | 0.1610 | 0.3258 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7520 |
| predicted_3B | 0.0020 |
| predicted_AB | 10.2570 |
| predicted_AVG | 0.2256 |
| predicted_BB | 1.6870 |
| predicted_H | 2.3140 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.2650 |
| predicted_OBP | 0.3315 |
| predicted_R | 1.0530 |
| predicted_RBI | 1.2620 |
| predicted_SLG | 0.3767 |
| predicted_SO | 2.6790 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1370 | 0.7520 | 0.4055 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.3000 | 10.2570 | 6.3368 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2256 | 0.2365 | model_form_blend |
| predicted_BB | 0.5310 | 1.6870 | 1.0356 | model_form_blend |
| predicted_H | 0.7400 | 2.3140 | 1.4271 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.1100 | 0.2650 | 0.1777 | model_form_blend |
| predicted_OBP | 0.3240 | 0.3315 | 0.3273 | model_form_blend |
| predicted_R | 0.2500 | 1.0530 | 0.6005 | model_form_blend |
| predicted_RBI | 0.4500 | 1.2620 | 0.8045 | model_form_blend |
| predicted_SLG | 0.3980 | 0.3767 | 0.3887 | model_form_blend |
| predicted_SO | 1.0750 | 2.6790 | 1.7752 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 161 |
| Season rows before report date | 161 |
| 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 | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.195 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | C |
| gameID | 20260530_ATL@CIN |
| game_type | full |
| mlbID | 663886 |
| playerID | 663886 |
| playerName | Tyler Stephenson |
| pos | C |
| started | True |
| startingPosition | C |
| team | CIN |
| teamID | 7 |
| game_date | 2026-05-30 |
| sl_k_percent | 26.2 |
| sl_bb_percent | 12.8 |
| sl_woba | 0.286 |
| sl_xwoba | 0.332 |
| sl_xba | 0.225 |
| sl_xslg | 0.431 |
| sl_sweet_spot_percent | 39.0 |
| sl_barrel_batted_rate | 12.4 |
| sl_hard_hit_percent | 44.0 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 22.9 |
| sl_whiff_percent | 27.1 |
| sl_swing_percent | 45.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.200 | 0.000 | 0.000 | Hitting_2B | 0.196 | 0.000 | -0.196 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.874 | 4.000 | 8.000 | Hitting_AB | 3.804 | 1.000 | 0.196 | 3.000 |
| predicted_AVG | 0.209 | 0.000 | 0.250 | Hitting_AVG | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_BB | 0.493 | 0.000 | 1.000 | Hitting_BB | 0.489 | 0.000 | -0.489 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_H | 0.660 | 0.000 | 2.000 | Hitting_H | 0.804 | 0.000 | -0.804 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_OBP | 0.256 | 0.000 | 0.333 | Hitting_OBP | 0.308 | 0.000 | -0.308 | 0.000 |
| predicted_R | 0.456 | 0.000 | 1.000 | Hitting_R | 0.447 | 1.000 | -0.447 | -1.000 |
| predicted_RBI | 0.290 | 0.000 | 1.000 | Hitting_RBI | 0.411 | 0.000 | -0.411 | 0.000 |
| predicted_SLG | 0.304 | 0.000 | 0.250 | Hitting_SLG | 0.342 | 0.000 | -0.342 | 0.000 |
| predicted_SO | 1.051 | 1.000 | 2.000 | Hitting_SO | 1.032 | 1.000 | -0.032 | 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_AB: 3.8740 -> 4.0000 (boost 0.1260, better) |
| Biggest Deboost | predicted_H: 0.6600 -> 0.0000 (deboost -0.6600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 9 | 0 | 8 | 1 | predicted_AB: 3.8740 -> 8.1592 (boost 4.2852, 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.2712 -> 0.2833 (boost 0.0121, better) | predicted_AVG: 0.2076 -> 0.2000 (deboost -0.0076, 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.6315 -> 2.0000 (boost 0.3685, better) | predicted_2B: 0.3575 -> 0.0000 (deboost -0.3575, worse) | AB rounded to 8 (raw=8.16), rates preserved: AVG=0.200 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1420 -> 1.0000 (deboost -0.1420, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2000 -> 0.2500 (boost 0.0500, better) | predicted_SLG: 0.3083 -> 0.2500 (deboost -0.0583, 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.3083 (boost 0.0583, better) | predicted_AVG: 0.2500 -> 0.2000 (deboost -0.0500, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680574",
"player_name": "Matt McLain",
"position": "SS",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.2,
"predicted_3B": 0.0,
"predicted_AB": 3.874,
"predicted_AVG": 0.209,
"predicted_BB": 0.493,
"predicted_H": 0.66,
"predicted_HR": 0.08,
"predicted_OBP": 0.256,
"predicted_R": 0.456,
"predicted_RBI": 0.29,
"predicted_SLG": 0.304,
"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.3575,
"predicted_3B": 0.0009,
"predicted_AB": 8.1592,
"predicted_AVG": 0.2076,
"predicted_BB": 0.9433,
"predicted_H": 1.6025,
"predicted_HBP": 0.129,
"predicted_HR": 0.1722,
"predicted_OBP": 0.2712,
"predicted_R": 1.1061,
"predicted_RBI": 0.6817,
"predicted_SLG": 0.307,
"predicted_SO": 2.0822
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.3575,
"delta": 0.1575,
"percent_delta": 0.7875,
"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.874,
"after": 8.1592,
"delta": 4.2852,
"percent_delta": 1.1061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.209,
"after": 0.2076,
"delta": -0.0014,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.493,
"after": 0.9433,
"delta": 0.4503,
"percent_delta": 0.9134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 1.6025,
"delta": 0.9425,
"percent_delta": 1.428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1722,
"delta": 0.0922,
"percent_delta": 1.1525,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.256,
"after": 0.2712,
"delta": 0.0152,
"percent_delta": 0.0594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.456,
"after": 1.1061,
"delta": 0.6501,
"percent_delta": 1.4257,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.6817,
"delta": 0.3917,
"percent_delta": 1.3507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.304,
"after": 0.307,
"delta": 0.003,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.051,
"after": 2.0822,
"delta": 1.0312,
"percent_delta": 0.9812,
"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.874,
"after": 8.1592,
"delta": 4.2852,
"percent_delta": 1.1061,
"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": 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.3575,
"predicted_3B": 0.0009,
"predicted_AB": 8.1592,
"predicted_AVG": 0.2,
"predicted_BB": 0.949,
"predicted_H": 1.6315,
"predicted_HBP": 0.129,
"predicted_HR": 0.1748,
"predicted_OBP": 0.2833,
"predicted_R": 1.142,
"predicted_RBI": 0.7039,
"predicted_SLG": 0.3083,
"predicted_SO": 2.0697
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3575,
"after": 0.3575,
"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.1592,
"after": 8.1592,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2076,
"after": 0.2,
"delta": -0.0076,
"percent_delta": -0.0366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9433,
"after": 0.949,
"delta": 0.0057,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.6025,
"after": 1.6315,
"delta": 0.029,
"percent_delta": 0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.129,
"after": 0.129,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1722,
"after": 0.1748,
"delta": 0.0026,
"percent_delta": 0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2712,
"after": 0.2833,
"delta": 0.0121,
"percent_delta": 0.0446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1061,
"after": 1.142,
"delta": 0.0359,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6817,
"after": 0.7039,
"delta": 0.0222,
"percent_delta": 0.0326,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.307,
"after": 0.3083,
"delta": 0.0013,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0822,
"after": 2.0697,
"delta": -0.0125,
"percent_delta": -0.006,
"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.2712,
"after": 0.2833,
"delta": 0.0121,
"percent_delta": 0.0446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2076,
"after": 0.2,
"delta": -0.0076,
"percent_delta": -0.0366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=8.16), rates preserved: AVG=0.200 HR/AB=0.021",
"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.3575,
"after": 0.0,
"delta": -0.3575,
"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.1592,
"after": 8.0,
"delta": -0.1592,
"percent_delta": -0.0195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.949,
"after": 1.0,
"delta": 0.051,
"percent_delta": 0.0537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6315,
"after": 2.0,
"delta": 0.3685,
"percent_delta": 0.2259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.129,
"after": 0.0,
"delta": -0.129,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1748,
"after": 0.0,
"delta": -0.1748,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7039,
"after": 1.0,
"delta": 0.2961,
"percent_delta": 0.4207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0697,
"after": 2.0,
"delta": -0.0697,
"percent_delta": -0.0337,
"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.6315,
"after": 2.0,
"delta": 0.3685,
"percent_delta": 0.2259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3575,
"after": 0.0,
"delta": -0.3575,
"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.142,
"after": 1.0,
"delta": -0.142,
"percent_delta": -0.1243,
"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.142,
"after": 1.0,
"delta": -0.142,
"percent_delta": -0.1243,
"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.2,
"after": 0.25,
"delta": 0.05,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2833,
"after": 0.333,
"delta": 0.0497,
"percent_delta": 0.1754,
"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.3083,
"after": 0.25,
"delta": -0.0583,
"percent_delta": -0.1891,
"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.25,
"delta": 0.05,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3083,
"after": 0.25,
"delta": -0.0583,
"percent_delta": -0.1891,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2833,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3083,
"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.25,
"after": 0.2,
"delta": -0.05,
"percent_delta": -0.2002,
"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.2833,
"delta": -0.0497,
"percent_delta": -0.1492,
"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.3083,
"delta": 0.0583,
"percent_delta": 0.2331,
"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.3083,
"delta": 0.0583,
"percent_delta": 0.2331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2,
"delta": -0.05,
"percent_delta": -0.2002,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.874,
"after": 4.0,
"delta": 0.126,
"percent_delta": 0.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.209,
"after": 0.2,
"delta": -0.009,
"percent_delta": -0.0431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.493,
"after": 0.0,
"delta": -0.493,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 0.0,
"delta": -0.66,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.256,
"after": 0.2833,
"delta": 0.0273,
"percent_delta": 0.1066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.456,
"after": 0.0,
"delta": -0.456,
"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.304,
"after": 0.3083,
"delta": 0.0043,
"percent_delta": 0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.874,
"after": 4.0,
"delta": 0.126,
"percent_delta": 0.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.66,
"after": 0.0,
"delta": -0.66,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.200 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.874 | - |
| predicted_AVG | 0.209 | - |
| predicted_BB | 0.493 | - |
| predicted_H | 0.660 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.256 | - |
| predicted_R | 0.456 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.304 | - |
| 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.357 | 0.157 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 8.159 | 4.285 |
| predicted_AVG | 0.208 | -0.001 |
| predicted_BB | 0.943 | 0.450 |
| predicted_H | 1.603 | 0.943 |
| predicted_HBP | 0.129 | - |
| predicted_HR | 0.172 | 0.092 |
| predicted_OBP | 0.271 | 0.015 |
| predicted_R | 1.106 | 0.650 |
| predicted_RBI | 0.682 | 0.392 |
| predicted_SLG | 0.307 | 0.003 |
| predicted_SO | 2.082 | 1.031 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.357 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 8.159 | 0.000 |
| predicted_AVG | 0.200 | -0.008 |
| predicted_BB | 0.949 | 0.006 |
| predicted_H | 1.631 | 0.029 |
| predicted_HBP | 0.129 | 0.000 |
| predicted_HR | 0.175 | 0.003 |
| predicted_OBP | 0.283 | 0.012 |
| predicted_R | 1.142 | 0.036 |
| predicted_RBI | 0.704 | 0.022 |
| predicted_SLG | 0.308 | 0.001 |
| predicted_SO | 2.070 | -0.012 |
AB rounded to 8 (raw=8.16), rates preserved: AVG=0.200 HR/AB=0.021
| 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.357 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | -0.159 |
| predicted_AVG | 0.250 | 0.050 |
| predicted_BB | 1.000 | 0.051 |
| predicted_H | 2.000 | 0.369 |
| predicted_HR | 0.000 | -0.175 |
| predicted_OBP | 0.333 | 0.050 |
| predicted_R | 1.000 | -0.142 |
| predicted_RBI | 1.000 | 0.296 |
| predicted_SLG | 0.250 | -0.058 |
| predicted_SO | 2.000 | -0.070 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 3 | - | 15.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 1.000 | 2.000 | 0.2000 | 0.2500 | 0.2000 | 0.2000 | 0.0000 | 0.0000 | 0.0667 | 0.1333 |
| last_10 | 0.20 | 4 | - | 35.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 5.000 | 1.000 | 10.000 | 0.1143 | 0.1389 | 0.1143 | 0.1143 | 0.0000 | 0.0000 | 0.0286 | 0.2857 |
| season | 0.60 | 52 | - | 833.000 | 176.000 | 43.000 | 0.000 | 22.000 | 90.000 | 98.000 | 106.000 | 226.000 | 0.2113 | 0.3077 | 0.3421 | 0.2113 | 0.0264 | 0.1080 | 0.1273 | 0.2713 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5570 |
| predicted_3B | 0.0020 |
| predicted_AB | 13.5900 |
| predicted_AVG | 0.2058 |
| predicted_BB | 1.5140 |
| predicted_H | 2.7970 |
| predicted_HBP | 0.1290 |
| predicted_HR | 0.2890 |
| predicted_OBP | 0.2904 |
| predicted_R | 1.9300 |
| predicted_RBI | 1.1780 |
| predicted_SLG | 0.3107 |
| predicted_SO | 3.3890 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.5570 | 0.3575 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.8740 | 13.5900 | 8.1592 | model_form_blend |
| predicted_AVG | 0.2090 | 0.2058 | 0.2076 | model_form_blend |
| predicted_BB | 0.4930 | 1.5140 | 0.9433 | model_form_blend |
| predicted_H | 0.6600 | 2.7970 | 1.6025 | model_form_blend |
| predicted_HBP | - | 0.1290 | 0.1290 | form_only |
| predicted_HR | 0.0800 | 0.2890 | 0.1722 | model_form_blend |
| predicted_OBP | 0.2560 | 0.2904 | 0.2712 | model_form_blend |
| predicted_R | 0.4560 | 1.9300 | 1.1061 | model_form_blend |
| predicted_RBI | 0.2900 | 1.1780 | 0.6817 | model_form_blend |
| predicted_SLG | 0.3040 | 0.3107 | 0.3070 | model_form_blend |
| predicted_SO | 1.0510 | 3.3890 | 2.0822 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 219 |
| Season rows before report date | 219 |
| Report year | 2026 |
| Profile rows used | 215 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| 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 | 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| 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 | PR-SS |
| gameID | 20260531_ATL@CIN |
| game_type | ph |
| mlbID | 680574 |
| note | Ran for De La Cruz, E in the 5th. |
| playerID | 680574 |
| playerName | Matt McLain |
| pos | 2B |
| started | False |
| startingPosition | PR |
| team | CIN |
| teamID | 7 |
| game_date | 2026-05-31 |
| sl_k_percent | 23.5 |
| sl_bb_percent | 11.3 |
| sl_woba | 0.284 |
| sl_xwoba | 0.31 |
| sl_xba | 0.227 |
| sl_xslg | 0.37 |
| sl_sweet_spot_percent | 35.2 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 35.9 |
| sl_exit_velocity_avg | 87.8 |
| sl_launch_angle_avg | 20.1 |
| sl_whiff_percent | 24.8 |
| sl_swing_percent | 42.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_ER | 5.000 | 5.000 | 5.000 | Pitching_ER | 1.000 | 1.000 | 4.000 | 4.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 1.000 | 1.000 | 5.000 | 5.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.200 | 0.200 | 0.900 | 0.900 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 1.000 | 1.000 | 2.000 | 2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.1000 (boost 1.0000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 1.1000 (boost 1.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "680689",
"player_name": "Lyon Richardson",
"position": "Starter",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement 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": 5.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 0.1,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 5.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 1.1,
"predicted_R": 5.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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 5.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 3.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 1 | 0.200 | 1.000 | 1.000 | 0.000 | 1.000 | 1.000 | 13.5000 | 1.5000 | 1.5000 | 1.5000 | 0.0000 | 1.5000 | 1.5000 |
| last_10 | 0.35 | 1 | 0.200 | 1.000 | 1.000 | 0.000 | 1.000 | 1.000 | 13.5000 | 1.5000 | 1.5000 | 1.5000 | 0.0000 | 1.5000 | 1.5000 |
| season | 0.20 | 1 | 0.200 | 1.000 | 1.000 | 0.000 | 1.000 | 1.000 | 13.5000 | 1.5000 | 1.5000 | 1.5000 | 0.0000 | 1.5000 | 1.5000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1230 |
| predicted_ER | 0.1720 |
| predicted_ERA | 4.5235 |
| predicted_H | 0.3300 |
| predicted_HR | 0.0580 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3260 |
| predicted_WHIP | 1.3233 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.1230 | 0.7910 | model_form_blend |
| predicted_ER | 5.0000 | 0.1720 | 3.8494 | model_form_blend |
| predicted_ERA | - | 4.5235 | 4.5235 | form_only |
| predicted_H | 6.0000 | 0.3300 | 4.6487 | model_form_blend |
| predicted_HR | 1.0000 | 0.0580 | 0.7755 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 3.0000 | 0.3260 | 2.3627 | model_form_blend |
| predicted_WHIP | - | 1.3233 | 1.3233 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 1 |
| Season rows before report date | 1 |
| Report year | 2026 |
| Profile rows used | 1 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 6 |
| R | 5 |
| ER | 5 |
| BB | 1 |
| SO | 3 |
| HR | 1 |
| BF | 11 |
| Pitches | 39 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 13.50 |
| 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 | 0.2 |
| Pitching_Pitches | 11 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260530_ATL@CIN |
| game_type | full |
| mlbID | 680689 |
| playerID | 680689 |
| playerName | Lyon Richardson |
| pos | P |
| started | False |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-05-30 |
| sl_k_percent | 33.3 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.695 |
| sl_xwoba | 0.928 |
| sl_sweet_spot_percent | 50.0 |
| sl_barrel_batted_rate | 100.0 |
| sl_hard_hit_percent | 50.0 |
| sl_whiff_percent | 0.0 |
| sl_swing_percent | 27.3 |
| sl_avg_best_speed | 106.40942 |
| sl_avg_hyper_speed | 106.40942 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.500 | 1.000 | 0.500 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.150 | 1.200 | -0.050 | -0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 2.000 | 3.000 | -1.000 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 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": "657571",
"player_name": "Caleb Ferguson",
"position": "Middle Reliever",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.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 | 1.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 | 2 | 3.000 | 0.000 | 1.000 | 0.000 | 4.000 | 0.000 | 0.0000 | 0.3333 | 0.0000 | 0.3333 | 0.0000 | 1.3333 | 0.0000 |
| last_10 | 0.35 | 2 | 3.000 | 0.000 | 1.000 | 0.000 | 4.000 | 0.000 | 0.0000 | 0.3333 | 0.0000 | 0.3333 | 0.0000 | 1.3333 | 0.0000 |
| season | 0.20 | 2 | 3.000 | 0.000 | 1.000 | 0.000 | 4.000 | 0.000 | 0.0000 | 0.3333 | 0.0000 | 0.3333 | 0.0000 | 1.3333 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4390 |
| predicted_ER | 0.5680 |
| predicted_ERA | 3.8336 |
| predicted_H | 1.1800 |
| predicted_HR | 0.1590 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.3100 |
| predicted_WHIP | 1.2143 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4390 | 0.8473 | model_form_blend |
| predicted_ER | 0.0000 | 0.5680 | 0.1546 | model_form_blend |
| predicted_ERA | - | 3.8336 | 3.8336 | form_only |
| predicted_H | 1.0000 | 1.1800 | 1.0490 | model_form_blend |
| predicted_HR | 0.0000 | 0.1590 | 0.0433 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.3100 | 1.0844 | model_form_blend |
| predicted_WHIP | - | 1.2143 | 1.2143 | 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 | 1.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 6 |
| Pitches | 24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 3 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260529_ATL@CIN |
| game_type | full |
| mlbID | 657571 |
| playerID | 657571 |
| playerName | Caleb Ferguson |
| pos | P |
| started | False |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-05-29 |
| sl_k_percent | 36.4 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.09 |
| sl_xwoba | 0.173 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 16.7 |
| sl_whiff_percent | 21.1 |
| sl_swing_percent | 55.9 |
| sl_avg_best_speed | 68.44628 |
| sl_avg_hyper_speed | 92.500483333 |
| 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 | 1.000 | -0.429 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.536 | 0.000 | 0.464 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.721 | 0.100 | 0.279 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.929 | 0.000 | 0.071 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "594580",
"player_name": "Sam Moll",
"position": "Middle Reliever",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 0.000 | 1.000 | 1.000 | 6.000 | 0.000 | 0.0000 | 0.4615 | 0.0000 | 0.2308 | 0.2308 | 1.3846 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 4.000 | 5.000 | 3.000 | 11.000 | 1.000 | 4.0000 | 0.8889 | 0.4444 | 0.5556 | 0.3333 | 1.2222 | 0.1111 |
| season | 0.20 | 27 | 25.100 | 7.000 | 14.000 | 12.000 | 26.000 | 2.000 | 2.4868 | 1.0263 | 0.2763 | 0.5526 | 0.4737 | 1.0263 | 0.0790 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3420 |
| predicted_ER | 0.3440 |
| predicted_ERA | 3.0925 |
| predicted_H | 0.6790 |
| predicted_HR | 0.0940 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0980 |
| predicted_WHIP | 1.0213 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3420 | 0.1501 | model_form_blend |
| predicted_ER | 0.0000 | 0.3440 | 0.1509 | model_form_blend |
| predicted_ERA | - | 3.0925 | 3.0925 | form_only |
| predicted_H | 1.0000 | 0.6790 | 0.8592 | model_form_blend |
| predicted_HR | 0.0000 | 0.0940 | 0.0412 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0980 | 1.0430 | model_form_blend |
| predicted_WHIP | - | 1.0213 | 1.0213 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 28 |
| Season rows before report date | 28 |
| Report year | 2026 |
| Profile rows used | 27 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 2 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.49 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 10 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260531_ATL@CIN |
| game_type | full |
| mlbID | 594580 |
| playerID | 594580 |
| playerName | Sam Moll |
| pos | P |
| started | False |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-05-31 |
| sl_k_percent | 25.5 |
| sl_bb_percent | 10.8 |
| sl_woba | 0.258 |
| sl_xwoba | 0.284 |
| sl_sweet_spot_percent | 23.0 |
| sl_barrel_batted_rate | 5.5 |
| sl_hard_hit_percent | 29.5 |
| sl_whiff_percent | 26.1 |
| sl_swing_percent | 39.2 |
| sl_avg_best_speed | 75.976914815 |
| sl_avg_hyper_speed | 92.993875926 |
| 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.552 | 0.000 | -0.552 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.379 | 0.000 | -0.379 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.759 | 0.000 | 0.241 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.766 | 1.100 | 0.234 | -0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.931 | 1.000 | -0.931 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.6667 -> 1.0000 (boost 0.3333, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.6667 -> 1.0000 (boost 0.3333, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656271",
"player_name": "Brock Burke",
"position": "Middle Reliever",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement 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": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.4999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 2.000 | 2.000 | 2.000 | 2.000 | 1.000 | 3.8571 | 0.8571 | 0.4286 | 0.4286 | 0.4286 | 0.4286 | 0.2143 |
| last_10 | 0.35 | 10 | 9.200 | 5.000 | 6.000 | 5.000 | 5.000 | 3.000 | 4.6552 | 1.1379 | 0.5172 | 0.6207 | 0.5172 | 0.5172 | 0.3103 |
| season | 0.20 | 29 | 27.100 | 11.000 | 22.000 | 16.000 | 27.000 | 3.000 | 3.6220 | 1.3902 | 0.4024 | 0.8049 | 0.5854 | 0.9878 | 0.1098 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3630 |
| predicted_ER | 0.3900 |
| predicted_ERA | 4.1848 |
| predicted_H | 0.6330 |
| predicted_HR | 0.1530 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.6290 |
| predicted_WHIP | 1.1854 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3630 | 0.1622 | model_form_blend |
| predicted_ER | 0.0000 | 0.3900 | 0.1742 | model_form_blend |
| predicted_ERA | - | 4.1848 | 4.1848 | form_only |
| predicted_H | 1.0000 | 0.6330 | 0.8360 | model_form_blend |
| predicted_HR | 0.0000 | 0.1530 | 0.0684 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.6290 | 0.2810 | model_form_blend |
| predicted_WHIP | - | 1.1854 | 1.1854 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 29 |
| Season rows before report date | 29 |
| Report year | 2026 |
| Profile rows used | 29 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.62 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 15 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260531_ATL@CIN |
| game_type | full |
| mlbID | 656271 |
| playerID | 656271 |
| playerName | Brock Burke |
| pos | P |
| started | False |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-05-31 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 13.8 |
| sl_woba | 0.329 |
| sl_xwoba | 0.344 |
| sl_sweet_spot_percent | 39.7 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 31.5 |
| sl_whiff_percent | 30.5 |
| sl_swing_percent | 43.7 |
| sl_avg_best_speed | 77.585698529 |
| sl_avg_hyper_speed | 93.330565522 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.222 | 1.000 | -0.222 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.556 | 0.000 | -0.556 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.889 | 1.000 | 0.111 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.911 | 1.000 | 0.089 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.778 | 0.000 | -0.778 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "622088",
"player_name": "Tejay Antone",
"position": "Middle Reliever",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement 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.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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.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 | 3.200 | 3.000 | 5.000 | 2.000 | 1.000 | 1.000 | 7.3636 | 1.9091 | 0.8182 | 1.3636 | 0.5454 | 0.2727 | 0.2727 |
| last_10 | 0.35 | 9 | 8.200 | 5.000 | 8.000 | 2.000 | 7.000 | 1.000 | 5.1923 | 1.1538 | 0.5769 | 0.9231 | 0.2308 | 0.8077 | 0.1154 |
| season | 0.20 | 9 | 8.200 | 5.000 | 8.000 | 2.000 | 7.000 | 1.000 | 5.1923 | 1.1538 | 0.5769 | 0.9231 | 0.2308 | 0.8077 | 0.1154 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1730 |
| predicted_ER | 0.2430 |
| predicted_ERA | 4.8594 |
| predicted_H | 0.4570 |
| predicted_HR | 0.0690 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3710 |
| predicted_WHIP | 1.3953 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1730 | 0.0580 | model_form_blend |
| predicted_ER | 0.0000 | 0.2430 | 0.0815 | model_form_blend |
| predicted_ERA | - | 4.8594 | 4.8594 | form_only |
| predicted_H | 1.0000 | 0.4570 | 0.8180 | model_form_blend |
| predicted_HR | 0.0000 | 0.0690 | 0.0231 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.3710 | 0.1244 | model_form_blend |
| predicted_WHIP | - | 1.3953 | 1.3953 | 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 | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 5.19 |
| Pitching_Flyouts | 2 |
| 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 | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260530_ATL@CIN |
| game_type | full |
| mlbID | 622088 |
| playerID | 622088 |
| playerName | Tejay Antone |
| pos | P |
| started | False |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-05-30 |
| sl_k_percent | 18.9 |
| sl_bb_percent | 5.4 |
| sl_woba | 0.313 |
| sl_xwoba | 0.377 |
| sl_sweet_spot_percent | 29.6 |
| sl_barrel_batted_rate | 12.0 |
| sl_hard_hit_percent | 48.1 |
| sl_whiff_percent | 23.3 |
| sl_swing_percent | 42.3 |
| sl_avg_best_speed | 81.13506 |
| sl_avg_hyper_speed | 94.6667208 |
| 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.480 | 1.000 | -0.480 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.560 | 1.000 | -0.560 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.880 | 2.000 | 0.120 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.860 | 0.200 | 0.240 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.880 | 0.000 | 0.120 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.1000 (boost 1.0000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 1.1000 (boost 1.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "663574",
"player_name": "Tony Santillan",
"position": "Middle Reliever",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement 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.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": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 3.000 | 4.000 | 3.000 | 4.000 | 1.000 | 5.7857 | 1.5000 | 0.6429 | 0.8571 | 0.6429 | 0.8571 | 0.2143 |
| last_10 | 0.35 | 10 | 9.000 | 7.000 | 10.000 | 5.000 | 7.000 | 4.000 | 7.0000 | 1.6667 | 0.7778 | 1.1111 | 0.5556 | 0.7778 | 0.4444 |
| season | 0.20 | 24 | 22.200 | 10.000 | 18.000 | 12.000 | 22.000 | 6.000 | 3.9706 | 1.3235 | 0.4412 | 0.7941 | 0.5294 | 0.9706 | 0.2647 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3070 |
| predicted_ER | 0.3620 |
| predicted_ERA | 5.0243 |
| predicted_H | 0.6110 |
| predicted_HR | 0.1390 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.5830 |
| predicted_WHIP | 1.4152 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3070 | 0.1311 | model_form_blend |
| predicted_ER | 0.0000 | 0.3620 | 0.1546 | model_form_blend |
| predicted_ERA | - | 5.0243 | 5.0243 | form_only |
| predicted_H | 1.0000 | 0.6110 | 0.8339 | model_form_blend |
| predicted_HR | 0.0000 | 0.1390 | 0.0594 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.5830 | 0.8219 | model_form_blend |
| predicted_WHIP | - | 1.4152 | 1.4152 | 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 | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 5.56 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 18 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260531_ATL@CIN |
| game_type | full |
| mlbID | 663574 |
| playerID | 663574 |
| playerName | Tony Santillan |
| pos | P |
| started | False |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-05-31 |
| sl_k_percent | 23.4 |
| sl_bb_percent | 11.7 |
| sl_woba | 0.382 |
| sl_xwoba | 0.364 |
| sl_sweet_spot_percent | 39.3 |
| sl_barrel_batted_rate | 15.0 |
| sl_hard_hit_percent | 50.8 |
| sl_whiff_percent | 21.6 |
| sl_swing_percent | 43.7 |
| sl_avg_best_speed | 82.465797333 |
| sl_avg_hyper_speed | 95.124992667 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 4.000 | 4.000 | -3.000 | -3.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 3.000 | 3.000 | -2.000 | -2.000 |
| predicted_IP | 2.000 | 2.000 | 2.000 | Pitching_InningsPitched | 0.100 | 0.100 | 1.900 | 1.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.000 | 1.000 | 0.000 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 5 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 0 |
| Better Metrics | 2 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_IP: 0.1000 -> 2.0000 (boost 1.9000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 5 | 5 | 0 | 2 | 3 | predicted_IP: 0.1000 -> 2.0000 (boost 1.9000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "628708",
"player_name": "Yunior Marte",
"position": "Reliever",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement 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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 2.0,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 2.0,
"delta": 1.9,
"percent_delta": 19.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 2.0,
"delta": 1.9,
"percent_delta": 19.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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 2.0,
"delta": 1.9,
"percent_delta": 19.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 2.0,
"delta": 1.9,
"percent_delta": 19.0,
"direction": "boost",
"projection_effect": "better",
"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 | 1 | 0.100 | 4.000 | 3.000 | 1.000 | 1.000 | 0.000 | 108.0000 | 12.0000 | 12.0000 | 9.0000 | 3.0000 | 3.0000 | 0.0000 |
| last_10 | 0.35 | 1 | 0.100 | 4.000 | 3.000 | 1.000 | 1.000 | 0.000 | 108.0000 | 12.0000 | 12.0000 | 9.0000 | 3.0000 | 3.0000 | 0.0000 |
| season | 0.20 | 1 | 0.100 | 4.000 | 3.000 | 1.000 | 1.000 | 0.000 | 108.0000 | 12.0000 | 12.0000 | 9.0000 | 3.0000 | 3.0000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1340 |
| predicted_ER | 0.2090 |
| predicted_ERA | 5.6359 |
| predicted_H | 0.3520 |
| predicted_HR | 0.0440 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3220 |
| predicted_WHIP | 1.4575 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1340 | 0.0312 | model_form_blend |
| predicted_ER | 0.0000 | 0.2090 | 0.0487 | model_form_blend |
| predicted_ERA | - | 5.6359 | 5.6359 | form_only |
| predicted_H | 0.0000 | 0.3520 | 0.0820 | model_form_blend |
| predicted_HR | 0.0000 | 0.0440 | 0.0103 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.3220 | 0.0750 | model_form_blend |
| predicted_WHIP | - | 1.4575 | 1.4575 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 1 |
| Season rows before report date | 1 |
| Report year | 2026 |
| Profile rows used | 1 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 2.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 8 |
| Pitches | 44 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 4 |
| Pitching_ERA | 108.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 3 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 21 |
| Pitching_R | 4 |
| Pitching_SO | 1 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260529_ATL@CIN |
| game_type | full |
| mlbID | 628708 |
| playerID | 628708 |
| playerName | Yunior Marte |
| pos | P |
| started | False |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-05-29 |
| sl_k_percent | 16.7 |
| sl_bb_percent | 16.7 |
| sl_woba | 0.761 |
| sl_xwoba | 0.562 |
| sl_sweet_spot_percent | 100.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 33.3 |
| sl_whiff_percent | 41.7 |
| sl_swing_percent | 57.1 |
| sl_avg_best_speed | 81.37037 |
| sl_avg_hyper_speed | 93.13661 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | LAD 3 - 4 ARI | ARI | 0.588 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | LAD 2 - 4 ARI | ARI | - | 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.5879 |
| 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.149 | 7.486 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 7 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 2 | 4 | 0.5879 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 3 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 3 | 4 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 2 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.48004268292682933,
"base_low_score_probability": 0.42784552845528456,
"low_score_signal_threshold": 0.5078455284552845,
"low_score_signal_strength": 0.05219715447154477,
"confidence": 0.661,
"factors": {
"environmental": 1.02,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.122
},
"prediction": "normal_scoring",
"expected_total_runs": 7,
"pre_simulation_expected_total_runs": 9.6,
"low_score_model_expected_total_runs": 9.6,
"final_simulation_total_runs": 6,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 61,
"near_bucket_sample_size": 7,
"medium_bucket_sample_size": 25,
"wide_bucket_sample_size": 61,
"global_sample_size": 74,
"bucket_scope": "pooled_0.12",
"sparse_bucket": false,
"empirical_hit_rate": 0.5902,
"bayesian_hit_rate": 0.5696,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.7722,
"confidence_cap": 0.78,
"raw_pick_probability": 0.6399,
"calibrated_pick_probability": 0.5879,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "ARI",
"games": 58,
"wins": 31,
"losses": 27,
"win_pct": 0.5344827586206896,
"runs_scored": 264,
"runs_allowed": 256,
"run_differential": 8,
"run_differential_per_game": 0.13793103448275862,
"available": true
},
"away": {
"team": "LAD",
"games": 59,
"wins": 38,
"losses": 21,
"win_pct": 0.6440677966101694,
"runs_scored": 314,
"runs_allowed": 185,
"run_differential": 129,
"run_differential_per_game": 2.1864406779661016,
"available": true
},
"run_differential_edge_per_game": -2.0485,
"win_pct_edge": -0.1096,
"quality_edge": -2.2129,
"margin_adjustment": -0.9294,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 2.143,
"home_runs": 3.788,
"home_win_probability": 0.6399
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "ARI",
"guardrail_predicted_team": "ARI",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "ARI",
"output_opponent_team": "LAD",
"final_score_winner": "ARI",
"pre_simulation_winner": "ARI",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "LAD 3 - 4 ARI",
"winner": "ARI"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "LAD 2 - 4 ARI",
"winner": "ARI"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 0,
"total_run_delta": -1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "ARI",
"games": 58,
"wins": 31,
"losses": 27,
"win_pct": 0.5344827586206896,
"runs_scored": 264,
"runs_allowed": 256,
"run_differential": 8,
"run_differential_per_game": 0.13793103448275862,
"available": true
},
"away": {
"team": "LAD",
"games": 59,
"wins": 38,
"losses": 21,
"win_pct": 0.6440677966101694,
"runs_scored": 314,
"runs_allowed": 185,
"run_differential": 129,
"run_differential_per_game": 2.1864406779661016,
"available": true
}
}
}{
"applied": false,
"raw_margin": 1.6456,
"final_margin": 1.6456,
"margin_cap": 4.25,
"season_quality_edge": 2.2129,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.587949,
"final_confidence": 0.587949,
"confidence_cap": 0.66,
"score_gap": 1.6456,
"calibration_sample_size": 61,
"calibration_empirical_hit_rate": 0.5902,
"calibration_bayesian_hit_rate": 0.5696,
"calibration_sparse_bucket": false,
"season_quality_edge": 2.2129,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is moderate",
"local calibration sample has at least 30 games",
"local calibration sample has at least 60 games",
"season run-differential edge supports the pick",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "LAD 3 - 4 ARI",
"winner": "ARI"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "LAD 2 - 4 ARI",
"winner": "ARI"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 0,
"total_run_delta": -1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 3,
"home_runs": 4,
"confidence": 0.587949,
"home_win_probability": 0.587949,
"away_win_probability": 0.41205099999999995,
"predicted_score_text": "LAD 3 - 4 ARI",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "LAD",
"original_runs": 2,
"run_delta": 0.8806,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 64.0,
"quality": 0.6233350727696739,
"contact": 0.7578997456516244,
"power": 0.6567692918901137,
"discipline": 0.533840539900587,
"xwoba": 0.357453125,
"recent_xwoba": 0.357453125,
"barrel": 10.3359375,
"ab_hard_contact": 0.3485197663736823,
"ab_bat_speed": 69.77500398285768,
"ab_strikeout_rate": 0.1772727244392397,
"available_players": 9,
"top_players": [
{
"player_id": "660271",
"player_name": "Shohei Ohtani",
"position": "DH",
"weight": 8.0,
"quality": 1.4633761798306033,
"contact": 1.515507480811902,
"power": 1.7932880190498228,
"discipline": 0.6733398268398267,
"xwoba": 0.407,
"recent_xwoba": 0.4069999999999999,
"barrel": 16.3,
"ab_hard_contact": 1.2489984762345114,
"ab_bat_speed": 73.65034166666666,
"ab_strikeout_rate": 0.221,
"available": 1.0
},
{
"player_id": "571970",
"player_name": "Max Muncy",
"position": "3B",
"weight": 7.0,
"quality": 1.0553877525288853,
"contact": 1.0915985420619014,
"power": 1.8228436238783818,
"discipline": 0.23334379509379502,
"xwoba": 0.39,
"recent_xwoba": 0.39,
"barrel": 17.5,
"ab_hard_contact": 1.0732534299485685,
"ab_bat_speed": 70.70347280092592,
"ab_strikeout_rate": 0.2576388888888889,
"available": 1.0
},
{
"player_id": "518692",
"player_name": "Freddie Freeman",
"position": "1B",
"weight": 8.0,
"quality": 1.0784784569118908,
"contact": 1.210422080408971,
"power": 1.1657113338939262,
"discipline": 0.6982958707958709,
"xwoba": 0.37999999999999995,
"recent_xwoba": 0.38,
"barrel": 11.9,
"ab_hard_contact": 0.77784572549755,
"ab_bat_speed": 69.57375961538462,
"ab_strikeout_rate": 0.15961538461538463,
"available": 1.0
},
{
"player_id": "669257",
"player_name": "Will Smith",
"position": "C",
"weight": 7.0,
"quality": 0.7849063544861622,
"contact": 1.0000454407676045,
"power": 1.0404225619020866,
"discipline": 0.6811637471056076,
"xwoba": 0.381,
"recent_xwoba": 0.381,
"barrel": 13.6,
"ab_hard_contact": 1.084832190422667,
"ab_bat_speed": 69.19187338501291,
"ab_strikeout_rate": 0.1686046511627907,
"available": 1.0
},
{
"player_id": "681624",
"player_name": "Andy Pages",
"position": "CF",
"weight": 8.0,
"quality": 0.7699129617825399,
"contact": 1.0351164214179616,
"power": 0.9551825203895935,
"discipline": -0.1789567099567101,
"xwoba": 0.36,
"recent_xwoba": 0.36,
"barrel": 10.3,
"ab_hard_contact": 0.693745645887091,
"ab_bat_speed": 71.2382103909465,
"ab_strikeout_rate": 0.20393939393939395,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "593958",
"player_name": "Eduardo Rodriguez",
"quality": -0.45938611203661356,
"contact": -0.37499913371332794,
"command": -0.547010380475892,
"movement": -0.4934102268642217,
"xwoba": 0.332,
"whiff": 19.2,
"faced_est_woba": 0.3256279466151868,
"faced_launch_speed": 83.7702317129658,
"faced_strikeout_rate": 0.1771763584708886,
"faced_run_exp": 0.011223696476306916
}
},
"home": {
"team": "ARI",
"original_runs": 4,
"run_delta": 0.0328,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 59.0,
"quality": 0.24830688428996736,
"contact": 0.23977511428937914,
"power": -0.02908206578343906,
"discipline": 0.4219405976701602,
"xwoba": 0.3283220338983051,
"recent_xwoba": 0.3283220338983051,
"barrel": 7.15593220338983,
"ab_hard_contact": 0.025880879650004025,
"ab_bat_speed": 69.84288443497579,
"ab_strikeout_rate": 0.1635832118536492,
"available_players": 9,
"top_players": [
{
"player_id": "606466",
"player_name": "Ketel Marte",
"position": "2B",
"weight": 9.0,
"quality": 1.0511886973941273,
"contact": 1.336469647002377,
"power": 1.0449817295956927,
"discipline": 0.17500649350649317,
"xwoba": 0.378,
"recent_xwoba": 0.378,
"barrel": 10.9,
"ab_hard_contact": 0.6783012585805065,
"ab_bat_speed": 73.25293096891535,
"ab_strikeout_rate": 0.15133333333333332,
"available": 1.0
},
{
"player_id": "682998",
"player_name": "Corbin Carroll",
"position": "RF",
"weight": 8.0,
"quality": 0.9266657715010013,
"contact": 1.0131677718009127,
"power": 1.1879862632849978,
"discipline": 0.3535962370962371,
"xwoba": 0.372,
"recent_xwoba": 0.372,
"barrel": 12.8,
"ab_hard_contact": 1.526201456176124,
"ab_bat_speed": 74.37748888888889,
"ab_strikeout_rate": 0.22724358974358974,
"available": 1.0
},
{
"player_id": "678489",
"player_name": "Jorge Barrosa",
"position": "CF",
"weight": 5.0,
"quality": -0.589213635523221,
"contact": -2.0,
"power": -1.2729183113577758,
"discipline": -0.5138321308321308,
"xwoba": 0.222,
"recent_xwoba": 0.222,
"barrel": 7.0,
"ab_hard_contact": -1.3436995604888757,
"ab_bat_speed": 65.31755341880343,
"ab_strikeout_rate": 0.3148148148148148,
"available": 1.0
},
{
"player_id": "672515",
"player_name": "Gabriel Moreno",
"position": "C",
"weight": 7.0,
"quality": 0.28984818951891267,
"contact": 0.5393380480142824,
"power": 0.6952040458509202,
"discipline": 0.06245589826839823,
"xwoba": 0.346,
"recent_xwoba": 0.346,
"barrel": 12.0,
"ab_hard_contact": -0.12563336869590652,
"ab_bat_speed": 70.22562934027778,
"ab_strikeout_rate": 0.2078125,
"available": 1.0
},
{
"player_id": "656976",
"player_name": "Pavin Smith",
"position": "DH",
"weight": 4.0,
"quality": -0.011059439512429105,
"contact": -0.7275714285714278,
"power": -1.1674087773010504,
"discipline": 1.8271428571428572,
"xwoba": 0.261,
"recent_xwoba": 0.261,
"barrel": 0.0,
"ab_hard_contact": -1.3253184031638816,
"ab_bat_speed": 71.75333333333333,
"ab_strikeout_rate": 0.0,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "686218",
"player_name": "Emmet Sheehan",
"quality": 0.025026302311905106,
"contact": -0.4269057202575858,
"command": 0.7314956003924077,
"movement": 0.041837308072279686,
"xwoba": 0.312,
"whiff": 31.3,
"faced_est_woba": 0.31973930496418057,
"faced_launch_speed": 85.26939508902976,
"faced_strikeout_rate": 0.26643273080471147,
"faced_run_exp": -0.022423509220492174
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 3,
"home_runs": 4,
"predicted_score_text": "LAD 3 - 4 ARI",
"confidence": 0.587949,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "LAD 3 - 4 ARI",
"winner": "ARI"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "LAD 2 - 4 ARI",
"winner": "ARI"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 0,
"total_run_delta": -1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}Source: data/all_players_stats.csv embedded Savant hitter features. It adjusts team offense through expected production and contact quality, then records coverage so missing hitters are visible.
| Team | Applied | Offense Factor | Raw Avg Factor | Coverage Weight | Covered | Missing |
|---|---|---|---|---|---|---|
| Away LAD | True | 1.0584 | 1.0584 | 1 | 9 | 0 |
| Home ARI | True | 1.0157 | 1.0157 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Freddie Freeman | 92 | 1.1049 | 1.3982 | neutral | 0.3800 | 0.2780 | 0.5030 | 11.90 | 47 | 91.70 | 11.20 | 23.20 | 16.70 | 12.60 | 0.4000 |
| SS | Mookie Betts | 313 | 1.0272 | 0.3627 | positive_batter_regression | 0.3300 | 0.2670 | 0.4510 | 9.60 | 38.60 | 90.90 | 19.70 | 11 | 12.60 | 5.80 | 1.0286 |
| DH | Shohei Ohtani | 40 | 1.1370 | 1.8273 | neutral | 0.4070 | 0.2870 | 0.5340 | 16.30 | 51.40 | 93.40 | 12.60 | 28.50 | 22.80 | 15.60 | 0.5429 |
| CF | Andy Pages | 1 | 1.0761 | 1.0148 | neutral | 0.3600 | 0.2880 | 0.4950 | 10.30 | 48 | 90.30 | 15.10 | 22.80 | 19 | 6.30 | -0.5429 |
| RF | Kyle Tucker | 120 | 1.0136 | 0.1808 | neutral | 0.3230 | 0.2470 | 0.3700 | 5 | 39.80 | 88.90 | 17 | 22.70 | 18.60 | 12.70 | 0 |
| C | Will Smith | 148 | 1.0881 | 1.1749 | positive_batter_regression | 0.3810 | 0.2700 | 0.4890 | 13.60 | 39.40 | 90 | 21 | 16.80 | 16.80 | 10.80 | 1.4857 |
| 2B | Miguel Rojas | 213 | 1.0013 | 0.0177 | neutral | 0.3120 | 0.2810 | 0.3640 | 3.80 | 31.60 | 86.10 | 12.30 | 18.10 | 11.20 | 6.10 | 0.5429 |
| 3B | Max Muncy | 15 | 1.1062 | 1.4165 | neutral | 0.3900 | 0.2640 | 0.5490 | 17.50 | 50 | 91.50 | 13.60 | 28.90 | 25.80 | 13.10 | 0.3429 |
| LF | Alex Call | 154 | 0.9716 | -0.3785 | negative_batter_regression | 0.3040 | 0.2360 | 0.2810 | 0 | 18 | 85 | 14.90 | 10.20 | 11.40 | 15.70 | -1.7714 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Corbin Carroll | 8 | 1.0829 | 1.1051 | neutral | 0.3720 | 0.2700 | 0.4890 | 12.80 | 48.60 | 91.20 | 12.40 | 28.10 | 22.40 | 12.90 | -0.6857 |
| 3B | Nolan Arenado | 51 | 1.0185 | 0.2470 | neutral | 0.3390 | 0.2710 | 0.4160 | 6.50 | 31.90 | 85.60 | 19.30 | 23.10 | 17.90 | 9.20 | -0.6000 |
| 2B | Ketel Marte | 89 | 1.1078 | 1.4376 | positive_batter_regression | 0.3780 | 0.3070 | 0.5110 | 10.90 | 44.80 | 90.80 | 9.20 | 21.60 | 15.20 | 7.60 | 1.0286 |
| SS | Geraldo Perdomo | 81 | 1.0017 | 0.0225 | neutral | 0.3240 | 0.2480 | 0.3310 | 3.60 | 31.30 | 87.20 | 12.40 | 11.10 | 13 | 14.30 | 0.2571 |
| DH | Pavin Smith | 367 | 0.9627 | -0.4972 | neutral | 0.2610 | 0.1040 | 0.1620 | 0 | 50 | 92.10 | 39.60 | 11.10 | 25 | 25 | -0.7714 |
| 1B | Ildemaro Vargas | 61 | 1.0007 | 0.0089 | neutral | 0.3160 | 0.2900 | 0.4100 | 4 | 32.80 | 86.90 | 11 | 15.10 | 10.10 | 3.40 | -0.8000 |
| C | Gabriel Moreno | 99 | 1.0378 | 0.5033 | neutral | 0.3460 | 0.2600 | 0.4540 | 12 | 43.50 | 89.20 | 14.40 | 19.40 | 20.80 | 7.70 | 0.8286 |
| CF | Jorge Barrosa | 349 | 0.9459 | -0.7217 | negative_batter_regression | 0.2220 | 0.1560 | 0.2420 | 7 | 21.10 | 85.90 | 13.40 | 27.40 | 31.30 | 8.30 | -1.2857 |
| LF | Tommy Troy | 327 | 0.9834 | -0.2214 | neutral | 0.3120 | 0.2450 | 0.3320 | 0 | 26.70 | 86.50 | 12.10 | 24.40 | 18.20 | 13.60 | -0.6286 |
{
"home": {
"applied": true,
"offense_factor": 1.0157,
"raw_average_factor": 1.0157,
"team_espn_average_rank": 159.11,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "682998",
"player_name": "Corbin Carroll",
"offense_factor": 1.0829,
"quality_score": 1.1051,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682998",
"espn_id": 42404,
"player_name": "Corbin Carroll",
"team": "ARI",
"role": "batter",
"espn_rank": 8,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 8,
"gp_value": 55.0,
"gp_rank": 100,
"ab_value": 202.0,
"ab_rank": 88,
"r_value": 37.0,
"r_rank": 24,
"h_value": 58.0,
"h_rank": 39,
"avg_value": 0.2871287,
"avg_rank": 32.0,
"2b_value": 13.0,
"2b_rank": 22,
"3b_value": 8.0,
"3b_rank": 1,
"hr_value": 7.0,
"hr_rank": 73,
"rbi_value": 28.0,
"rbi_rank": 71,
"tb_value": 108.0,
"tb_rank": 278,
"bb_value": 30.0,
"bb_rank": 31,
"so_value": 53.0,
"so_rank": 62,
"sb_value": 7.0,
"sb_rank": 46,
"obp_value": 0.3813559,
"obp_rank": "22",
"slg_value": 0.5346534,
"slg_rank": "15",
"ops_value": 0.9160093,
"ops_rank": 11.0,
"war_value": 2.62,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 219.0,
"k_percent": 22.4,
"bb_percent": 12.9,
"woba": 0.396,
"xwoba": 0.372,
"xba": 0.27,
"xslg": 0.489,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 12.8,
"hard_hit_percent": 48.6,
"exit_velocity_avg": 91.2,
"launch_angle_avg": 12.4,
"whiff_percent": 28.1,
"swing_percent": 44.2
},
"components": {
"expected_quality": 1.4025,
"regression_edge": -0.6857,
"xwoba_edge": 1.9143,
"xba_edge": 0.8857,
"xslg_edge": 1.6429,
"barrel_edge": 1.3111,
"hard_hit_edge": 1.3714,
"exit_velocity_edge": 0.96,
"sweet_spot_edge": -0.15,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "571448",
"player_name": "Nolan Arenado",
"offense_factor": 1.0185,
"quality_score": 0.247,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "571448",
"espn_id": 31261,
"player_name": "Nolan Arenado",
"team": "ARI",
"role": "batter",
"espn_rank": 51,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 51,
"gp_value": 53.0,
"gp_rank": 134,
"ab_value": 175.0,
"ab_rank": 138,
"r_value": 27.0,
"r_rank": 84,
"h_value": 47.0,
"h_rank": 108,
"avg_value": 0.2685714,
"avg_rank": 54.0,
"2b_value": 11.0,
"2b_rank": 51,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 7.0,
"hr_rank": 73,
"rbi_value": 27.0,
"rbi_rank": 80,
"tb_value": 79.0,
"tb_rank": 694,
"bb_value": 18.0,
"bb_rank": 129,
"so_value": 38.0,
"so_rank": 151,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.35,
"obp_rank": "49",
"slg_value": 0.4514285,
"slg_rank": "55",
"ops_value": 0.8014285,
"ops_rank": 53.0,
"war_value": 1.66,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 192.0,
"k_percent": 17.9,
"bb_percent": 9.2,
"woba": 0.36,
"xwoba": 0.339,
"xba": 0.271,
"xslg": 0.416,
"sweet_spot_percent": 38.4,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 31.9,
"exit_velocity_avg": 85.6,
"launch_angle_avg": 19.3,
"whiff_percent": 23.1,
"swing_percent": 44.3
},
"components": {
"expected_quality": 0.4268,
"regression_edge": -0.6,
"xwoba_edge": 0.9714,
"xba_edge": 0.9143,
"xslg_edge": 0.6,
"barrel_edge": -0.0889,
"hard_hit_edge": -1.0143,
"exit_velocity_edge": -1.28,
"sweet_spot_edge": 0.85,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "606466",
"player_name": "Ketel Marte",
"offense_factor": 1.1078,
"quality_score": 1.4376,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "606466",
"espn_id": 32512,
"player_name": "Ketel Marte",
"team": "ARI",
"role": "batter",
"espn_rank": 89,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 89,
"gp_value": 55.0,
"gp_rank": 100,
"ab_value": 221.0,
"ab_rank": 26,
"r_value": 34.0,
"r_rank": 40,
"h_value": 58.0,
"h_rank": 39,
"avg_value": 0.2624434,
"avg_rank": 66.0,
"2b_value": 11.0,
"2b_rank": 51,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 9.0,
"hr_rank": 47,
"rbi_value": 33.0,
"rbi_rank": 35,
"tb_value": 100.0,
"tb_rank": 251,
"bb_value": 19.0,
"bb_rank": 115,
"so_value": 36.0,
"so_rank": 167,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3181818,
"obp_rank": "105",
"slg_value": 0.4524886,
"slg_rank": "53",
"ops_value": 0.7706704,
"ops_rank": 71.0,
"war_value": 1.2,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 220.0,
"k_percent": 15.2,
"bb_percent": 7.6,
"woba": 0.342,
"xwoba": 0.378,
"xba": 0.307,
"xslg": 0.511,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 10.9,
"hard_hit_percent": 44.8,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 9.2,
"whiff_percent": 21.6,
"swing_percent": 48.8
},
"components": {
"expected_quality": 1.5042,
"regression_edge": 1.0286,
"xwoba_edge": 2.0857,
"xba_edge": 1.9429,
"xslg_edge": 1.9571,
"barrel_edge": 0.8889,
"hard_hit_edge": 0.8286,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "672695",
"player_name": "Geraldo Perdomo",
"offense_factor": 1.0017,
"quality_score": 0.0225,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672695",
"espn_id": 41355,
"player_name": "Geraldo Perdomo",
"team": "ARI",
"role": "batter",
"espn_rank": 81,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 81,
"gp_value": 55.0,
"gp_rank": 100,
"ab_value": 192.0,
"ab_rank": 114,
"r_value": 27.0,
"r_rank": 84,
"h_value": 43.0,
"h_rank": 131,
"avg_value": 0.2239583,
"avg_rank": 132.0,
"2b_value": 9.0,
"2b_rank": 97,
"3b_value": 3.0,
"3b_rank": 4,
"hr_value": 3.0,
"hr_rank": 201,
"rbi_value": 21.0,
"rbi_rank": 141,
"tb_value": 67.0,
"tb_rank": 839,
"bb_value": 33.0,
"bb_rank": 24,
"so_value": 30.0,
"so_rank": 214,
"sb_value": 8.0,
"sb_rank": 37,
"obp_value": 0.3333333,
"obp_rank": "81",
"slg_value": 0.3489583,
"slg_rank": "136",
"ops_value": 0.6822916,
"ops_rank": 121.0,
"war_value": 1.25,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 211.0,
"k_percent": 13.0,
"bb_percent": 14.3,
"woba": 0.315,
"xwoba": 0.324,
"xba": 0.248,
"xslg": 0.331,
"sweet_spot_percent": 34.3,
"barrel_batted_rate": 3.6,
"hard_hit_percent": 31.3,
"exit_velocity_avg": 87.2,
"launch_angle_avg": 12.4,
"whiff_percent": 11.1,
"swing_percent": 39.6
},
"components": {
"expected_quality": -0.0146,
"regression_edge": 0.2571,
"xwoba_edge": 0.5429,
"xba_edge": 0.2571,
"xslg_edge": -0.6143,
"barrel_edge": -0.7333,
"hard_hit_edge": -1.1,
"exit_velocity_edge": -0.64,
"sweet_spot_edge": 0.1667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "656976",
"player_name": "Pavin Smith",
"offense_factor": 0.9627,
"quality_score": -0.4972,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656976",
"espn_id": 40767,
"player_name": "Pavin Smith",
"team": "ARI",
"role": "batter",
"espn_rank": 367,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 367,
"gp_value": 2.0,
"gp_rank": 517,
"ab_value": 6.0,
"ab_rank": 507,
"r_value": 1.0,
"r_rank": 464,
"h_value": 1.0,
"h_rank": 494,
"avg_value": 0.1666666,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 455,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 0.0,
"hr_rank": 401,
"rbi_value": 1.0,
"rbi_rank": 463,
"tb_value": 1.0,
"tb_rank": 2468,
"bb_value": 2.0,
"bb_rank": 415,
"so_value": 2.0,
"so_rank": 498,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.375,
"obp_rank": "-",
"slg_value": 0.1666666,
"slg_rank": "-",
"ops_value": 0.5416666,
"ops_rank": null,
"war_value": -0.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 4.0,
"k_percent": 25.0,
"bb_percent": 25.0,
"woba": 0.288,
"xwoba": 0.261,
"xba": 0.104,
"xslg": 0.162,
"sweet_spot_percent": 0.0,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 92.1,
"launch_angle_avg": 39.6,
"whiff_percent": 11.1,
"swing_percent": 38.3
},
"components": {
"expected_quality": -1.1593,
"regression_edge": -0.7714,
"xwoba_edge": -1.2571,
"xba_edge": -2.5,
"xslg_edge": -2.5,
"barrel_edge": -1.5333,
"hard_hit_edge": 1.5714,
"exit_velocity_edge": 1.32,
"sweet_spot_edge": -2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "545121",
"player_name": "Ildemaro Vargas",
"offense_factor": 1.0007,
"quality_score": 0.0089,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "545121",
"espn_id": 32985,
"player_name": "Ildemaro Vargas",
"team": "ARI",
"role": "batter",
"espn_rank": 61,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 61,
"gp_value": 51.0,
"gp_rank": 155,
"ab_value": 200.0,
"ab_rank": 92,
"r_value": 30.0,
"r_rank": 58,
"h_value": 59.0,
"h_rank": 35,
"avg_value": 0.295,
"avg_rank": 18.0,
"2b_value": 9.0,
"2b_rank": 97,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 7.0,
"hr_rank": 73,
"rbi_value": 37.0,
"rbi_rank": 21,
"tb_value": 93.0,
"tb_rank": 371,
"bb_value": 7.0,
"bb_rank": 299,
"so_value": 21.0,
"so_rank": 306,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.3205741,
"obp_rank": "100",
"slg_value": 0.465,
"slg_rank": "46",
"ops_value": 0.7855741,
"ops_rank": 60.0,
"war_value": 1.56,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 191.0,
"k_percent": 10.1,
"bb_percent": 3.4,
"woba": 0.344,
"xwoba": 0.316,
"xba": 0.29,
"xslg": 0.41,
"sweet_spot_percent": 30.5,
"barrel_batted_rate": 4.0,
"hard_hit_percent": 32.8,
"exit_velocity_avg": 86.9,
"launch_angle_avg": 11.0,
"whiff_percent": 15.1,
"swing_percent": 50.9
},
"components": {
"expected_quality": 0.1422,
"regression_edge": -0.8,
"xwoba_edge": 0.3143,
"xba_edge": 1.4571,
"xslg_edge": 0.5143,
"barrel_edge": -0.6444,
"hard_hit_edge": -0.8857,
"exit_velocity_edge": -0.76,
"sweet_spot_edge": -0.4667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "672515",
"player_name": "Gabriel Moreno",
"offense_factor": 1.0378,
"quality_score": 0.5033,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672515",
"espn_id": 42464,
"player_name": "Gabriel Moreno",
"team": "ARI",
"role": "batter",
"espn_rank": 99,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 99,
"gp_value": 35.0,
"gp_rank": 290,
"ab_value": 117.0,
"ab_rank": 239,
"r_value": 18.0,
"r_rank": 182,
"h_value": 31.0,
"h_rank": 212,
"avg_value": 0.2649572,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 139,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 3.0,
"hr_rank": 201,
"rbi_value": 19.0,
"rbi_rank": 167,
"tb_value": 48.0,
"tb_rank": 1270,
"bb_value": 11.0,
"bb_rank": 230,
"so_value": 27.0,
"so_rank": 242,
"sb_value": 3.0,
"sb_rank": 126,
"obp_value": 0.3257575,
"obp_rank": "-",
"slg_value": 0.4102564,
"slg_rank": "-",
"ops_value": 0.7360139,
"ops_rank": null,
"war_value": 1.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 119.0,
"k_percent": 20.8,
"bb_percent": 7.7,
"woba": 0.317,
"xwoba": 0.346,
"xba": 0.26,
"xslg": 0.454,
"sweet_spot_percent": 40.2,
"barrel_batted_rate": 12.0,
"hard_hit_percent": 43.5,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 14.4,
"whiff_percent": 19.4,
"swing_percent": 45.5
},
"components": {
"expected_quality": 0.9471,
"regression_edge": 0.8286,
"xwoba_edge": 1.1714,
"xba_edge": 0.6,
"xslg_edge": 1.1429,
"barrel_edge": 1.1333,
"hard_hit_edge": 0.6429,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 1.15,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "678489",
"player_name": "Jorge Barrosa",
"offense_factor": 0.9459,
"quality_score": -0.7217,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "678489",
"espn_id": 41259,
"player_name": "Jorge Barrosa",
"team": "ARI",
"role": "batter",
"espn_rank": 349,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 349,
"gp_value": 41.0,
"gp_rank": 243,
"ab_value": 85.0,
"ab_rank": 310,
"r_value": 10.0,
"r_rank": 296,
"h_value": 15.0,
"h_rank": 342,
"avg_value": 0.1764705,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 97,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 1.0,
"hr_rank": 317,
"rbi_value": 7.0,
"rbi_rank": 332,
"tb_value": 29.0,
"tb_rank": 1488,
"bb_value": 8.0,
"bb_rank": 280,
"so_value": 30.0,
"so_rank": 214,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.2553191,
"obp_rank": "-",
"slg_value": 0.3411764,
"slg_rank": "-",
"ops_value": 0.5964955,
"ops_rank": null,
"war_value": -0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 87.0,
"k_percent": 31.3,
"bb_percent": 8.3,
"woba": 0.267,
"xwoba": 0.222,
"xba": 0.156,
"xslg": 0.242,
"sweet_spot_percent": 36.8,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 21.1,
"exit_velocity_avg": 85.9,
"launch_angle_avg": 13.4,
"whiff_percent": 27.4,
"swing_percent": 44.2
},
"components": {
"expected_quality": -1.6555,
"regression_edge": -1.2857,
"xwoba_edge": -2.3714,
"xba_edge": -2.3714,
"xslg_edge": -1.8857,
"barrel_edge": 0.0222,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.16,
"sweet_spot_edge": 0.5833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "694371",
"player_name": "Tommy Troy",
"offense_factor": 0.9834,
"quality_score": -0.2214,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694371",
"espn_id": 4837403,
"player_name": "Tommy Troy",
"team": "ARI",
"role": "batter",
"espn_rank": 327,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 327,
"gp_value": 7.0,
"gp_rank": 482,
"ab_value": 19.0,
"ab_rank": 467,
"r_value": 5.0,
"r_rank": 384,
"h_value": 5.0,
"h_rank": 438,
"avg_value": 0.2631578,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 353,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 0.0,
"hr_rank": 401,
"rbi_value": 0.0,
"rbi_rank": 487,
"tb_value": 7.0,
"tb_rank": 2310,
"bb_value": 3.0,
"bb_rank": 391,
"so_value": 4.0,
"so_rank": 476,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3636363,
"obp_rank": "-",
"slg_value": 0.368421,
"slg_rank": "-",
"ops_value": 0.7320573,
"ops_rank": null,
"war_value": 0.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 14.0,
"k_percent": 18.2,
"bb_percent": 13.6,
"woba": 0.334,
"xwoba": 0.312,
"xba": 0.245,
"xslg": 0.332,
"sweet_spot_percent": 20.0,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 26.7,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 12.1,
"whiff_percent": 24.4,
"swing_percent": 43.6
},
"components": {
"expected_quality": -0.4698,
"regression_edge": -0.6286,
"xwoba_edge": 0.2,
"xba_edge": 0.1714,
"xslg_edge": -0.6,
"barrel_edge": -1.5333,
"hard_hit_edge": -1.7571,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": -2.2167,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0584,
"raw_average_factor": 1.0584,
"team_espn_average_rank": 121.78,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "518692",
"player_name": "Freddie Freeman",
"offense_factor": 1.1049,
"quality_score": 1.3982,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "518692",
"espn_id": 30193,
"player_name": "Freddie Freeman",
"team": "LAD",
"role": "batter",
"espn_rank": 92,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 92,
"gp_value": 56.0,
"gp_rank": 72,
"ab_value": 210.0,
"ab_rank": 59,
"r_value": 29.0,
"r_rank": 66,
"h_value": 57.0,
"h_rank": 46,
"avg_value": 0.2714285,
"avg_rank": 50.0,
"2b_value": 15.0,
"2b_rank": 8,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 8.0,
"hr_rank": 61,
"rbi_value": 29.0,
"rbi_rank": 62,
"tb_value": 98.0,
"tb_rank": 335,
"bb_value": 30.0,
"bb_rank": 31,
"so_value": 42.0,
"so_rank": 127,
"sb_value": 2.0,
"sb_rank": 160,
"obp_value": 0.3606557,
"obp_rank": "38",
"slg_value": 0.4666666,
"slg_rank": "45",
"ops_value": 0.8273223,
"ops_rank": 40.0,
"war_value": 1.19,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 16.7,
"bb_percent": 12.6,
"woba": 0.366,
"xwoba": 0.38,
"xba": 0.278,
"xslg": 0.503,
"sweet_spot_percent": 36.3,
"barrel_batted_rate": 11.9,
"hard_hit_percent": 47.0,
"exit_velocity_avg": 91.7,
"launch_angle_avg": 11.2,
"whiff_percent": 23.2,
"swing_percent": 48.9
},
"components": {
"expected_quality": 1.5607,
"regression_edge": 0.4,
"xwoba_edge": 2.1429,
"xba_edge": 1.1143,
"xslg_edge": 1.8429,
"barrel_edge": 1.1111,
"hard_hit_edge": 1.1429,
"exit_velocity_edge": 1.16,
"sweet_spot_edge": 0.5,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "605141",
"player_name": "Mookie Betts",
"offense_factor": 1.0272,
"quality_score": 0.3627,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "605141",
"espn_id": 33039,
"player_name": "Mookie Betts",
"team": "LAD",
"role": "batter",
"espn_rank": 313,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 313,
"gp_value": 25.0,
"gp_rank": 354,
"ab_value": 98.0,
"ab_rank": 284,
"r_value": 14.0,
"r_rank": 243,
"h_value": 19.0,
"h_rank": 306,
"avg_value": 0.1938775,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 298,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 6.0,
"hr_rank": 107,
"rbi_value": 16.0,
"rbi_rank": 208,
"tb_value": 40.0,
"tb_rank": 1241,
"bb_value": 8.0,
"bb_rank": 280,
"so_value": 14.0,
"so_rank": 372,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.2592592,
"obp_rank": "-",
"slg_value": 0.4081632,
"slg_rank": "-",
"ops_value": 0.6674224,
"ops_rank": null,
"war_value": 0.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 90.0,
"k_percent": 12.6,
"bb_percent": 5.8,
"woba": 0.294,
"xwoba": 0.33,
"xba": 0.267,
"xslg": 0.451,
"sweet_spot_percent": 41.0,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 38.6,
"exit_velocity_avg": 90.9,
"launch_angle_avg": 19.7,
"whiff_percent": 11.0,
"swing_percent": 42.7
},
"components": {
"expected_quality": 0.7697,
"regression_edge": 1.0286,
"xwoba_edge": 0.7143,
"xba_edge": 0.8,
"xslg_edge": 1.1,
"barrel_edge": 0.6,
"hard_hit_edge": -0.0571,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": 1.2833,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "DH",
"player_id": "660271",
"player_name": "Shohei Ohtani",
"offense_factor": 1.137,
"quality_score": 1.8273,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "660271",
"espn_id": 39832,
"player_name": "Shohei Ohtani",
"team": "LAD",
"role": "batter",
"espn_rank": 40,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 40,
"gp_value": 54.0,
"gp_rank": 119,
"ab_value": 207.0,
"ab_rank": 72,
"r_value": 37.0,
"r_rank": 24,
"h_value": 58.0,
"h_rank": 39,
"avg_value": 0.2801932,
"avg_rank": 41.0,
"2b_value": 12.0,
"2b_rank": 32,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 10.0,
"hr_rank": 41,
"rbi_value": 31.0,
"rbi_rank": 47,
"tb_value": 102.0,
"tb_rank": 292,
"bb_value": 39.0,
"bb_rank": 10,
"so_value": 58.0,
"so_rank": 36,
"sb_value": 6.0,
"sb_rank": 58,
"obp_value": 0.4015748,
"obp_rank": "6",
"slg_value": 0.4927536,
"slg_rank": "30",
"ops_value": 0.8943284,
"ops_rank": 16.0,
"war_value": 1.86,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 229.0,
"k_percent": 22.8,
"bb_percent": 15.6,
"woba": 0.388,
"xwoba": 0.407,
"xba": 0.287,
"xslg": 0.534,
"sweet_spot_percent": 40.5,
"barrel_batted_rate": 16.3,
"hard_hit_percent": 51.4,
"exit_velocity_avg": 93.4,
"launch_angle_avg": 12.6,
"whiff_percent": 28.5,
"swing_percent": 43.8
},
"components": {
"expected_quality": 2.0363,
"regression_edge": 0.5429,
"xwoba_edge": 2.5,
"xba_edge": 1.3714,
"xslg_edge": 2.2857,
"barrel_edge": 2.0889,
"hard_hit_edge": 1.7714,
"exit_velocity_edge": 1.84,
"sweet_spot_edge": 1.2,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "681624",
"player_name": "Andy Pages",
"offense_factor": 1.0761,
"quality_score": 1.0148,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681624",
"espn_id": 42468,
"player_name": "Andy Pages",
"team": "LAD",
"role": "batter",
"espn_rank": 1,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 1,
"gp_value": 59.0,
"gp_rank": 19,
"ab_value": 221.0,
"ab_rank": 26,
"r_value": 36.0,
"r_rank": 29,
"h_value": 65.0,
"h_rank": 6,
"avg_value": 0.2941176,
"avg_rank": 20.0,
"2b_value": 13.0,
"2b_rank": 22,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 13.0,
"hr_rank": 16,
"rbi_value": 50.0,
"rbi_rank": 1,
"tb_value": 119.0,
"tb_rank": 174,
"bb_value": 16.0,
"bb_rank": 154,
"so_value": 45.0,
"so_rank": 104,
"sb_value": 7.0,
"sb_rank": 46,
"obp_value": 0.3429752,
"obp_rank": "64",
"slg_value": 0.5384615,
"slg_rank": "14",
"ops_value": 0.8814367,
"ops_rank": 22.0,
"war_value": 3.8,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 224.0,
"k_percent": 19.0,
"bb_percent": 6.3,
"woba": 0.379,
"xwoba": 0.36,
"xba": 0.288,
"xslg": 0.495,
"sweet_spot_percent": 37.7,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 48.0,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 15.1,
"whiff_percent": 22.8,
"swing_percent": 50.3
},
"components": {
"expected_quality": 1.2684,
"regression_edge": -0.5429,
"xwoba_edge": 1.5714,
"xba_edge": 1.4,
"xslg_edge": 1.7286,
"barrel_edge": 0.7556,
"hard_hit_edge": 1.2857,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": 0.7333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "663656",
"player_name": "Kyle Tucker",
"offense_factor": 1.0136,
"quality_score": 0.1808,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663656",
"espn_id": 34967,
"player_name": "Kyle Tucker",
"team": "LAD",
"role": "batter",
"espn_rank": 120,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 120,
"gp_value": 56.0,
"gp_rank": 72,
"ab_value": 207.0,
"ab_rank": 72,
"r_value": 37.0,
"r_rank": 24,
"h_value": 50.0,
"h_rank": 88,
"avg_value": 0.2415458,
"avg_rank": 103.0,
"2b_value": 15.0,
"2b_rank": 8,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 4.0,
"hr_rank": 163,
"rbi_value": 27.0,
"rbi_rank": 80,
"tb_value": 81.0,
"tb_rank": 605,
"bb_value": 30.0,
"bb_rank": 31,
"so_value": 45.0,
"so_rank": 104,
"sb_value": 4.0,
"sb_rank": 95,
"obp_value": 0.3375,
"obp_rank": "76",
"slg_value": 0.3913043,
"slg_rank": "101",
"ops_value": 0.7288043,
"ops_rank": 94.0,
"war_value": 0.93,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 18.6,
"bb_percent": 12.7,
"woba": 0.323,
"xwoba": 0.323,
"xba": 0.247,
"xslg": 0.37,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 5.0,
"hard_hit_percent": 39.8,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 17.0,
"whiff_percent": 22.7,
"swing_percent": 49.8
},
"components": {
"expected_quality": 0.2102,
"regression_edge": 0.0,
"xwoba_edge": 0.5143,
"xba_edge": 0.2286,
"xslg_edge": -0.0571,
"barrel_edge": -0.4222,
"hard_hit_edge": 0.1143,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": 0.35,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "669257",
"player_name": "Will Smith",
"offense_factor": 1.0881,
"quality_score": 1.1749,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "669257",
"espn_id": 38309,
"player_name": "Will Smith",
"team": "LAD",
"role": "batter",
"espn_rank": 148,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 148,
"gp_value": 48.0,
"gp_rank": 184,
"ab_value": 160.0,
"ab_rank": 171,
"r_value": 22.0,
"r_rank": 134,
"h_value": 41.0,
"h_rank": 147,
"avg_value": 0.25625,
"avg_rank": 78.0,
"2b_value": 4.0,
"2b_rank": 260,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 6.0,
"hr_rank": 107,
"rbi_value": 23.0,
"rbi_rank": 126,
"tb_value": 63.0,
"tb_rank": 1044,
"bb_value": 20.0,
"bb_rank": 98,
"so_value": 31.0,
"so_rank": 207,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3405405,
"obp_rank": "65",
"slg_value": 0.39375,
"slg_rank": "99",
"ops_value": 0.7342905,
"ops_rank": 89.0,
"war_value": 0.69,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 172.0,
"k_percent": 16.8,
"bb_percent": 10.8,
"woba": 0.329,
"xwoba": 0.381,
"xba": 0.27,
"xslg": 0.489,
"sweet_spot_percent": 43.2,
"barrel_batted_rate": 13.6,
"hard_hit_percent": 39.4,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 21.0,
"whiff_percent": 16.8,
"swing_percent": 41.4
},
"components": {
"expected_quality": 1.5055,
"regression_edge": 1.4857,
"xwoba_edge": 2.1714,
"xba_edge": 0.8857,
"xslg_edge": 1.6429,
"barrel_edge": 1.4889,
"hard_hit_edge": 0.0571,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 1.65,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "2B",
"player_id": "500743",
"player_name": "Miguel Rojas",
"offense_factor": 1.0013,
"quality_score": 0.0177,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "500743",
"espn_id": 30791,
"player_name": "Miguel Rojas",
"team": "LAD",
"role": "batter",
"espn_rank": 213,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 213,
"gp_value": 35.0,
"gp_rank": 290,
"ab_value": 86.0,
"ab_rank": 309,
"r_value": 8.0,
"r_rank": 335,
"h_value": 22.0,
"h_rank": 278,
"avg_value": 0.2558139,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 260,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 1.0,
"hr_rank": 317,
"rbi_value": 9.0,
"rbi_rank": 298,
"tb_value": 29.0,
"tb_rank": 1805,
"bb_value": 6.0,
"bb_rank": 315,
"so_value": 11.0,
"so_rank": 398,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3125,
"obp_rank": "-",
"slg_value": 0.3372093,
"slg_rank": "-",
"ops_value": 0.6497093,
"ops_rank": null,
"war_value": 0.34,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 89.0,
"k_percent": 11.2,
"bb_percent": 6.1,
"woba": 0.293,
"xwoba": 0.312,
"xba": 0.281,
"xslg": 0.364,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 3.8,
"hard_hit_percent": 31.6,
"exit_velocity_avg": 86.1,
"launch_angle_avg": 12.3,
"whiff_percent": 18.1,
"swing_percent": 48.9
},
"components": {
"expected_quality": -0.0425,
"regression_edge": 0.5429,
"xwoba_edge": 0.2,
"xba_edge": 1.2,
"xslg_edge": -0.1429,
"barrel_edge": -0.6889,
"hard_hit_edge": -1.0571,
"exit_velocity_edge": -1.08,
"sweet_spot_edge": -0.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "571970",
"player_name": "Max Muncy",
"offense_factor": 1.1062,
"quality_score": 1.4165,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "571970",
"espn_id": 33303,
"player_name": "Max Muncy",
"team": "LAD",
"role": "batter",
"espn_rank": 15,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 15,
"gp_value": 53.0,
"gp_rank": 134,
"ab_value": 175.0,
"ab_rank": 138,
"r_value": 39.0,
"r_rank": 15,
"h_value": 45.0,
"h_rank": 117,
"avg_value": 0.2571428,
"avg_rank": 76.0,
"2b_value": 6.0,
"2b_rank": 195,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 14.0,
"hr_rank": 12,
"rbi_value": 21.0,
"rbi_rank": 141,
"tb_value": 93.0,
"tb_rank": 664,
"bb_value": 26.0,
"bb_rank": 49,
"so_value": 51.0,
"so_rank": 75,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3564356,
"obp_rank": "44",
"slg_value": 0.5314285,
"slg_rank": "17",
"ops_value": 0.8878641,
"ops_rank": 19.0,
"war_value": 2.51,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 189.0,
"k_percent": 25.8,
"bb_percent": 13.1,
"woba": 0.378,
"xwoba": 0.39,
"xba": 0.264,
"xslg": 0.549,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 17.5,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 91.5,
"launch_angle_avg": 13.6,
"whiff_percent": 28.9,
"swing_percent": 44.1
},
"components": {
"expected_quality": 1.8614,
"regression_edge": 0.3429,
"xwoba_edge": 2.4286,
"xba_edge": 0.7143,
"xslg_edge": 2.5,
"barrel_edge": 2.3556,
"hard_hit_edge": 1.5714,
"exit_velocity_edge": 1.08,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "669743",
"player_name": "Alex Call",
"offense_factor": 0.9716,
"quality_score": -0.3785,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "669743",
"espn_id": 38994,
"player_name": "Alex Call",
"team": "LAD",
"role": "batter",
"espn_rank": 154,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 154,
"gp_value": 28.0,
"gp_rank": 337,
"ab_value": 59.0,
"ab_rank": 367,
"r_value": 12.0,
"r_rank": 270,
"h_value": 18.0,
"h_rank": 314,
"avg_value": 0.3050847,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 228,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 0.0,
"hr_rank": 401,
"rbi_value": 13.0,
"rbi_rank": 247,
"tb_value": 23.0,
"tb_rank": 2061,
"bb_value": 11.0,
"bb_rank": 230,
"so_value": 8.0,
"so_rank": 426,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.4166666,
"obp_rank": "-",
"slg_value": 0.3898305,
"slg_rank": "-",
"ops_value": 0.8064971,
"ops_rank": null,
"war_value": 0.65,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 61.0,
"k_percent": 11.4,
"bb_percent": 15.7,
"woba": 0.366,
"xwoba": 0.304,
"xba": 0.236,
"xslg": 0.281,
"sweet_spot_percent": 26.0,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 18.0,
"exit_velocity_avg": 85.0,
"launch_angle_avg": 14.9,
"whiff_percent": 10.2,
"swing_percent": 40.1
},
"components": {
"expected_quality": -0.6897,
"regression_edge": -1.7714,
"xwoba_edge": -0.0286,
"xba_edge": -0.0857,
"xslg_edge": -1.3286,
"barrel_edge": -1.5333,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.52,
"sweet_spot_edge": -1.2167,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away LAD | True | 288 | 0.1053 | 0.7720 | 0.9910 | 1.0446 | 0.9568 | 1.0230 | neutral | 0.3120 | 0.3360 | 27.20 | 6.50 | 31.30 | 9.20 | 37.60 | |
| Home ARI | True | 11 | -0.3734 | 0.9880 | 1.0317 | 0.9368 | 0.9980 | 1.0087 | negative_pitcher_regression | 0.3320 | 0.2900 | 18 | 9.20 | 19.20 | 7.60 | 35.90 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away LAD | True | None | 90 | 88.62 | 2214 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0603 | |
| Home ARI | True | None | 96 | 88.36 | 2170 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0749 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0313 |
| home_runs_vs_away_pitcher | 0.9931 |
| home_pitcher_quality_edge | -0.4787 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "593958",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 247.0,
"k_percent": 18.0,
"bb_percent": 9.2,
"woba": 0.29,
"xwoba": 0.332,
"sweet_spot_percent": 35.9,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 35.9,
"avg_best_speed": 78.3438,
"avg_hyper_speed": 93.7269,
"whiff_percent": 19.2,
"swing_percent": 46.2
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.1617,
"command_and_miss": -0.6207,
"regression_edge": -1.2,
"xwoba_edge": -0.5714,
"barrel_edge": -0.0889,
"hard_hit_edge": 0.3857,
"whiff_edge": -0.9429,
"bb_edge": 0.025,
"pitch_design_score": -0.0749
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "593958",
"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": 88.35780753783533,
"release_spin_rate": 2169.5649959989746,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 88.35780753783533,
"release_spin_rate": 2169.5649959989746,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3578,
"release_spin_rate": 2169.565,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0749,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.5349,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.3734,
"sample_weight": 0.988,
"run_prevention_factor": 1.0317,
"strikeout_factor": 0.9368,
"walk_factor": 0.998,
"homer_factor": 1.0087,
"woba_minus_xwoba": -0.042,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "593958",
"espn_id": 32675,
"player_name": "Eduardo Rodriguez",
"team": "ARI",
"role": "pitcher",
"espn_rank": 11,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 11,
"gp_value": 11.0,
"gp_rank": 291,
"gs_value": 11.0,
"gs_rank": 48,
"qs_value": 6.0,
"qs_rank": 22,
"era_value": 2.3065,
"era_rank": 9.0,
"w_value": 5.0,
"w_rank": 21,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 66.1,
"ip_rank": 31,
"h_value": 55.0,
"h_rank": 70,
"er_value": 17.0,
"er_rank": 137,
"hr_value": 5.0,
"hr_rank": 113,
"bb_value": 25.0,
"bb_rank": 24,
"k_value": 49.0,
"k_rank": 81,
"k_per_9_value": 6.648241,
"k_per_9_rank": 70,
"whip_value": 1.206,
"whip_rank": 46.0,
"war_value": 2.26,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "686218",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 193.0,
"k_percent": 27.2,
"bb_percent": 6.5,
"woba": 0.336,
"xwoba": 0.312,
"sweet_spot_percent": 36.9,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 37.6,
"avg_best_speed": 76.8783,
"avg_hyper_speed": 93.9192,
"whiff_percent": 31.3,
"swing_percent": 51.4
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.2002,
"command_and_miss": 0.7107,
"regression_edge": 0.6857,
"xwoba_edge": 0.0,
"barrel_edge": -0.4444,
"hard_hit_edge": 0.1429,
"whiff_edge": 0.7857,
"bb_edge": 0.7,
"pitch_design_score": -0.0603
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "686218",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 90,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 88.61799003023688,
"release_spin_rate": 2214.49643492905,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 88.61799003023688,
"release_spin_rate": 2214.49643492905,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.618,
"release_spin_rate": 2214.4964,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0603,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.4309,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1053,
"sample_weight": 0.772,
"run_prevention_factor": 0.991,
"strikeout_factor": 1.0446,
"walk_factor": 0.9568,
"homer_factor": 1.023,
"woba_minus_xwoba": 0.024,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686218",
"espn_id": 4417806,
"player_name": "Emmet Sheehan",
"team": "LAD",
"role": "pitcher",
"espn_rank": 288,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 288,
"gp_value": 10.0,
"gp_rank": 347,
"gs_value": 10.0,
"gs_rank": 85,
"qs_value": 4.0,
"qs_rank": 51,
"era_value": 4.7032,
"era_rank": null,
"w_value": 3.0,
"w_rank": 74,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 51.2,
"ip_rank": 104,
"h_value": 50.0,
"h_rank": 84,
"er_value": 27.0,
"er_rank": 59,
"hr_value": 9.0,
"hr_rank": 35,
"bb_value": 14.0,
"bb_rank": 156,
"k_value": 59.0,
"k_rank": 48,
"k_per_9_value": 10.277419,
"k_per_9_rank": 12,
"whip_value": 1.2387,
"whip_rank": null,
"war_value": 0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0313,
"home_runs_vs_away_pitcher": 0.9931,
"home_pitcher_quality_edge": -0.4787
},
"score_before": {
"away_runs": 1.5819,
"home_runs": 4.2359
},
"score_after": {
"away_runs": 1.6315,
"home_runs": 4.2065,
"home_win_probability": 0.7103
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away LAD | 18-38 | 0.321 | 1.50 | 2.60 | -63 | cold | strong | |
| Home ARI | 20-36 | 0.357 | 1.20 | 2.50 | -73 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away LAD | 38-21 | 0.644 | 129 | 2.186 | True |
| Home ARI | 31-27 | 0.534 | 8 | 0.138 | True |
| Signal | - | - | -2.049 | -2.213 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target LAD | - | - | 3 | - | - | - | - |
| Game target ARI | - | - | 4 | - | - | - | - |
| Player finalized LAD | 64 | 17 | 13 | 4 | 10 | 8 | 13 |
| Player finalized ARI | 59 | 15 | 8 | 0 | 7 | 8 | 13 |
| Player model fractional LAD | 64.09 | 17.05 | 11.41 | 3.27 | 10.35 | 7.71 | 12.86 |
| Player model fractional ARI | 58.84 | 14.10 | 8.90 | 1.50 | 7.38 | 6.78 | 12.34 |
| Simulation box LAD | 33 | 6 | 2 | 1 | 2 | 4 | 8 |
| Simulation box ARI | 32 | 8 | 4 | 0 | 4 | 5 | 7 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away LAD | Starter | Emmet Sheehan | 5 | 3 | 6 | 6 | 3 | 4.53 | 1.26 | True |
| Away LAD | Middle Reliever | Kyle Hurt | 1 | 0 | 1 | 0 | 0 | 3.06 | 1.17 | True |
| Away LAD | Middle Reliever | Blake Treinen | 1 | 0 | 0 | 0 | 1 | 2.95 | 1.13 | True |
| Away LAD | Middle Reliever | Tanner Scott | 1 | 0 | 0 | 0 | 1 | 4.04 | 1.08 | True |
| Away LAD | Middle Reliever | Alex Vesia | 0 | 1 | 0 | 2 | 0 | 3.20 | 1.20 | True |
| Home ARI | Starter | Eduardo Rodriguez | 6.20 | 0 | 6 | 4 | 0 | 2.75 | 1.18 | True |
| Home ARI | Middle Reliever | Jonathan Loáisiga | 0.20 | 0 | 0 | 0 | 0 | 3.93 | 1.24 | True |
| Home ARI | Middle Reliever | Paul Sewald | 0.20 | 1 | 1 | 0 | 3 | 4.23 | 1.30 | True |
| Home ARI | Middle Reliever | Taylor Clarke | 1 | 1 | 1 | 2 | 1 | 5.64 | 1.42 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | ARI | batter | RF | Corbin Carroll | better | 10 | 6 | 4 | 7 | 3 | predicted_H | 2.0200 | boost | better |
| home | ARI | pitcher | Starter | Eduardo Rodriguez | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -1.8000 | deboost | worse |
| away | LAD | batter | 2B | Miguel Rojas | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 1.6020 | boost | worse |
| away | LAD | batter | 3B | Max Muncy | worse | 10 | 3 | 7 | 4 | 6 | predicted_AB | -1.5520 | deboost | worse |
| home | ARI | batter | SS | Geraldo Perdomo | boosted | 10 | 6 | 4 | 5 | 5 | predicted_RBI | 1.5500 | boost | better |
| home | ARI | batter | 1B | Ildemaro Vargas | worse | 10 | 4 | 6 | 3 | 7 | predicted_SO | 1.5450 | boost | worse |
| home | ARI | batter | CF | Jorge Barrosa | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_AB | -1.1870 | deboost | worse |
| away | LAD | batter | RF | Kyle Tucker | worse | 11 | 5 | 6 | 4 | 7 | predicted_SO | 1.1830 | boost | worse |
| home | ARI | batter | LF | Tommy Troy | worse | 11 | 4 | 7 | 3 | 8 | predicted_R | -1.1250 | deboost | worse |
| home | ARI | batter | DH | Pavin Smith | worse | 9 | 2 | 7 | 2 | 7 | predicted_AB | -1.1000 | deboost | worse |
| away | LAD | batter | DH | Shohei Ohtani | better | 10 | 6 | 4 | 7 | 3 | predicted_SO | -1.0670 | deboost | better |
| away | LAD | batter | 1B | Freddie Freeman | worse | 11 | 4 | 7 | 3 | 8 | predicted_H | -1.0400 | deboost | worse |
| away | LAD | batter | CF | Andy Pages | better | 11 | 7 | 4 | 6 | 5 | predicted_H | 0.9300 | boost | better |
| home | ARI | pitcher | Middle Reliever | Taylor Clarke | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.9000 | boost | better |
| home | ARI | batter | C | Gabriel Moreno | worse | 11 | 4 | 7 | 5 | 6 | predicted_SO | -0.8570 | deboost | better |
| away | LAD | batter | C | Will Smith | better | 11 | 8 | 3 | 9 | 2 | predicted_HR | 0.8300 | boost | better |
| home | ARI | batter | 2B | Ketel Marte | worse | 10 | 4 | 6 | 3 | 7 | predicted_2B | 0.7960 | boost | better |
| home | ARI | batter | 3B | Nolan Arenado | better | 11 | 5 | 6 | 6 | 5 | predicted_SO | -0.7090 | deboost | better |
| away | LAD | batter | SS | Mookie Betts | worse | 11 | 1 | 10 | 2 | 9 | predicted_RBI | -0.6600 | deboost | worse |
| away | LAD | batter | LF | Alex Call | worse | 10 | 3 | 7 | 2 | 8 | predicted_R | -0.5470 | deboost | worse |
| away | LAD | pitcher | Middle Reliever | Blake Treinen | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.3333 | boost | better |
| away | LAD | pitcher | Middle Reliever | Tanner Scott | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.3333 | boost | better |
| away | LAD | pitcher | Middle Reliever | Alex Vesia | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.1000 | deboost | worse |
| home | ARI | pitcher | Middle Reliever | Jonathan Loáisiga | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
| home | ARI | pitcher | Middle Reliever | Paul Sewald | 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 | Emmet Sheehan |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1053 |
| ESPN Rank | 288 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0603 |
| Avg Velo | 88.6180 |
| Avg Spin | 2214.4964 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 3 |
| Pre H | 6 |
| Pre BB | 3 |
| Pre SO | 6 |
| Season ERA | 4.7032 |
| Season WHIP | 1.2387 |
| Role Avg IP | 5.1670 |
| Recent Avg IP | 5.0670 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 65,
"wins": 41,
"losses": 24,
"win_pct": 0.6308,
"runs_scored": 348.0,
"runs_allowed": 209.0,
"run_differential": 139.0,
"run_differential_per_game": 2.1385,
"avg_runs_scored": 5.3538,
"avg_runs_allowed": 3.2154,
"offense_index": 1.2024,
"defense_index": 1.3848,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 2.6,
"run_differential": 35.0
},
"available": true,
"quality_score": 0.4803
},
"opponent": {
"team": "ARI",
"games": 65,
"wins": 35,
"losses": 30,
"win_pct": 0.5385,
"runs_scored": 311.0,
"runs_allowed": 295.0,
"run_differential": 16.0,
"run_differential_per_game": 0.2462,
"avg_runs_scored": 4.7846,
"avg_runs_allowed": 4.5385,
"offense_index": 1.0746,
"defense_index": 0.9811,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 3.3,
"run_differential": 10.0
},
"available": true,
"quality_score": 0.0981
},
"edges": {
"quality_edge": 0.3822,
"offense_edge": 0.2024,
"opponent_offense_edge": 0.0746,
"defense_strength": 0.3848,
"opponent_defense_weakness": 0.0189,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0238,
"run_prevention": 0.9543,
"strikeout": 1.0055
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "686218",
"profile": {
"available": true,
"pitcher_id": "686218",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 193.0,
"k_percent": 27.2,
"bb_percent": 6.5,
"woba": 0.336,
"xwoba": 0.312,
"sweet_spot_percent": 36.9,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 37.6,
"avg_best_speed": 76.8783,
"avg_hyper_speed": 93.9192,
"whiff_percent": 31.3,
"swing_percent": 51.4
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.2002,
"command_and_miss": 0.7107,
"regression_edge": 0.6857,
"xwoba_edge": 0.0,
"barrel_edge": -0.4444,
"hard_hit_edge": 0.1429,
"whiff_edge": 0.7857,
"bb_edge": 0.7,
"pitch_design_score": -0.0603
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "686218",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 90,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 88.61799003023688,
"release_spin_rate": 2214.49643492905,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 88.61799003023688,
"release_spin_rate": 2214.49643492905,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.618,
"release_spin_rate": 2214.4964,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0603,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.4309,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1053,
"sample_weight": 0.772,
"run_prevention_factor": 0.991,
"strikeout_factor": 1.0446,
"walk_factor": 0.9568,
"homer_factor": 1.023,
"woba_minus_xwoba": 0.024,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686218",
"espn_id": 4417806,
"player_name": "Emmet Sheehan",
"team": "LAD",
"role": "pitcher",
"espn_rank": 288,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 288,
"gp_value": 10.0,
"gp_rank": 347,
"gs_value": 10.0,
"gs_rank": 85,
"qs_value": 4.0,
"qs_rank": 51,
"era_value": 4.7032,
"era_rank": null,
"w_value": 3.0,
"w_rank": 74,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 51.2,
"ip_rank": 104,
"h_value": 50.0,
"h_rank": 84,
"er_value": 27.0,
"er_rank": 59,
"hr_value": 9.0,
"hr_rank": 35,
"bb_value": 14.0,
"bb_rank": 156,
"k_value": 59.0,
"k_rank": 48,
"k_per_9_value": 10.277419,
"k_per_9_rank": 12,
"whip_value": 1.2387,
"whip_rank": null,
"war_value": 0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9931,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 0.9931,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9666,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0178,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0344,
"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": 51.2,
"ER": 27,
"H": 50,
"BB": 14,
"SO": 59,
"HR": 9,
"ERA": 4.703225806451613,
"WHIP": 1.2387096774193547,
"K9": 10.27741935483871,
"HR9": 1.5677419354838709,
"games_pitched": 10,
"quality_starts": 4,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-25T00:00:00"
}{
"available": true,
"pitcher_id": "686218",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 90,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 88.61799003023688,
"release_spin_rate": 2214.49643492905,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 88.61799003023688,
"release_spin_rate": 2214.49643492905,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.618,
"release_spin_rate": 2214.4964,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0603,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.4309,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": "686218",
"report_date": "20260601_L",
"season_year": 2026,
"rows_used": 10,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 25.1,
"ER": 13.0,
"R": 13.0,
"H": 26.0,
"BB": 5.0,
"SO": 31.0,
"HR": 5.0,
"BF": 107.0,
"Pitches": 441.0
},
"per_game": {
"IP": 5.0,
"ER": 2.6,
"R": 2.6,
"H": 5.2,
"BB": 1.0,
"SO": 6.2,
"HR": 1.0,
"BF": 21.4,
"Pitches": 88.2
},
"rates": {
"ERA": 4.6184,
"WHIP": 1.2237,
"ER_per_IP": 0.51316,
"H_per_IP": 1.02632,
"BB_per_IP": 0.19737,
"SO_per_IP": 1.22368,
"HR_per_IP": 0.19737
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 51.2,
"ER": 27.0,
"R": 27.0,
"H": 50.0,
"BB": 14.0,
"SO": 59.0,
"HR": 9.0,
"BF": 217.0,
"Pitches": 877.0
},
"per_game": {
"IP": 5.1,
"ER": 2.7,
"R": 2.7,
"H": 5.0,
"BB": 1.4,
"SO": 5.9,
"HR": 0.9,
"BF": 21.7,
"Pitches": 87.7
},
"rates": {
"ERA": 4.7032,
"WHIP": 1.2387,
"ER_per_IP": 0.52258,
"H_per_IP": 0.96774,
"BB_per_IP": 0.27097,
"SO_per_IP": 1.14194,
"HR_per_IP": 0.17419
}
},
"season": {
"games": 10,
"totals": {
"IP": 51.2,
"ER": 27.0,
"R": 27.0,
"H": 50.0,
"BB": 14.0,
"SO": 59.0,
"HR": 9.0,
"BF": 217.0,
"Pitches": 877.0
},
"per_game": {
"IP": 5.1,
"ER": 2.7,
"R": 2.7,
"H": 5.0,
"BB": 1.4,
"SO": 5.9,
"HR": 0.9,
"BF": 21.7,
"Pitches": 87.7
},
"rates": {
"ERA": 4.7032,
"WHIP": 1.2387,
"ER_per_IP": 0.52258,
"H_per_IP": 0.96774,
"BB_per_IP": 0.27097,
"SO_per_IP": 1.14194,
"HR_per_IP": 0.17419
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.567,
"predicted_H": 5.015,
"predicted_BB": 1.406,
"predicted_SO": 5.635,
"predicted_HR": 0.864,
"predicted_ERA": 4.5329,
"predicted_WHIP": 1.2597
}
}{
"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": 3.0,
"form": 2.567,
"final": 2.7795,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 5.015,
"final": 5.4985,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.406,
"final": 2.1884,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 5.635,
"final": 5.8141,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.864,
"final": 0.4399,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5329,
"final": 4.5329,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2597,
"final": 1.2597,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Kyle Hurt |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.5550 |
| ESPN Rank | 152 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1903 |
| Avg Velo | 93.0942 |
| Avg Spin | 1837.4415 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 1 |
| Season WHIP | 0.7778 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 65,
"wins": 41,
"losses": 24,
"win_pct": 0.6308,
"runs_scored": 348.0,
"runs_allowed": 209.0,
"run_differential": 139.0,
"run_differential_per_game": 2.1385,
"avg_runs_scored": 5.3538,
"avg_runs_allowed": 3.2154,
"offense_index": 1.2024,
"defense_index": 1.3848,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 2.6,
"run_differential": 35.0
},
"available": true,
"quality_score": 0.4803
},
"opponent": {
"team": "ARI",
"games": 65,
"wins": 35,
"losses": 30,
"win_pct": 0.5385,
"runs_scored": 311.0,
"runs_allowed": 295.0,
"run_differential": 16.0,
"run_differential_per_game": 0.2462,
"avg_runs_scored": 4.7846,
"avg_runs_allowed": 4.5385,
"offense_index": 1.0746,
"defense_index": 0.9811,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 3.3,
"run_differential": 10.0
},
"available": true,
"quality_score": 0.0981
},
"edges": {
"quality_edge": 0.3822,
"offense_edge": 0.2024,
"opponent_offense_edge": 0.0746,
"defense_strength": 0.3848,
"opponent_defense_weakness": 0.0189,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0238,
"run_prevention": 0.9543,
"strikeout": 1.0055
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669165",
"profile": {
"available": true,
"pitcher_id": "669165",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 58.0,
"k_percent": 31.3,
"bb_percent": 6.0,
"woba": 0.206,
"xwoba": 0.233,
"sweet_spot_percent": 29.3,
"barrel_batted_rate": 2.4,
"hard_hit_percent": 29.3,
"avg_best_speed": 79.0033,
"avg_hyper_speed": 93.315,
"whiff_percent": 38.3,
"swing_percent": 57.1
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.6866,
"command_and_miss": 1.3493,
"regression_edge": -0.7714,
"xwoba_edge": 2.2571,
"barrel_edge": 1.0667,
"hard_hit_edge": 1.3286,
"whiff_edge": 1.7857,
"bb_edge": 0.825,
"pitch_design_score": 0.1903
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669165",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 93.09421005722862,
"release_spin_rate": 1837.4414920782906,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 93.09421005722862,
"release_spin_rate": 1837.4414920782906,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 93.0942,
"release_spin_rate": 1837.4415,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1903,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.3596,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.555,
"sample_weight": 0.45,
"run_prevention_factor": 0.9528,
"strikeout_factor": 1.0545,
"walk_factor": 0.9703,
"homer_factor": 0.9072,
"woba_minus_xwoba": -0.027,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669165",
"espn_id": 4306800,
"player_name": "Kyle Hurt",
"team": "LAD",
"role": "pitcher",
"espn_rank": 152,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 152,
"gp_value": 18.0,
"gp_rank": 155,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 1.0,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 0.0,
"l_rank": 390,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 4.0,
"hld_rank": 94,
"ip_value": 18.0,
"ip_rank": 357,
"h_value": 10.0,
"h_rank": 430,
"er_value": 2.0,
"er_rank": 538,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 4.0,
"bb_rank": 456,
"k_value": 21.0,
"k_rank": 288,
"k_per_9_value": 10.5,
"k_per_9_rank": 21,
"whip_value": 0.7777,
"whip_rank": null,
"war_value": 0.56,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9788,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9788,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9866,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9582,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0245,
"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": 7,
"BB": 3,
"SO": 10,
"HR": 1,
"ERA": 0.9,
"WHIP": 1.0,
"K9": 9.0,
"HR9": 0.9,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-30T00:00:00"
}{
"available": true,
"pitcher_id": "669165",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 93.09421005722862,
"release_spin_rate": 1837.4414920782906,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 93.09421005722862,
"release_spin_rate": 1837.4414920782906,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 93.0942,
"release_spin_rate": 1837.4415,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1903,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.3596,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.552,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4154,
"prior_weight": 0.5846
},
"role": "pitcher",
"player_id": "669165",
"report_date": "20260601_L",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 2.0,
"SO": 5.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 64.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.4,
"SO": 1.0,
"HR": 0.2,
"BF": 3.8,
"Pitches": 12.8
},
"rates": {
"ERA": 1.8,
"WHIP": 1.0,
"ER_per_IP": 0.2,
"H_per_IP": 0.6,
"BB_per_IP": 0.4,
"SO_per_IP": 1.0,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 1.0,
"R": 1.0,
"H": 7.0,
"BB": 3.0,
"SO": 10.0,
"HR": 1.0,
"BF": 38.0,
"Pitches": 132.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.7,
"BB": 0.3,
"SO": 1.0,
"HR": 0.1,
"BF": 3.8,
"Pitches": 13.2
},
"rates": {
"ERA": 0.9,
"WHIP": 1.0,
"ER_per_IP": 0.1,
"H_per_IP": 0.7,
"BB_per_IP": 0.3,
"SO_per_IP": 1.0,
"HR_per_IP": 0.1
}
},
"season": {
"games": 18,
"totals": {
"IP": 18.0,
"ER": 2.0,
"R": 2.0,
"H": 10.0,
"BB": 4.0,
"SO": 21.0,
"HR": 1.0,
"BF": 67.0,
"Pitches": 224.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1111,
"R": 0.1111,
"H": 0.5556,
"BB": 0.2222,
"SO": 1.1667,
"HR": 0.0556,
"BF": 3.7222,
"Pitches": 12.4444
},
"rates": {
"ERA": 1.0,
"WHIP": 0.7778,
"ER_per_IP": 0.11111,
"H_per_IP": 0.55556,
"BB_per_IP": 0.22222,
"SO_per_IP": 1.16667,
"HR_per_IP": 0.05556
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.34,
"predicted_H": 0.816,
"predicted_BB": 0.352,
"predicted_SO": 0.979,
"predicted_HR": 0.135,
"predicted_ERA": 3.057,
"predicted_WHIP": 1.1678
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.597,
"form_weight": 0.403,
"form_reliability": 0.4154,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.552,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4154,
"prior_weight": 0.5846
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.34,
"final": 0.137,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.816,
"final": 0.3289,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.352,
"final": 0.1419,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.979,
"final": 0.9915,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.135,
"final": 0.0544,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.057,
"final": 3.057,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1678,
"final": 1.1678,
"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 | Blake Treinen |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.3459 |
| ESPN Rank | 222 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0325 |
| Avg Velo | 89.1157 |
| Avg Spin | 2401.1092 |
| 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 | 1.5283 |
| Season WHIP | 1.0189 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 65,
"wins": 41,
"losses": 24,
"win_pct": 0.6308,
"runs_scored": 348.0,
"runs_allowed": 209.0,
"run_differential": 139.0,
"run_differential_per_game": 2.1385,
"avg_runs_scored": 5.3538,
"avg_runs_allowed": 3.2154,
"offense_index": 1.2024,
"defense_index": 1.3848,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 2.6,
"run_differential": 35.0
},
"available": true,
"quality_score": 0.4803
},
"opponent": {
"team": "ARI",
"games": 65,
"wins": 35,
"losses": 30,
"win_pct": 0.5385,
"runs_scored": 311.0,
"runs_allowed": 295.0,
"run_differential": 16.0,
"run_differential_per_game": 0.2462,
"avg_runs_scored": 4.7846,
"avg_runs_allowed": 4.5385,
"offense_index": 1.0746,
"defense_index": 0.9811,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 3.3,
"run_differential": 10.0
},
"available": true,
"quality_score": 0.0981
},
"edges": {
"quality_edge": 0.3822,
"offense_edge": 0.2024,
"opponent_offense_edge": 0.0746,
"defense_strength": 0.3848,
"opponent_defense_weakness": 0.0189,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0238,
"run_prevention": 0.9543,
"strikeout": 1.0055
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "595014",
"profile": {
"available": true,
"pitcher_id": "595014",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 66.0,
"k_percent": 24.0,
"bb_percent": 8.0,
"woba": 0.309,
"xwoba": 0.369,
"sweet_spot_percent": 38.0,
"barrel_batted_rate": 16.3,
"hard_hit_percent": 46.0,
"avg_best_speed": 78.3534,
"avg_hyper_speed": 95.3223,
"whiff_percent": 27.8,
"swing_percent": 48.4
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -1.1804,
"command_and_miss": 0.255,
"regression_edge": -1.7143,
"xwoba_edge": -1.6286,
"barrel_edge": -2.0222,
"hard_hit_edge": -1.0571,
"whiff_edge": 0.2857,
"bb_edge": 0.325,
"pitch_design_score": -0.0325
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "595014",
"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": 89.11565815883463,
"release_spin_rate": 2401.1091989546403,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 89.11565815883463,
"release_spin_rate": 2401.1091989546403,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1157,
"release_spin_rate": 2401.1092,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0325,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2318,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.3459,
"sample_weight": 0.45,
"run_prevention_factor": 1.0294,
"strikeout_factor": 1.0087,
"walk_factor": 0.9883,
"homer_factor": 1.1138,
"woba_minus_xwoba": -0.06,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "595014",
"espn_id": 32185,
"player_name": "Blake Treinen",
"team": "LAD",
"role": "pitcher",
"espn_rank": 222,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 222,
"gp_value": 22.0,
"gp_rank": 108,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 3.0566,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 6.0,
"hld_rank": 51,
"ip_value": 17.2,
"ip_rank": 360,
"h_value": 16.0,
"h_rank": 326,
"er_value": 6.0,
"er_rank": 389,
"hr_value": 2.0,
"hr_rank": 258,
"bb_value": 6.0,
"bb_rank": 379,
"k_value": 18.0,
"k_rank": 322,
"k_per_9_value": 9.169811,
"k_per_9_rank": 24,
"whip_value": 1.2452,
"whip_rank": null,
"war_value": 0.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0132,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0132,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9947,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0512,
"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": 2,
"H": 5,
"BB": 3,
"SO": 9,
"HR": 0,
"ERA": 2.076923076923077,
"WHIP": 0.9230769230769231,
"K9": 9.346153846153847,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-30T00:00:00"
}{
"available": true,
"pitcher_id": "595014",
"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": 89.11565815883463,
"release_spin_rate": 2401.1091989546403,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 89.11565815883463,
"release_spin_rate": 2401.1091989546403,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1157,
"release_spin_rate": 2401.1092,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0325,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2318,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.487,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4108,
"prior_weight": 0.5892
},
"role": "pitcher",
"player_id": "595014",
"report_date": "20260601_L",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 15.0,
"Pitches": 54.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.4,
"SO": 1.0,
"HR": 0.0,
"BF": 3.0,
"Pitches": 10.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.75,
"ER_per_IP": 0.0,
"H_per_IP": 0.25,
"BB_per_IP": 0.5,
"SO_per_IP": 1.25,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 3.0,
"SO": 9.0,
"HR": 0.0,
"BF": 35.0,
"Pitches": 119.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.5,
"BB": 0.3,
"SO": 0.9,
"HR": 0.0,
"BF": 3.5,
"Pitches": 11.9
},
"rates": {
"ERA": 2.0769,
"WHIP": 0.9231,
"ER_per_IP": 0.23077,
"H_per_IP": 0.57692,
"BB_per_IP": 0.34615,
"SO_per_IP": 1.03846,
"HR_per_IP": 0.0
}
},
"season": {
"games": 21,
"totals": {
"IP": 17.2,
"ER": 3.0,
"R": 3.0,
"H": 12.0,
"BB": 6.0,
"SO": 18.0,
"HR": 1.0,
"BF": 71.0,
"Pitches": 261.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1429,
"R": 0.1429,
"H": 0.5714,
"BB": 0.2857,
"SO": 0.8571,
"HR": 0.0476,
"BF": 3.381,
"Pitches": 12.4286
},
"rates": {
"ERA": 1.5283,
"WHIP": 1.0189,
"ER_per_IP": 0.16981,
"H_per_IP": 0.67925,
"BB_per_IP": 0.33962,
"SO_per_IP": 1.01887,
"HR_per_IP": 0.0566
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.243,
"predicted_H": 0.553,
"predicted_BB": 0.287,
"predicted_SO": 0.756,
"predicted_HR": 0.062,
"predicted_ERA": 2.9505,
"predicted_WHIP": 1.132
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5989,
"form_weight": 0.4011,
"form_reliability": 0.4108,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.487,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4108,
"prior_weight": 0.5892
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.243,
"final": 0.0975,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.553,
"final": 0.2218,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.287,
"final": 0.714,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.756,
"final": 0.3032,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.062,
"final": 0.0249,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9505,
"final": 2.9505,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.132,
"final": 1.132,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Tanner Scott |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3212 |
| ESPN Rank | 140 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1961 |
| Avg Velo | 93.1971 |
| Avg Spin | 2581.0474 |
| 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.1892 |
| Season WHIP | 0.6892 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 65,
"wins": 41,
"losses": 24,
"win_pct": 0.6308,
"runs_scored": 348.0,
"runs_allowed": 209.0,
"run_differential": 139.0,
"run_differential_per_game": 2.1385,
"avg_runs_scored": 5.3538,
"avg_runs_allowed": 3.2154,
"offense_index": 1.2024,
"defense_index": 1.3848,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 2.6,
"run_differential": 35.0
},
"available": true,
"quality_score": 0.4803
},
"opponent": {
"team": "ARI",
"games": 65,
"wins": 35,
"losses": 30,
"win_pct": 0.5385,
"runs_scored": 311.0,
"runs_allowed": 295.0,
"run_differential": 16.0,
"run_differential_per_game": 0.2462,
"avg_runs_scored": 4.7846,
"avg_runs_allowed": 4.5385,
"offense_index": 1.0746,
"defense_index": 0.9811,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 3.3,
"run_differential": 10.0
},
"available": true,
"quality_score": 0.0981
},
"edges": {
"quality_edge": 0.3822,
"offense_edge": 0.2024,
"opponent_offense_edge": 0.0746,
"defense_strength": 0.3848,
"opponent_defense_weakness": 0.0189,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0238,
"run_prevention": 0.9543,
"strikeout": 1.0055
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656945",
"profile": {
"available": true,
"pitcher_id": "656945",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 81.0,
"k_percent": 31.1,
"bb_percent": 3.3,
"woba": 0.202,
"xwoba": 0.269,
"sweet_spot_percent": 33.9,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 28.8,
"avg_best_speed": 79.7769,
"avg_hyper_speed": 92.6915,
"whiff_percent": 34.0,
"swing_percent": 57.1
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.0049,
"command_and_miss": 1.2564,
"regression_edge": -1.9143,
"xwoba_edge": 1.2286,
"barrel_edge": -0.2889,
"hard_hit_edge": 1.4,
"whiff_edge": 1.1714,
"bb_edge": 1.5,
"pitch_design_score": 0.1961
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656945",
"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": 93.1971466958967,
"release_spin_rate": 2581.04737629949,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 93.1971466958967,
"release_spin_rate": 2581.04737629949,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 93.1971,
"release_spin_rate": 2581.0474,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1961,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.4008,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.3212,
"sample_weight": 0.45,
"run_prevention_factor": 0.9727,
"strikeout_factor": 1.0429,
"walk_factor": 0.946,
"homer_factor": 0.9686,
"woba_minus_xwoba": -0.067,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "656945",
"espn_id": 35135,
"player_name": "Tanner Scott",
"team": "LAD",
"role": "pitcher",
"espn_rank": 140,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 140,
"gp_value": 26.0,
"gp_rank": 31,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.1891,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 2.0,
"l_rank": 140,
"sv_value": 5.0,
"sv_rank": 23,
"hld_value": 5.0,
"hld_rank": 72,
"ip_value": 24.2,
"ip_rank": 247,
"h_value": 14.0,
"h_rank": 375,
"er_value": 6.0,
"er_rank": 389,
"hr_value": 3.0,
"hr_rank": 198,
"bb_value": 3.0,
"bb_rank": 495,
"k_value": 28.0,
"k_rank": 197,
"k_per_9_value": 10.216216,
"k_per_9_rank": 21,
"whip_value": 0.6891,
"whip_rank": null,
"war_value": 0.63,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9877,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9877,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9757,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9859,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0193,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 3,
"H": 6,
"BB": 1,
"SO": 13,
"HR": 1,
"ERA": 2.612903225806452,
"WHIP": 0.6774193548387097,
"K9": 11.322580645161292,
"HR9": 0.870967741935484,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-30T00:00:00"
}{
"available": true,
"pitcher_id": "656945",
"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": 93.1971466958967,
"release_spin_rate": 2581.04737629949,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 93.1971466958967,
"release_spin_rate": 2581.04737629949,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 93.1971,
"release_spin_rate": 2581.0474,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1961,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.4008,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.868,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4933,
"prior_weight": 0.5067
},
"role": "pitcher",
"player_id": "656945",
"report_date": "20260601_L",
"season_year": 2026,
"rows_used": 26,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 0.0,
"SO": 8.0,
"HR": 1.0,
"BF": 20.0,
"Pitches": 83.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.0,
"BB": 0.0,
"SO": 1.6,
"HR": 0.2,
"BF": 4.0,
"Pitches": 16.6
},
"rates": {
"ERA": 5.4,
"WHIP": 1.0,
"ER_per_IP": 0.6,
"H_per_IP": 1.0,
"BB_per_IP": 0.0,
"SO_per_IP": 1.6,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 3.0,
"R": 3.0,
"H": 6.0,
"BB": 1.0,
"SO": 13.0,
"HR": 1.0,
"BF": 38.0,
"Pitches": 150.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.6,
"BB": 0.1,
"SO": 1.3,
"HR": 0.1,
"BF": 3.8,
"Pitches": 15.0
},
"rates": {
"ERA": 2.6129,
"WHIP": 0.6774,
"ER_per_IP": 0.29032,
"H_per_IP": 0.58065,
"BB_per_IP": 0.09677,
"SO_per_IP": 1.25806,
"HR_per_IP": 0.09677
}
},
"season": {
"games": 26,
"totals": {
"IP": 24.2,
"ER": 6.0,
"R": 6.0,
"H": 14.0,
"BB": 3.0,
"SO": 28.0,
"HR": 3.0,
"BF": 90.0,
"Pitches": 345.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2308,
"R": 0.2308,
"H": 0.5385,
"BB": 0.1154,
"SO": 1.0769,
"HR": 0.1154,
"BF": 3.4615,
"Pitches": 13.2692
},
"rates": {
"ERA": 2.1892,
"WHIP": 0.6892,
"ER_per_IP": 0.24324,
"H_per_IP": 0.56757,
"BB_per_IP": 0.12162,
"SO_per_IP": 1.13514,
"HR_per_IP": 0.12162
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.373,
"predicted_H": 0.714,
"predicted_BB": 0.179,
"predicted_SO": 0.965,
"predicted_HR": 0.117,
"predicted_ERA": 4.0384,
"predicted_WHIP": 1.0751
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5641,
"form_weight": 0.4359,
"form_reliability": 0.4933,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.868,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4933,
"prior_weight": 0.5067
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.373,
"final": 0.1626,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.714,
"final": 0.3112,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.179,
"final": 0.6421,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.965,
"final": 0.4207,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.117,
"final": 0.051,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.0384,
"final": 4.0384,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0751,
"final": 1.0751,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Alex Vesia |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4344 |
| ESPN Rank | 160 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1061 |
| Avg Velo | 87.8014 |
| Avg Spin | 2360.7968 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.2881 |
| Season WHIP | 0.9661 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 65,
"wins": 41,
"losses": 24,
"win_pct": 0.6308,
"runs_scored": 348.0,
"runs_allowed": 209.0,
"run_differential": 139.0,
"run_differential_per_game": 2.1385,
"avg_runs_scored": 5.3538,
"avg_runs_allowed": 3.2154,
"offense_index": 1.2024,
"defense_index": 1.3848,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 2.6,
"run_differential": 35.0
},
"available": true,
"quality_score": 0.4803
},
"opponent": {
"team": "ARI",
"games": 65,
"wins": 35,
"losses": 30,
"win_pct": 0.5385,
"runs_scored": 311.0,
"runs_allowed": 295.0,
"run_differential": 16.0,
"run_differential_per_game": 0.2462,
"avg_runs_scored": 4.7846,
"avg_runs_allowed": 4.5385,
"offense_index": 1.0746,
"defense_index": 0.9811,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 3.3,
"run_differential": 10.0
},
"available": true,
"quality_score": 0.0981
},
"edges": {
"quality_edge": 0.3822,
"offense_edge": 0.2024,
"opponent_offense_edge": 0.0746,
"defense_strength": 0.3848,
"opponent_defense_weakness": 0.0189,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0238,
"run_prevention": 0.9543,
"strikeout": 1.0055
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681911",
"profile": {
"available": true,
"pitcher_id": "681911",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 74.0,
"k_percent": 34.6,
"bb_percent": 12.8,
"woba": 0.203,
"xwoba": 0.246,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 29.3,
"avg_best_speed": 77.5549,
"avg_hyper_speed": 91.6663,
"whiff_percent": 36.5,
"swing_percent": 45.8
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.4332,
"command_and_miss": 1.1314,
"regression_edge": -1.2286,
"xwoba_edge": 1.8857,
"barrel_edge": 0.5111,
"hard_hit_edge": 1.3286,
"whiff_edge": 1.5286,
"bb_edge": -0.875,
"pitch_design_score": -0.1061
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "681911",
"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.80137118004887,
"release_spin_rate": 2360.7968034891846,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 87.80137118004887,
"release_spin_rate": 2360.7968034891846,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.8014,
"release_spin_rate": 2360.7968,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1061,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7575,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.4344,
"sample_weight": 0.45,
"run_prevention_factor": 0.9631,
"strikeout_factor": 1.0584,
"walk_factor": 1.0315,
"homer_factor": 0.9322,
"woba_minus_xwoba": -0.043,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "681911",
"espn_id": 42622,
"player_name": "Alex Vesia",
"team": "LAD",
"role": "pitcher",
"espn_rank": 160,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 160,
"gp_value": 25.0,
"gp_rank": 47,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.2881,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 2.0,
"sv_rank": 50,
"hld_value": 8.0,
"hld_rank": 23,
"ip_value": 19.2,
"ip_rank": 326,
"h_value": 9.0,
"h_rank": 449,
"er_value": 5.0,
"er_rank": 432,
"hr_value": 0.0,
"hr_rank": 529,
"bb_value": 10.0,
"bb_rank": 248,
"k_value": 27.0,
"k_rank": 209,
"k_per_9_value": 12.355932,
"k_per_9_rank": 17,
"whip_value": 0.9661,
"whip_rank": null,
"war_value": 0.53,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9834,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9834,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0142,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9695,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0263,
"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.0,
"ER": 3,
"H": 5,
"BB": 4,
"SO": 11,
"HR": 0,
"ERA": 3.8571428571428577,
"WHIP": 1.2857142857142858,
"K9": 14.142857142857144,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-30T00:00:00"
}{
"available": true,
"pitcher_id": "681911",
"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.80137118004887,
"release_spin_rate": 2360.7968034891846,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 87.80137118004887,
"release_spin_rate": 2360.7968034891846,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.8014,
"release_spin_rate": 2360.7968,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1061,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7575,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.881,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.437,
"prior_weight": 0.563
},
"role": "pitcher",
"player_id": "681911",
"report_date": "20260601_L",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 2.0,
"SO": 4.0,
"HR": 0.0,
"BF": 13.0,
"Pitches": 60.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.4,
"SO": 0.8,
"HR": 0.0,
"BF": 2.6,
"Pitches": 12.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.9,
"ER_per_IP": 0.0,
"H_per_IP": 0.3,
"BB_per_IP": 0.6,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 7.0,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 4.0,
"SO": 11.0,
"HR": 0.0,
"BF": 30.0,
"Pitches": 141.0
},
"per_game": {
"IP": 0.2,
"ER": 0.3,
"R": 0.3,
"H": 0.5,
"BB": 0.4,
"SO": 1.1,
"HR": 0.0,
"BF": 3.0,
"Pitches": 14.1
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.2857,
"ER_per_IP": 0.42857,
"H_per_IP": 0.71429,
"BB_per_IP": 0.57143,
"SO_per_IP": 1.57143,
"HR_per_IP": 0.0
}
},
"season": {
"games": 25,
"totals": {
"IP": 19.2,
"ER": 5.0,
"R": 5.0,
"H": 9.0,
"BB": 10.0,
"SO": 27.0,
"HR": 0.0,
"BF": 78.0,
"Pitches": 347.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.36,
"BB": 0.4,
"SO": 1.08,
"HR": 0.0,
"BF": 3.12,
"Pitches": 13.88
},
"rates": {
"ERA": 2.2881,
"WHIP": 0.9661,
"ER_per_IP": 0.25424,
"H_per_IP": 0.45763,
"BB_per_IP": 0.50847,
"SO_per_IP": 1.37288,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.171,
"predicted_H": 0.356,
"predicted_BB": 0.219,
"predicted_SO": 0.539,
"predicted_HR": 0.036,
"predicted_ERA": 3.2039,
"predicted_WHIP": 1.2005
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5879,
"form_weight": 0.4121,
"form_reliability": 0.437,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.881,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.437,
"prior_weight": 0.563
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.171,
"final": 0.6583,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.356,
"final": 1.3225,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.219,
"final": 0.0903,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.539,
"final": 0.2221,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.036,
"final": 0.0148,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2039,
"final": 3.2039,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2005,
"final": 1.2005,
"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.265 | 0.000 | 0.000 | Hitting_2B | 0.265 | 0.000 | -0.265 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 4.070 | 4.000 | 8.000 | Hitting_AB | 3.765 | 3.000 | 0.235 | 1.000 |
| predicted_AVG | 0.255 | 0.000 | 0.375 | Hitting_AVG | 0.270 | 0.333 | -0.270 | -0.333 |
| predicted_BB | 0.591 | 0.000 | 1.000 | Hitting_BB | 0.591 | 0.000 | -0.591 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.040 | 0.000 | 3.000 | Hitting_H | 1.017 | 1.000 | -1.017 | -1.000 |
| predicted_HR | 0.190 | 0.000 | 1.000 | Hitting_HR | 0.135 | 0.000 | -0.135 | 0.000 |
| predicted_OBP | 0.355 | 0.000 | 0.444 | Hitting_OBP | 0.370 | 0.200 | -0.370 | -0.200 |
| predicted_R | 0.543 | 0.000 | 1.000 | Hitting_R | 0.543 | 1.000 | -0.543 | -1.000 |
| predicted_RBI | 0.630 | 0.000 | 1.000 | Hitting_RBI | 0.530 | 2.000 | -0.530 | -2.000 |
| predicted_SLG | 0.483 | 0.000 | 0.750 | Hitting_SLG | 0.457 | 0.333 | -0.457 | -0.333 |
| predicted_SO | 0.748 | 1.000 | 2.000 | Hitting_SO | 0.748 | 2.000 | 0.252 | -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.7480 -> 1.0000 (boost 0.2520, worse) |
| 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.0700 -> 7.8585 (boost 3.7885, 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.3070 -> 1.4053 (boost 0.0983, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 1.5122 -> 2.0000 (boost 0.4878, worse) | predicted_HR: 0.4871 -> 0.0000 (deboost -0.4871, worse) | AB rounded to 8 (raw=7.86), rates preserved: AVG=0.298 HR/AB=0.062 |
| 5 | bvp_blend | 2 | 2 | 0 | 2 | 0 | predicted_H: 2.0000 -> 3.0000 (boost 1.0000, better) | - | Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.538) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3222 -> 1.0000 (deboost -0.3222, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.5480 -> 0.7500 (boost 0.2020, better) | - | 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: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.7500 -> 0.5480 (deboost -0.2020, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "518692",
"player_name": "Freddie Freeman",
"position": "1B",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.265,
"predicted_3B": 0.017,
"predicted_AB": 4.07,
"predicted_AVG": 0.255,
"predicted_BB": 0.591,
"predicted_H": 1.04,
"predicted_HR": 0.19,
"predicted_OBP": 0.355,
"predicted_R": 0.543,
"predicted_RBI": 0.63,
"predicted_SLG": 0.483,
"predicted_SO": 0.748
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4425,
"predicted_3B": 0.0289,
"predicted_AB": 7.8585,
"predicted_AVG": 0.2742,
"predicted_BB": 1.0039,
"predicted_H": 2.2482,
"predicted_HBP": 0.056,
"predicted_HR": 0.466,
"predicted_OBP": 0.3629,
"predicted_R": 1.2297,
"predicted_RBI": 1.307,
"predicted_SLG": 0.5133,
"predicted_SO": 1.5424
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.265,
"after": 0.4425,
"delta": 0.1775,
"percent_delta": 0.6698,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0289,
"delta": 0.0119,
"percent_delta": 0.7,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.07,
"after": 7.8585,
"delta": 3.7885,
"percent_delta": 0.9308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2742,
"delta": 0.0192,
"percent_delta": 0.0753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.591,
"after": 1.0039,
"delta": 0.4129,
"percent_delta": 0.6986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 2.2482,
"delta": 1.2082,
"percent_delta": 1.1617,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.466,
"delta": 0.276,
"percent_delta": 1.4526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3629,
"delta": 0.0079,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.543,
"after": 1.2297,
"delta": 0.6867,
"percent_delta": 1.2646,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 1.307,
"delta": 0.677,
"percent_delta": 1.0746,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.483,
"after": 0.5133,
"delta": 0.0303,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.748,
"after": 1.5424,
"delta": 0.7944,
"percent_delta": 1.062,
"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.07,
"after": 7.8585,
"delta": 3.7885,
"percent_delta": 0.9308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.4425,
"predicted_3B": 0.0289,
"predicted_AB": 7.8585,
"predicted_AVG": 0.2984,
"predicted_BB": 1.0236,
"predicted_H": 2.3449,
"predicted_HBP": 0.056,
"predicted_HR": 0.4871,
"predicted_OBP": 0.3792,
"predicted_R": 1.3222,
"predicted_RBI": 1.4053,
"predicted_SLG": 0.548,
"predicted_SO": 1.5122
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4425,
"after": 0.4425,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0289,
"after": 0.0289,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.8585,
"after": 7.8585,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2742,
"after": 0.2984,
"delta": 0.0242,
"percent_delta": 0.0883,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0039,
"after": 1.0236,
"delta": 0.0197,
"percent_delta": 0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.2482,
"after": 2.3449,
"delta": 0.0967,
"percent_delta": 0.043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.056,
"after": 0.056,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.466,
"after": 0.4871,
"delta": 0.0211,
"percent_delta": 0.0453,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3629,
"after": 0.3792,
"delta": 0.0163,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.2297,
"after": 1.3222,
"delta": 0.0925,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.307,
"after": 1.4053,
"delta": 0.0983,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5133,
"after": 0.548,
"delta": 0.0347,
"percent_delta": 0.0676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5424,
"after": 1.5122,
"delta": -0.0302,
"percent_delta": -0.0196,
"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.307,
"after": 1.4053,
"delta": 0.0983,
"percent_delta": 0.0752,
"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.86), rates preserved: AVG=0.298 HR/AB=0.062",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4425,
"after": 0.0,
"delta": -0.4425,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0289,
"after": 0.0,
"delta": -0.0289,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.8585,
"after": 8.0,
"delta": 0.1415,
"percent_delta": 0.018,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0236,
"after": 1.0,
"delta": -0.0236,
"percent_delta": -0.0231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.3449,
"after": 2.0,
"delta": -0.3449,
"percent_delta": -0.1471,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.056,
"after": 0.0,
"delta": -0.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.4871,
"after": 0.0,
"delta": -0.4871,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4053,
"after": 1.0,
"delta": -0.4053,
"percent_delta": -0.2884,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5122,
"after": 2.0,
"delta": 0.4878,
"percent_delta": 0.3226,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.5122,
"after": 2.0,
"delta": 0.4878,
"percent_delta": 0.3226,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.4871,
"after": 0.0,
"delta": -0.4871,
"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.538)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 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.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": 8.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.3222,
"after": 1.0,
"delta": -0.3222,
"percent_delta": -0.2437,
"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.3222,
"after": 1.0,
"delta": -0.3222,
"percent_delta": -0.2437,
"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": 1.0,
"predicted_OBP": 0.444,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.75,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2984,
"after": 0.375,
"delta": 0.0766,
"percent_delta": 0.2567,
"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.3792,
"after": 0.444,
"delta": 0.0648,
"percent_delta": 0.1709,
"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.548,
"after": 0.75,
"delta": 0.202,
"percent_delta": 0.3686,
"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.548,
"after": 0.75,
"delta": 0.202,
"percent_delta": 0.3686,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 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.2984,
"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.3792,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.548,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2984,
"delta": -0.0766,
"percent_delta": -0.2043,
"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.444,
"after": 0.3792,
"delta": -0.0648,
"percent_delta": -0.1459,
"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.75,
"after": 0.548,
"delta": -0.202,
"percent_delta": -0.2693,
"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.75,
"after": 0.548,
"delta": -0.202,
"percent_delta": -0.2693,
"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.265,
"after": 0.0,
"delta": -0.265,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2984,
"delta": 0.0434,
"percent_delta": 0.1702,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.591,
"after": 0.0,
"delta": -0.591,
"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.355,
"after": 0.3792,
"delta": 0.0242,
"percent_delta": 0.0682,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.543,
"after": 0.0,
"delta": -0.543,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.483,
"after": 0.548,
"delta": 0.065,
"percent_delta": 0.1346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.748,
"after": 1.0,
"delta": 0.252,
"percent_delta": 0.3369,
"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.748,
"after": 1.0,
"delta": 0.252,
"percent_delta": 0.3369,
"direction": "boost",
"projection_effect": "worse",
"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.265 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 4.070 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.591 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.355 | - |
| predicted_R | 0.543 | - |
| predicted_RBI | 0.630 | - |
| predicted_SLG | 0.483 | - |
| predicted_SO | 0.748 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.443 | 0.177 |
| predicted_3B | 0.029 | 0.012 |
| predicted_AB | 7.859 | 3.788 |
| predicted_AVG | 0.274 | 0.019 |
| predicted_BB | 1.004 | 0.413 |
| predicted_H | 2.248 | 1.208 |
| predicted_HBP | 0.056 | - |
| predicted_HR | 0.466 | 0.276 |
| predicted_OBP | 0.363 | 0.008 |
| predicted_R | 1.230 | 0.687 |
| predicted_RBI | 1.307 | 0.677 |
| predicted_SLG | 0.513 | 0.030 |
| predicted_SO | 1.542 | 0.794 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.443 | 0.000 |
| predicted_3B | 0.029 | 0.000 |
| predicted_AB | 7.859 | 0.000 |
| predicted_AVG | 0.298 | 0.024 |
| predicted_BB | 1.024 | 0.020 |
| predicted_H | 2.345 | 0.097 |
| predicted_HBP | 0.056 | 0.000 |
| predicted_HR | 0.487 | 0.021 |
| predicted_OBP | 0.379 | 0.016 |
| predicted_R | 1.322 | 0.093 |
| predicted_RBI | 1.405 | 0.098 |
| predicted_SLG | 0.548 | 0.035 |
| predicted_SO | 1.512 | -0.030 |
AB rounded to 8 (raw=7.86), rates preserved: AVG=0.298 HR/AB=0.062
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.538)
| 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 | 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 | 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 | 1.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.443 |
| predicted_3B | 0.000 | -0.029 |
| predicted_AB | 8.000 | 0.141 |
| predicted_AVG | 0.375 | 0.077 |
| predicted_BB | 1.000 | -0.024 |
| predicted_H | 3.000 | 0.655 |
| predicted_HR | 1.000 | 0.513 |
| predicted_OBP | 0.444 | 0.065 |
| predicted_R | 1.000 | -0.322 |
| predicted_RBI | 1.000 | -0.405 |
| predicted_SLG | 0.750 | 0.202 |
| predicted_SO | 2.000 | 0.488 |
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 | -3.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 19.000 | 7.000 | 0.000 | 0.000 | 3.000 | 5.000 | 4.000 | 0.000 | 4.000 | 0.3684 | 0.3684 | 0.8421 | 0.3684 | 0.1579 | 0.2632 | 0.0000 | 0.2105 |
| last_10 | 0.20 | 5 | - | 36.000 | 17.000 | 0.000 | 0.000 | 5.000 | 10.000 | 12.000 | 3.000 | 7.000 | 0.4722 | 0.4722 | 0.8889 | 0.4722 | 0.1389 | 0.2778 | 0.0833 | 0.1944 |
| season | 0.60 | 56 | - | 866.000 | 234.000 | 61.000 | 4.000 | 31.000 | 122.000 | 125.000 | 136.000 | 172.000 | 0.2702 | 0.3698 | 0.4573 | 0.2702 | 0.0358 | 0.1409 | 0.1570 | 0.1986 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6670 |
| predicted_3B | 0.0440 |
| predicted_AB | 12.6490 |
| predicted_AVG | 0.2985 |
| predicted_BB | 1.5260 |
| predicted_H | 3.7760 |
| predicted_HBP | 0.0560 |
| predicted_HR | 0.8150 |
| predicted_OBP | 0.3729 |
| predicted_R | 2.0980 |
| predicted_RBI | 2.1630 |
| predicted_SLG | 0.5516 |
| predicted_SO | 2.5470 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2650 | 0.6670 | 0.4425 | model_form_blend |
| predicted_3B | 0.0170 | 0.0440 | 0.0289 | model_form_blend |
| predicted_AB | 4.0700 | 12.6490 | 7.8585 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2985 | 0.2742 | model_form_blend |
| predicted_BB | 0.5910 | 1.5260 | 1.0039 | model_form_blend |
| predicted_H | 1.0400 | 3.7760 | 2.2482 | model_form_blend |
| predicted_HBP | - | 0.0560 | 0.0560 | form_only |
| predicted_HR | 0.1900 | 0.8150 | 0.4660 | model_form_blend |
| predicted_OBP | 0.3550 | 0.3729 | 0.3629 | model_form_blend |
| predicted_R | 0.5430 | 2.0980 | 1.2297 | model_form_blend |
| predicted_RBI | 0.6300 | 2.1630 | 1.3070 | model_form_blend |
| predicted_SLG | 0.4830 | 0.5516 | 0.5133 | model_form_blend |
| predicted_SO | 0.7480 | 2.5470 | 1.5424 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.27 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 2 |
| 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 | 20260531_PHI@LAD |
| game_type | full |
| mlbID | 518692 |
| playerID | 518692 |
| playerName | Freddie Freeman |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-05-31 |
| sl_k_percent | 16.7 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.366 |
| sl_xwoba | 0.38 |
| sl_xba | 0.278 |
| sl_xslg | 0.503 |
| sl_sweet_spot_percent | 36.3 |
| sl_barrel_batted_rate | 11.9 |
| sl_hard_hit_percent | 47.0 |
| sl_exit_velocity_avg | 91.7 |
| sl_launch_angle_avg | 11.2 |
| sl_whiff_percent | 23.2 |
| sl_swing_percent | 48.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.064 | 0.000 | 0.000 | Hitting_2B | 0.063 | 0.000 | -0.063 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.277 | 4.000 | 8.000 | Hitting_AB | 4.232 | 3.000 | -0.232 | 1.000 |
| predicted_AVG | 0.225 | 0.250 | 0.250 | Hitting_AVG | 0.182 | 0.000 | 0.068 | 0.250 |
| predicted_BB | 0.213 | 0.000 | 1.000 | Hitting_BB | 0.221 | 2.000 | -0.221 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_H | 0.950 | 1.000 | 2.000 | Hitting_H | 0.768 | 0.000 | 0.232 | 1.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.305 | 0.000 | -0.305 | 0.000 |
| predicted_OBP | 0.296 | 0.250 | 0.333 | Hitting_OBP | 0.229 | 0.400 | 0.021 | -0.150 |
| predicted_R | 0.628 | 0.000 | 1.000 | Hitting_R | 0.632 | 1.000 | -0.632 | -1.000 |
| predicted_RBI | 0.660 | 0.000 | 1.000 | Hitting_RBI | 0.758 | 0.000 | -0.758 | 0.000 |
| predicted_SLG | 0.431 | 0.250 | 0.250 | Hitting_SLG | 0.413 | 0.000 | -0.163 | 0.250 |
| predicted_SO | 0.617 | 0.000 | 1.000 | Hitting_SO | 0.611 | 1.000 | -0.611 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_H: 0.9500 -> 1.0000 (boost 0.0500, better) |
| Biggest Deboost | predicted_RBI: 0.6600 -> 0.0000 (deboost -0.6600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 8 | 3 | 7 | 4 | predicted_AB: 4.2770 -> 8.1315 (boost 3.8545, better) | predicted_OBP: 0.2960 -> 0.2726 (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 | 5 | 3 | 2 | 3 | 2 | predicted_RBI: 1.3030 -> 1.4010 (boost 0.0980, better) | predicted_OBP: 0.2726 -> 0.2521 (deboost -0.0205, 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.6839 -> 2.0000 (boost 0.3161, better) | predicted_BB: 0.4896 -> 0.0000 (deboost -0.4896, worse) | AB rounded to 8 (raw=8.13), rates preserved: AVG=0.207 HR/AB=0.058 |
| 5 | bvp_blend | 1 | 1 | 0 | 1 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | 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.1784 -> 1.0000 (deboost -0.1784, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2521 -> 0.3330 (boost 0.0809, better) | predicted_SLG: 0.4044 -> 0.2500 (deboost -0.1544, 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.4044 (boost 0.1544, better) | predicted_OBP: 0.3330 -> 0.2521 (deboost -0.0809, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "605141",
"player_name": "Mookie Betts",
"position": "SS",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.064,
"predicted_3B": 0.0,
"predicted_AB": 4.277,
"predicted_AVG": 0.225,
"predicted_BB": 0.213,
"predicted_H": 0.95,
"predicted_HR": 0.2,
"predicted_OBP": 0.296,
"predicted_R": 0.628,
"predicted_RBI": 0.66,
"predicted_SLG": 0.431,
"predicted_SO": 0.617
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1799,
"predicted_3B": 0.0013,
"predicted_AB": 8.1315,
"predicted_AVG": 0.2093,
"predicted_BB": 0.4802,
"predicted_H": 1.6145,
"predicted_HBP": 0.123,
"predicted_HR": 0.4534,
"predicted_OBP": 0.2726,
"predicted_R": 1.096,
"predicted_RBI": 1.303,
"predicted_SLG": 0.4146,
"predicted_SO": 1.3044
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.064,
"after": 0.1799,
"delta": 0.1159,
"percent_delta": 1.8109,
"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.277,
"after": 8.1315,
"delta": 3.8545,
"percent_delta": 0.9012,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2093,
"delta": -0.0157,
"percent_delta": -0.0698,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.213,
"after": 0.4802,
"delta": 0.2672,
"percent_delta": 1.2545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 1.6145,
"delta": 0.6645,
"percent_delta": 0.6995,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.4534,
"delta": 0.2534,
"percent_delta": 1.267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.2726,
"delta": -0.0234,
"percent_delta": -0.0791,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.628,
"after": 1.096,
"delta": 0.468,
"percent_delta": 0.7452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 1.303,
"delta": 0.643,
"percent_delta": 0.9742,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4146,
"delta": -0.0164,
"percent_delta": -0.0381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.617,
"after": 1.3044,
"delta": 0.6874,
"percent_delta": 1.1141,
"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.277,
"after": 8.1315,
"delta": 3.8545,
"percent_delta": 0.9012,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.2726,
"delta": -0.0234,
"percent_delta": -0.0791,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.1799,
"predicted_3B": 0.0013,
"predicted_AB": 8.1315,
"predicted_AVG": 0.2071,
"predicted_BB": 0.4896,
"predicted_H": 1.6839,
"predicted_HBP": 0.123,
"predicted_HR": 0.4739,
"predicted_OBP": 0.2521,
"predicted_R": 1.1784,
"predicted_RBI": 1.401,
"predicted_SLG": 0.4044,
"predicted_SO": 1.2788
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1799,
"after": 0.1799,
"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": 8.1315,
"after": 8.1315,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2093,
"after": 0.2071,
"delta": -0.0022,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4802,
"after": 0.4896,
"delta": 0.0094,
"percent_delta": 0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.6145,
"after": 1.6839,
"delta": 0.0694,
"percent_delta": 0.043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.123,
"after": 0.123,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4534,
"after": 0.4739,
"delta": 0.0205,
"percent_delta": 0.0452,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2726,
"after": 0.2521,
"delta": -0.0205,
"percent_delta": -0.0752,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.096,
"after": 1.1784,
"delta": 0.0824,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.303,
"after": 1.401,
"delta": 0.098,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4146,
"after": 0.4044,
"delta": -0.0102,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3044,
"after": 1.2788,
"delta": -0.0256,
"percent_delta": -0.0196,
"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.303,
"after": 1.401,
"delta": 0.098,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2726,
"after": 0.2521,
"delta": -0.0205,
"percent_delta": -0.0752,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=8.13), rates preserved: AVG=0.207 HR/AB=0.058",
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1799,
"after": 0.0,
"delta": -0.1799,
"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": 8.1315,
"after": 8.0,
"delta": -0.1315,
"percent_delta": -0.0162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4896,
"after": 0.0,
"delta": -0.4896,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6839,
"after": 2.0,
"delta": 0.3161,
"percent_delta": 0.1877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.123,
"after": 0.0,
"delta": -0.123,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.4739,
"after": 0.0,
"delta": -0.4739,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.401,
"after": 1.0,
"delta": -0.401,
"percent_delta": -0.2862,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2788,
"after": 1.0,
"delta": -0.2788,
"percent_delta": -0.218,
"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.6839,
"after": 2.0,
"delta": 0.3161,
"percent_delta": 0.1877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4896,
"after": 0.0,
"delta": -0.4896,
"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": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.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": 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.1784,
"after": 1.0,
"delta": -0.1784,
"percent_delta": -0.1514,
"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.1784,
"after": 1.0,
"delta": -0.1784,
"percent_delta": -0.1514,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2071,
"after": 0.25,
"delta": 0.0429,
"percent_delta": 0.2071,
"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.2521,
"after": 0.333,
"delta": 0.0809,
"percent_delta": 0.3209,
"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.4044,
"after": 0.25,
"delta": -0.1544,
"percent_delta": -0.3818,
"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.2521,
"after": 0.333,
"delta": 0.0809,
"percent_delta": 0.3209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4044,
"after": 0.25,
"delta": -0.1544,
"percent_delta": -0.3818,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2071,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2521,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4044,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2071,
"delta": -0.0429,
"percent_delta": -0.1717,
"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.2521,
"delta": -0.0809,
"percent_delta": -0.2429,
"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.4044,
"delta": 0.1544,
"percent_delta": 0.6175,
"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.4044,
"delta": 0.1544,
"percent_delta": 0.6175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2521,
"delta": -0.0809,
"percent_delta": -0.2429,
"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.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": 4.277,
"after": 4.0,
"delta": -0.277,
"percent_delta": -0.0648,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2071,
"delta": -0.0179,
"percent_delta": -0.0796,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.213,
"after": 0.0,
"delta": -0.213,
"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.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.2521,
"delta": -0.0439,
"percent_delta": -0.1483,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.628,
"after": 0.0,
"delta": -0.628,
"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.431,
"after": 0.4044,
"delta": -0.0266,
"percent_delta": -0.0617,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.617,
"after": 0.0,
"delta": -0.617,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.95,
"after": 1.0,
"delta": 0.05,
"percent_delta": 0.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.66,
"after": 0.0,
"delta": -0.66,
"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.064 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.277 | - |
| predicted_AVG | 0.225 | - |
| predicted_BB | 0.213 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.296 | - |
| predicted_R | 0.628 | - |
| predicted_RBI | 0.660 | - |
| predicted_SLG | 0.431 | - |
| predicted_SO | 0.617 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.180 | 0.116 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 8.132 | 3.855 |
| predicted_AVG | 0.209 | -0.016 |
| predicted_BB | 0.480 | 0.267 |
| predicted_H | 1.615 | 0.665 |
| predicted_HBP | 0.123 | - |
| predicted_HR | 0.453 | 0.253 |
| predicted_OBP | 0.273 | -0.023 |
| predicted_R | 1.096 | 0.468 |
| predicted_RBI | 1.303 | 0.643 |
| predicted_SLG | 0.415 | -0.016 |
| predicted_SO | 1.304 | 0.687 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.180 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 8.132 | 0.000 |
| predicted_AVG | 0.207 | -0.002 |
| predicted_BB | 0.490 | 0.009 |
| predicted_H | 1.684 | 0.069 |
| predicted_HBP | 0.123 | 0.000 |
| predicted_HR | 0.474 | 0.020 |
| predicted_OBP | 0.252 | -0.021 |
| predicted_R | 1.178 | 0.082 |
| predicted_RBI | 1.401 | 0.098 |
| predicted_SLG | 0.404 | -0.010 |
| predicted_SO | 1.279 | -0.026 |
AB rounded to 8 (raw=8.13), rates preserved: AVG=0.207 HR/AB=0.058
| 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 | 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 | 8.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 2.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 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.180 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | -0.132 |
| predicted_AVG | 0.250 | 0.043 |
| predicted_BB | 1.000 | 0.510 |
| predicted_H | 2.000 | 0.316 |
| predicted_HR | 0.000 | -0.474 |
| predicted_OBP | 0.333 | 0.081 |
| predicted_R | 1.000 | -0.178 |
| predicted_RBI | 1.000 | -0.401 |
| predicted_SLG | 0.250 | -0.154 |
| predicted_SO | 1.000 | -0.279 |
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 | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 18.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 4.000 | 0.1667 | 0.2500 | 0.2222 | 0.1667 | 0.0000 | 0.0556 | 0.1111 | 0.2222 |
| last_10 | 0.20 | 5 | - | 41.000 | 12.000 | 1.000 | 0.000 | 6.000 | 16.000 | 7.000 | 2.000 | 9.000 | 0.2927 | 0.3256 | 0.7561 | 0.2927 | 0.1463 | 0.3902 | 0.0488 | 0.2195 |
| season | 0.60 | 24 | - | 402.000 | 73.000 | 6.000 | 0.000 | 29.000 | 72.000 | 59.000 | 20.000 | 58.000 | 0.1816 | 0.2274 | 0.4129 | 0.1816 | 0.0721 | 0.1791 | 0.0498 | 0.1443 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3330 |
| predicted_3B | 0.0030 |
| predicted_AB | 13.2210 |
| predicted_AVG | 0.1885 |
| predicted_BB | 0.8330 |
| predicted_H | 2.4920 |
| predicted_HBP | 0.1230 |
| predicted_HR | 0.7880 |
| predicted_OBP | 0.2418 |
| predicted_R | 1.7140 |
| predicted_RBI | 2.1520 |
| predicted_SLG | 0.3930 |
| predicted_SO | 2.2120 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0640 | 0.3330 | 0.1799 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 4.2770 | 13.2210 | 8.1315 | model_form_blend |
| predicted_AVG | 0.2250 | 0.1885 | 0.2093 | model_form_blend |
| predicted_BB | 0.2130 | 0.8330 | 0.4802 | model_form_blend |
| predicted_H | 0.9500 | 2.4920 | 1.6145 | model_form_blend |
| predicted_HBP | - | 0.1230 | 0.1230 | form_only |
| predicted_HR | 0.2000 | 0.7880 | 0.4534 | model_form_blend |
| predicted_OBP | 0.2960 | 0.2418 | 0.2726 | model_form_blend |
| predicted_R | 0.6280 | 1.7140 | 1.0960 | model_form_blend |
| predicted_RBI | 0.6600 | 2.1520 | 1.3030 | model_form_blend |
| predicted_SLG | 0.4310 | 0.3930 | 0.4146 | model_form_blend |
| predicted_SO | 0.6170 | 2.2120 | 1.3044 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 95 |
| Season rows before report date | 95 |
| Report year | 2026 |
| Profile rows used | 94 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.182 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 2 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260531_PHI@LAD |
| game_type | full |
| mlbID | 605141 |
| playerID | 605141 |
| playerName | Mookie Betts |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | LAD |
| teamID | 14 |
| game_date | 2026-05-31 |
| sl_k_percent | 12.6 |
| sl_bb_percent | 5.8 |
| sl_woba | 0.294 |
| sl_xwoba | 0.33 |
| sl_xba | 0.267 |
| sl_xslg | 0.451 |
| sl_sweet_spot_percent | 41.0 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 38.6 |
| sl_exit_velocity_avg | 90.9 |
| sl_launch_angle_avg | 19.7 |
| sl_whiff_percent | 11.0 |
| sl_swing_percent | 42.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.237 | 0.000 | 0.000 | Hitting_2B | 0.234 | 0.000 | -0.234 | 0.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_AB | 4.040 | 5.000 | 8.000 | Hitting_AB | 3.799 | 5.000 | 1.201 | 0.000 |
| predicted_AVG | 0.255 | 0.200 | 0.250 | Hitting_AVG | 0.278 | 0.400 | -0.078 | -0.200 |
| predicted_BB | 0.775 | 0.000 | 1.000 | Hitting_BB | 0.762 | 0.000 | -0.762 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_H | 1.030 | 1.000 | 2.000 | Hitting_H | 1.057 | 2.000 | -0.057 | -1.000 |
| predicted_HR | 0.210 | 0.000 | 1.000 | Hitting_HR | 0.168 | 0.000 | -0.168 | 0.000 |
| predicted_OBP | 0.366 | 0.200 | 0.333 | Hitting_OBP | 0.405 | 0.400 | -0.205 | -0.200 |
| predicted_R | 0.717 | 1.000 | 2.000 | Hitting_R | 0.705 | 0.000 | 0.295 | 1.000 |
| predicted_RBI | 0.540 | 1.000 | 1.000 | Hitting_RBI | 0.623 | 0.000 | 0.377 | 1.000 |
| predicted_SLG | 0.483 | 0.200 | 0.625 | Hitting_SLG | 0.485 | 0.400 | -0.285 | -0.200 |
| predicted_SO | 1.067 | 0.000 | 2.000 | Hitting_SO | 1.049 | 1.000 | -1.049 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_AB: 4.0400 -> 5.0000 (boost 0.9600, better) |
| Biggest Deboost | predicted_SO: 1.0670 -> 0.0000 (deboost -1.0670, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.0400 -> 8.4785 (boost 4.4385, 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.4973 -> 1.6099 (boost 0.1126, 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_HR: 0.5554 -> 1.0000 (boost 0.4446, better) | predicted_H: 2.5095 -> 2.0000 (deboost -0.5095, worse) | AB rounded to 8 (raw=8.48), rates preserved: AVG=0.296 HR/AB=0.066 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.312) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.6099 -> 2.0000 (boost 0.3901, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.5524 -> 0.6250 (boost 0.0726, better) | predicted_OBP: 0.3948 -> 0.3330 (deboost -0.0618, 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 -> 5.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3330 -> 0.3948 (boost 0.0618, better) | predicted_SLG: 0.6250 -> 0.5524 (deboost -0.0726, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "660271",
"player_name": "Shohei Ohtani",
"position": "DH",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.237,
"predicted_3B": 0.025,
"predicted_AB": 4.04,
"predicted_AVG": 0.255,
"predicted_BB": 0.775,
"predicted_H": 1.03,
"predicted_HR": 0.21,
"predicted_OBP": 0.366,
"predicted_R": 0.717,
"predicted_RBI": 0.54,
"predicted_SLG": 0.483,
"predicted_SO": 1.067
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4198,
"predicted_3B": 0.044,
"predicted_AB": 8.4785,
"predicted_AVG": 0.2723,
"predicted_BB": 1.3574,
"predicted_H": 2.406,
"predicted_HBP": 0.316,
"predicted_HR": 0.5313,
"predicted_OBP": 0.3772,
"predicted_R": 1.4973,
"predicted_RBI": 1.2756,
"predicted_SLG": 0.5125,
"predicted_SO": 2.3487
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.237,
"after": 0.4198,
"delta": 0.1828,
"percent_delta": 0.7713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.044,
"delta": 0.019,
"percent_delta": 0.76,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.04,
"after": 8.4785,
"delta": 4.4385,
"percent_delta": 1.0986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2723,
"delta": 0.0173,
"percent_delta": 0.0678,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.775,
"after": 1.3574,
"delta": 0.5824,
"percent_delta": 0.7515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 2.406,
"delta": 1.376,
"percent_delta": 1.3359,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.5313,
"delta": 0.3213,
"percent_delta": 1.53,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.366,
"after": 0.3772,
"delta": 0.0112,
"percent_delta": 0.0306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.717,
"after": 1.4973,
"delta": 0.7803,
"percent_delta": 1.0883,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 1.2756,
"delta": 0.7356,
"percent_delta": 1.3622,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.483,
"after": 0.5125,
"delta": 0.0295,
"percent_delta": 0.0611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.067,
"after": 2.3487,
"delta": 1.2817,
"percent_delta": 1.2012,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.04,
"after": 8.4785,
"delta": 4.4385,
"percent_delta": 1.0986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.4198,
"predicted_3B": 0.044,
"predicted_AB": 8.4785,
"predicted_AVG": 0.296,
"predicted_BB": 1.384,
"predicted_H": 2.5095,
"predicted_HBP": 0.316,
"predicted_HR": 0.5554,
"predicted_OBP": 0.3948,
"predicted_R": 1.6099,
"predicted_RBI": 1.3715,
"predicted_SLG": 0.5524,
"predicted_SO": 2.3027
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4198,
"after": 0.4198,
"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": 8.4785,
"after": 8.4785,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2723,
"after": 0.296,
"delta": 0.0237,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.3574,
"after": 1.384,
"delta": 0.0266,
"percent_delta": 0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.406,
"after": 2.5095,
"delta": 0.1035,
"percent_delta": 0.043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.5313,
"after": 0.5554,
"delta": 0.0241,
"percent_delta": 0.0454,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3772,
"after": 0.3948,
"delta": 0.0176,
"percent_delta": 0.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.4973,
"after": 1.6099,
"delta": 0.1126,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2756,
"after": 1.3715,
"delta": 0.0959,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5125,
"after": 0.5524,
"delta": 0.0399,
"percent_delta": 0.0779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.3487,
"after": 2.3027,
"delta": -0.046,
"percent_delta": -0.0196,
"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.4973,
"after": 1.6099,
"delta": 0.1126,
"percent_delta": 0.0752,
"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.48), rates preserved: AVG=0.296 HR/AB=0.066",
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4198,
"after": 0.0,
"delta": -0.4198,
"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": 8.4785,
"after": 8.0,
"delta": -0.4785,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.384,
"after": 1.0,
"delta": -0.384,
"percent_delta": -0.2775,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.5095,
"after": 2.0,
"delta": -0.5095,
"percent_delta": -0.203,
"direction": "deboost",
"projection_effect": "worse",
"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.5554,
"after": 1.0,
"delta": 0.4446,
"percent_delta": 0.8005,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3715,
"after": 1.0,
"delta": -0.3715,
"percent_delta": -0.2709,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.3027,
"after": 2.0,
"delta": -0.3027,
"percent_delta": -0.1315,
"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_HR",
"before": 0.5554,
"after": 1.0,
"delta": 0.4446,
"percent_delta": 0.8005,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.5095,
"after": 2.0,
"delta": -0.5095,
"percent_delta": -0.203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.312)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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.8609,
"bvp": 0.1391
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 2.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.6099,
"after": 2.0,
"delta": 0.3901,
"percent_delta": 0.2423,
"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.6099,
"after": 2.0,
"delta": 0.3901,
"percent_delta": 0.2423,
"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": 1.0,
"predicted_OBP": 0.333,
"predicted_R": 2.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.625,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.25,
"delta": -0.046,
"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": 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.3948,
"after": 0.333,
"delta": -0.0618,
"percent_delta": -0.1565,
"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.5524,
"after": 0.625,
"delta": 0.0726,
"percent_delta": 0.1314,
"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.5524,
"after": 0.625,
"delta": 0.0726,
"percent_delta": 0.1314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3948,
"after": 0.333,
"delta": -0.0618,
"percent_delta": -0.1565,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 5.0,
"delta": -3.0,
"percent_delta": -0.375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.296,
"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.3948,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5524,
"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.296,
"delta": 0.046,
"percent_delta": 0.1839,
"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.3948,
"delta": 0.0618,
"percent_delta": 0.1855,
"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.625,
"after": 0.5524,
"delta": -0.0726,
"percent_delta": -0.1162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3948,
"delta": 0.0618,
"percent_delta": 0.1855,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.625,
"after": 0.5524,
"delta": -0.0726,
"percent_delta": -0.1162,
"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.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.04,
"after": 5.0,
"delta": 0.96,
"percent_delta": 0.2376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.296,
"delta": 0.041,
"percent_delta": 0.1608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.775,
"after": 0.0,
"delta": -0.775,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.366,
"after": 0.3948,
"delta": 0.0288,
"percent_delta": 0.0787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.717,
"after": 1.0,
"delta": 0.283,
"percent_delta": 0.3947,
"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.483,
"after": 0.5524,
"delta": 0.0694,
"percent_delta": 0.1437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.067,
"after": 0.0,
"delta": -1.067,
"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_AB",
"before": 4.04,
"after": 5.0,
"delta": 0.96,
"percent_delta": 0.2376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.067,
"after": 0.0,
"delta": -1.067,
"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.237 | - |
| predicted_3B | 0.025 | - |
| predicted_AB | 4.040 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.775 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.366 | - |
| predicted_R | 0.717 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.483 | - |
| predicted_SO | 1.067 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.420 | 0.183 |
| predicted_3B | 0.044 | 0.019 |
| predicted_AB | 8.479 | 4.439 |
| predicted_AVG | 0.272 | 0.017 |
| predicted_BB | 1.357 | 0.582 |
| predicted_H | 2.406 | 1.376 |
| predicted_HBP | 0.316 | - |
| predicted_HR | 0.531 | 0.321 |
| predicted_OBP | 0.377 | 0.011 |
| predicted_R | 1.497 | 0.780 |
| predicted_RBI | 1.276 | 0.736 |
| predicted_SLG | 0.512 | 0.029 |
| predicted_SO | 2.349 | 1.282 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.420 | 0.000 |
| predicted_3B | 0.044 | 0.000 |
| predicted_AB | 8.479 | 0.000 |
| predicted_AVG | 0.296 | 0.024 |
| predicted_BB | 1.384 | 0.027 |
| predicted_H | 2.510 | 0.103 |
| predicted_HBP | 0.316 | 0.000 |
| predicted_HR | 0.555 | 0.024 |
| predicted_OBP | 0.395 | 0.018 |
| predicted_R | 1.610 | 0.113 |
| predicted_RBI | 1.371 | 0.096 |
| predicted_SLG | 0.552 | 0.040 |
| predicted_SO | 2.303 | -0.046 |
AB rounded to 8 (raw=8.48), rates preserved: AVG=0.296 HR/AB=0.066
| 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 | 2.000 | - |
Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.312)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 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 | 1.000 | 0.000 |
| R | 2.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.420 |
| predicted_3B | 0.000 | -0.044 |
| predicted_AB | 8.000 | -0.479 |
| predicted_AVG | 0.250 | -0.046 |
| predicted_BB | 1.000 | -0.384 |
| predicted_H | 2.000 | -0.510 |
| predicted_HR | 1.000 | 0.445 |
| predicted_OBP | 0.333 | -0.062 |
| predicted_R | 2.000 | 0.390 |
| predicted_RBI | 1.000 | -0.371 |
| predicted_SLG | 0.625 | 0.073 |
| predicted_SO | 2.000 | -0.303 |
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 | -1.000 |
| PA | 5.000 | - |
| R | 1.000 | -1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 22.000 | 8.000 | 0.000 | 0.000 | 3.000 | 3.000 | 3.000 | 0.000 | 7.000 | 0.3636 | 0.3636 | 0.7727 | 0.3636 | 0.1364 | 0.1364 | 0.0000 | 0.3182 |
| last_10 | 0.20 | 5 | - | 36.000 | 10.000 | 0.000 | 0.000 | 5.000 | 5.000 | 8.000 | 0.000 | 9.000 | 0.2778 | 0.3333 | 0.6944 | 0.2778 | 0.1389 | 0.1389 | 0.0000 | 0.2500 |
| season | 0.60 | 54 | - | 927.000 | 258.000 | 57.000 | 6.000 | 41.000 | 152.000 | 172.000 | 186.000 | 256.000 | 0.2783 | 0.4054 | 0.4854 | 0.2783 | 0.0442 | 0.1640 | 0.2006 | 0.2762 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6500 |
| predicted_3B | 0.0680 |
| predicted_AB | 14.0690 |
| predicted_AVG | 0.2942 |
| predicted_BB | 2.0910 |
| predicted_H | 4.1390 |
| predicted_HBP | 0.3160 |
| predicted_HR | 0.9360 |
| predicted_OBP | 0.3914 |
| predicted_R | 2.4800 |
| predicted_RBI | 2.2020 |
| predicted_SLG | 0.5496 |
| predicted_SO | 3.9630 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2370 | 0.6500 | 0.4198 | model_form_blend |
| predicted_3B | 0.0250 | 0.0680 | 0.0440 | model_form_blend |
| predicted_AB | 4.0400 | 14.0690 | 8.4785 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2942 | 0.2723 | model_form_blend |
| predicted_BB | 0.7750 | 2.0910 | 1.3574 | model_form_blend |
| predicted_H | 1.0300 | 4.1390 | 2.4060 | model_form_blend |
| predicted_HBP | - | 0.3160 | 0.3160 | form_only |
| predicted_HR | 0.2100 | 0.9360 | 0.5313 | model_form_blend |
| predicted_OBP | 0.3660 | 0.3914 | 0.3772 | model_form_blend |
| predicted_R | 0.7170 | 2.4800 | 1.4973 | model_form_blend |
| predicted_RBI | 0.5400 | 2.2020 | 1.2756 | model_form_blend |
| predicted_SLG | 0.4830 | 0.5496 | 0.5125 | model_form_blend |
| predicted_SO | 1.0670 | 3.9630 | 2.3487 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 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.278 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260531_PHI@LAD |
| game_type | full |
| mlbID | 660271 |
| playerID | 660271 |
| playerName | Shohei Ohtani |
| pos | TWP |
| started | True |
| startingPosition | DH |
| team | LAD |
| teamID | 14 |
| game_date | 2026-05-31 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 15.6 |
| sl_woba | 0.388 |
| sl_xwoba | 0.407 |
| sl_xba | 0.287 |
| sl_xslg | 0.534 |
| sl_sweet_spot_percent | 40.5 |
| sl_barrel_batted_rate | 16.3 |
| sl_hard_hit_percent | 51.4 |
| sl_exit_velocity_avg | 93.4 |
| sl_launch_angle_avg | 12.6 |
| sl_whiff_percent | 28.5 |
| sl_swing_percent | 43.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.231 | 1.000 | 0.000 | Hitting_2B | 0.231 | 0.000 | 0.769 | 1.000 |
| predicted_3B | 0.004 | 0.000 | 0.000 | Hitting_3B | 0.004 | 1.000 | -0.004 | -1.000 |
| predicted_AB | 4.180 | 5.000 | 8.000 | Hitting_AB | 3.817 | 4.000 | 1.183 | 1.000 |
| predicted_AVG | 0.255 | 0.400 | 0.250 | Hitting_AVG | 0.314 | 0.250 | 0.086 | 0.150 |
| predicted_BB | 0.288 | 0.000 | 1.000 | Hitting_BB | 0.288 | 1.000 | -0.288 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_H | 1.070 | 2.000 | 2.000 | Hitting_H | 1.197 | 1.000 | 0.803 | 1.000 |
| predicted_HR | 0.210 | 0.000 | 1.000 | Hitting_HR | 0.253 | 0.000 | -0.253 | 0.000 |
| predicted_OBP | 0.335 | 0.400 | 0.333 | Hitting_OBP | 0.362 | 0.400 | 0.038 | 0.000 |
| predicted_R | 0.690 | 0.000 | 2.000 | Hitting_R | 0.690 | 1.000 | -0.690 | -1.000 |
| predicted_RBI | 0.710 | 0.000 | 2.000 | Hitting_RBI | 0.965 | 0.000 | -0.965 | 0.000 |
| predicted_SLG | 0.521 | 0.600 | 0.625 | Hitting_SLG | 0.576 | 0.750 | 0.024 | -0.150 |
| predicted_SO | 0.777 | 1.000 | 1.000 | Hitting_SO | 0.777 | 0.000 | 0.223 | 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 | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 1.0700 -> 2.0000 (boost 0.9300, better) |
| Biggest Deboost | predicted_RBI: 0.7100 -> 0.0000 (deboost -0.7100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 12 | 12 | 0 | 11 | 1 | predicted_AB: 4.1800 -> 7.7779 (boost 3.5979, 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.5976 -> 1.7177 (boost 0.1201, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 4 | 5 | 5 | 4 | predicted_BB: 0.5393 -> 1.0000 (boost 0.4607, better) | predicted_2B: 0.4692 -> 0.0000 (deboost -0.4692, worse) | AB rounded to 8 (raw=7.78), rates preserved: AVG=0.310 HR/AB=0.071 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.5193 -> 2.0000 (boost 0.4807, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.5998 -> 0.6250 (boost 0.0252, better) | predicted_AVG: 0.3102 -> 0.2500 (deboost -0.0602, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 1 | 5 | 1 | 5 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 8.0000 -> 5.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2500 -> 0.3102 (boost 0.0602, better) | predicted_SLG: 0.6250 -> 0.5998 (deboost -0.0252, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681624",
"player_name": "Andy Pages",
"position": "CF",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.231,
"predicted_3B": 0.004,
"predicted_AB": 4.18,
"predicted_AVG": 0.255,
"predicted_BB": 0.288,
"predicted_H": 1.07,
"predicted_HR": 0.21,
"predicted_OBP": 0.335,
"predicted_R": 0.69,
"predicted_RBI": 0.71,
"predicted_SLG": 0.521,
"predicted_SO": 0.777
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4692,
"predicted_3B": 0.0636,
"predicted_AB": 7.7779,
"predicted_AVG": 0.2816,
"predicted_BB": 0.5289,
"predicted_H": 2.3136,
"predicted_HBP": 0.086,
"predicted_HR": 0.5281,
"predicted_OBP": 0.3459,
"predicted_R": 1.413,
"predicted_RBI": 1.5976,
"predicted_SLG": 0.5676,
"predicted_SO": 1.3328
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.231,
"after": 0.4692,
"delta": 0.2382,
"percent_delta": 1.0312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.004,
"after": 0.0636,
"delta": 0.0596,
"percent_delta": 14.9,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.18,
"after": 7.7779,
"delta": 3.5979,
"percent_delta": 0.8607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2816,
"delta": 0.0266,
"percent_delta": 0.1043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.288,
"after": 0.5289,
"delta": 0.2409,
"percent_delta": 0.8365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 2.3136,
"delta": 1.2436,
"percent_delta": 1.1622,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.5281,
"delta": 0.3181,
"percent_delta": 1.5148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3459,
"delta": 0.0109,
"percent_delta": 0.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.69,
"after": 1.413,
"delta": 0.723,
"percent_delta": 1.0478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.71,
"after": 1.5976,
"delta": 0.8876,
"percent_delta": 1.2501,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.521,
"after": 0.5676,
"delta": 0.0466,
"percent_delta": 0.0894,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.777,
"after": 1.3328,
"delta": 0.5558,
"percent_delta": 0.7153,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 12,
"deboosted_metrics": 0,
"better_metrics": 11,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.18,
"after": 7.7779,
"delta": 3.5979,
"percent_delta": 0.8607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 59
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.4692,
"predicted_3B": 0.0636,
"predicted_AB": 7.7779,
"predicted_AVG": 0.3102,
"predicted_BB": 0.5393,
"predicted_H": 2.4131,
"predicted_HBP": 0.086,
"predicted_HR": 0.552,
"predicted_OBP": 0.355,
"predicted_R": 1.5193,
"predicted_RBI": 1.7177,
"predicted_SLG": 0.5998,
"predicted_SO": 1.3067
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4692,
"after": 0.4692,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0636,
"after": 0.0636,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.7779,
"after": 7.7779,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2816,
"after": 0.3102,
"delta": 0.0286,
"percent_delta": 0.1016,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5289,
"after": 0.5393,
"delta": 0.0104,
"percent_delta": 0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.3136,
"after": 2.4131,
"delta": 0.0995,
"percent_delta": 0.043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.086,
"after": 0.086,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.5281,
"after": 0.552,
"delta": 0.0239,
"percent_delta": 0.0453,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3459,
"after": 0.355,
"delta": 0.0091,
"percent_delta": 0.0263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.413,
"after": 1.5193,
"delta": 0.1063,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.5976,
"after": 1.7177,
"delta": 0.1201,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5676,
"after": 0.5998,
"delta": 0.0322,
"percent_delta": 0.0567,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3328,
"after": 1.3067,
"delta": -0.0261,
"percent_delta": -0.0196,
"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.5976,
"after": 1.7177,
"delta": 0.1201,
"percent_delta": 0.0752,
"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.78), rates preserved: AVG=0.310 HR/AB=0.071",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4692,
"after": 0.0,
"delta": -0.4692,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0636,
"after": 0.0,
"delta": -0.0636,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.7779,
"after": 8.0,
"delta": 0.2221,
"percent_delta": 0.0286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5393,
"after": 1.0,
"delta": 0.4607,
"percent_delta": 0.8543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.4131,
"after": 2.0,
"delta": -0.4131,
"percent_delta": -0.1712,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.086,
"after": 0.0,
"delta": -0.086,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.552,
"after": 1.0,
"delta": 0.448,
"percent_delta": 0.8116,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.7177,
"after": 2.0,
"delta": 0.2823,
"percent_delta": 0.1643,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3067,
"after": 1.0,
"delta": -0.3067,
"percent_delta": -0.2347,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5393,
"after": 1.0,
"delta": 0.4607,
"percent_delta": 0.8543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4692,
"after": 0.0,
"delta": -0.4692,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 2.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.5193,
"after": 2.0,
"delta": 0.4807,
"percent_delta": 0.3164,
"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": 1.5193,
"after": 2.0,
"delta": 0.4807,
"percent_delta": 0.3164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.333,
"predicted_R": 2.0,
"predicted_RBI": 2.0,
"predicted_SLG": 0.625,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.3102,
"after": 0.25,
"delta": -0.0602,
"percent_delta": -0.1941,
"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.355,
"after": 0.333,
"delta": -0.022,
"percent_delta": -0.062,
"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.5998,
"after": 0.625,
"delta": 0.0252,
"percent_delta": 0.042,
"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.5998,
"after": 0.625,
"delta": 0.0252,
"percent_delta": 0.042,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.3102,
"after": 0.25,
"delta": -0.0602,
"percent_delta": -0.1941,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 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": 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": 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": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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": 1.0,
"after": 1.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_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": 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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.3102,
"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.355,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5998,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.3102,
"delta": 0.0602,
"percent_delta": 0.241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.355,
"delta": 0.022,
"percent_delta": 0.066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.625,
"after": 0.5998,
"delta": -0.0252,
"percent_delta": -0.0402,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.3102,
"delta": 0.0602,
"percent_delta": 0.241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.625,
"after": 0.5998,
"delta": -0.0252,
"percent_delta": -0.0402,
"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": 1.0,
"delta": 0.769,
"percent_delta": 3.329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.004,
"after": 0.0,
"delta": -0.004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.18,
"after": 5.0,
"delta": 0.82,
"percent_delta": 0.1962,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.3102,
"delta": 0.0552,
"percent_delta": 0.2165,
"direction": "boost",
"projection_effect": "better",
"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": 1.07,
"after": 2.0,
"delta": 0.93,
"percent_delta": 0.8692,
"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.335,
"after": 0.355,
"delta": 0.02,
"percent_delta": 0.0597,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.69,
"after": 0.0,
"delta": -0.69,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.71,
"after": 0.0,
"delta": -0.71,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.521,
"after": 0.5998,
"delta": 0.0788,
"percent_delta": 0.1512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.777,
"after": 1.0,
"delta": 0.223,
"percent_delta": 0.287,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.07,
"after": 2.0,
"delta": 0.93,
"percent_delta": 0.8692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.71,
"after": 0.0,
"delta": -0.71,
"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.231 | - |
| predicted_3B | 0.004 | - |
| predicted_AB | 4.180 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.288 | - |
| predicted_H | 1.070 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.335 | - |
| predicted_R | 0.690 | - |
| predicted_RBI | 0.710 | - |
| predicted_SLG | 0.521 | - |
| predicted_SO | 0.777 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.469 | 0.238 |
| predicted_3B | 0.064 | 0.060 |
| predicted_AB | 7.778 | 3.598 |
| predicted_AVG | 0.282 | 0.027 |
| predicted_BB | 0.529 | 0.241 |
| predicted_H | 2.314 | 1.244 |
| predicted_HBP | 0.086 | - |
| predicted_HR | 0.528 | 0.318 |
| predicted_OBP | 0.346 | 0.011 |
| predicted_R | 1.413 | 0.723 |
| predicted_RBI | 1.598 | 0.888 |
| predicted_SLG | 0.568 | 0.047 |
| predicted_SO | 1.333 | 0.556 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.469 | 0.000 |
| predicted_3B | 0.064 | 0.000 |
| predicted_AB | 7.778 | 0.000 |
| predicted_AVG | 0.310 | 0.029 |
| predicted_BB | 0.539 | 0.010 |
| predicted_H | 2.413 | 0.099 |
| predicted_HBP | 0.086 | 0.000 |
| predicted_HR | 0.552 | 0.024 |
| predicted_OBP | 0.355 | 0.009 |
| predicted_R | 1.519 | 0.106 |
| predicted_RBI | 1.718 | 0.120 |
| predicted_SLG | 0.600 | 0.032 |
| predicted_SO | 1.307 | -0.026 |
AB rounded to 8 (raw=7.78), rates preserved: AVG=0.310 HR/AB=0.071
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 1.000 | - |
| RBI | 2.000 | - |
| SB | 0.000 | - |
| SO | 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 | 1.000 | 0.000 |
| R | 2.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.469 |
| predicted_3B | 0.000 | -0.064 |
| predicted_AB | 8.000 | 0.222 |
| predicted_AVG | 0.250 | -0.060 |
| predicted_BB | 1.000 | 0.461 |
| predicted_H | 2.000 | -0.413 |
| predicted_HR | 1.000 | 0.448 |
| predicted_OBP | 0.333 | -0.022 |
| predicted_R | 2.000 | 0.481 |
| predicted_RBI | 2.000 | 0.282 |
| predicted_SLG | 0.625 | 0.025 |
| predicted_SO | 1.000 | -0.307 |
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 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 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 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 21.000 | 6.000 | 1.000 | 1.000 | 2.000 | 2.000 | 4.000 | 1.000 | 1.000 | 0.2857 | 0.3182 | 0.7143 | 0.2857 | 0.0952 | 0.0952 | 0.0476 | 0.0476 |
| last_10 | 0.20 | 5 | - | 44.000 | 22.000 | 7.000 | 1.000 | 7.000 | 13.000 | 15.000 | 1.000 | 1.000 | 0.5000 | 0.5111 | 1.1818 | 0.5000 | 0.1591 | 0.2954 | 0.0227 | 0.0227 |
| season | 0.60 | 59 | - | 874.000 | 274.000 | 53.000 | 1.000 | 58.000 | 221.000 | 158.000 | 66.000 | 178.000 | 0.3135 | 0.3625 | 0.5755 | 0.3135 | 0.0664 | 0.2529 | 0.0755 | 0.2037 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7710 |
| predicted_3B | 0.1390 |
| predicted_AB | 12.3360 |
| predicted_AVG | 0.3152 |
| predicted_BB | 0.8340 |
| predicted_H | 3.8890 |
| predicted_HBP | 0.0860 |
| predicted_HR | 0.9310 |
| predicted_OBP | 0.3596 |
| predicted_R | 2.3290 |
| predicted_RBI | 2.7220 |
| predicted_SLG | 0.6267 |
| predicted_SO | 2.0370 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2310 | 0.7710 | 0.4692 | model_form_blend |
| predicted_3B | 0.0040 | 0.1390 | 0.0636 | model_form_blend |
| predicted_AB | 4.1800 | 12.3360 | 7.7779 | model_form_blend |
| predicted_AVG | 0.2550 | 0.3152 | 0.2816 | model_form_blend |
| predicted_BB | 0.2880 | 0.8340 | 0.5289 | model_form_blend |
| predicted_H | 1.0700 | 3.8890 | 2.3136 | model_form_blend |
| predicted_HBP | - | 0.0860 | 0.0860 | form_only |
| predicted_HR | 0.2100 | 0.9310 | 0.5281 | model_form_blend |
| predicted_OBP | 0.3350 | 0.3596 | 0.3459 | model_form_blend |
| predicted_R | 0.6900 | 2.3290 | 1.4130 | model_form_blend |
| predicted_RBI | 0.7100 | 2.7220 | 1.5976 | model_form_blend |
| predicted_SLG | 0.5210 | 0.6267 | 0.5676 | model_form_blend |
| predicted_SO | 0.7770 | 2.0370 | 1.3328 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 5 |
| AB | 5 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.314 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 1 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 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 | 20260531_PHI@LAD |
| game_type | full |
| mlbID | 681624 |
| playerID | 681624 |
| playerName | Andy Pages |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-05-31 |
| sl_k_percent | 19.0 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.379 |
| sl_xwoba | 0.36 |
| sl_xba | 0.288 |
| sl_xslg | 0.495 |
| sl_sweet_spot_percent | 37.7 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 48.0 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 15.1 |
| sl_whiff_percent | 22.8 |
| sl_swing_percent | 50.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.274 | 0.000 | 1.000 | Hitting_2B | 0.274 | 1.000 | -0.274 | -1.000 |
| predicted_3B | 0.043 | 0.000 | 0.000 | Hitting_3B | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_AB | 3.857 | 4.000 | 8.000 | Hitting_AB | 3.857 | 4.000 | 0.143 | 0.000 |
| predicted_AVG | 0.225 | 0.000 | 0.250 | Hitting_AVG | 0.254 | 0.500 | -0.254 | -0.500 |
| predicted_BB | 0.552 | 0.000 | 1.000 | Hitting_BB | 0.552 | 0.000 | -0.552 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.860 | 0.000 | 2.000 | Hitting_H | 0.978 | 2.000 | -0.978 | -2.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_OBP | 0.294 | 0.000 | 0.333 | Hitting_OBP | 0.346 | 0.500 | -0.346 | -0.500 |
| predicted_R | 0.748 | 0.000 | 2.000 | Hitting_R | 0.748 | 1.000 | -0.748 | -1.000 |
| predicted_RBI | 0.430 | 0.000 | 1.000 | Hitting_RBI | 0.522 | 1.000 | -0.522 | -1.000 |
| predicted_SLG | 0.361 | 0.000 | 0.375 | Hitting_SLG | 0.418 | 0.750 | -0.418 | -0.750 |
| predicted_SO | 0.817 | 2.000 | 2.000 | Hitting_SO | 0.817 | 1.000 | 1.183 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.8170 -> 2.0000 (boost 1.1830, worse) |
| Biggest Deboost | predicted_H: 0.8600 -> 0.0000 (deboost -0.8600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.8570 -> 7.9396 (boost 4.0826, 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.4552 -> 1.5646 (boost 0.1094, 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_2B: 0.5205 -> 1.0000 (boost 0.4795, better) | predicted_HR: 0.1570 -> 0.0000 (deboost -0.1570, worse) | AB rounded to 8 (raw=7.94), rates preserved: AVG=0.243 HR/AB=0.020 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.176) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.5646 -> 2.0000 (boost 0.4354, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3234 -> 0.3330 (boost 0.0096, better) | predicted_SLG: 0.3861 -> 0.3750 (deboost -0.0111, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 0 | 6 | 0 | 6 | - | 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.3861 (boost 0.0111, better) | predicted_OBP: 0.3330 -> 0.3234 (deboost -0.0096, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663656",
"player_name": "Kyle Tucker",
"position": "RF",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.274,
"predicted_3B": 0.043,
"predicted_AB": 3.857,
"predicted_AVG": 0.225,
"predicted_BB": 0.552,
"predicted_H": 0.86,
"predicted_HR": 0.08,
"predicted_OBP": 0.294,
"predicted_R": 0.748,
"predicted_RBI": 0.43,
"predicted_SLG": 0.361,
"predicted_SO": 0.817
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.5205,
"predicted_3B": 0.0722,
"predicted_AB": 7.9396,
"predicted_AVG": 0.2302,
"predicted_BB": 0.9248,
"predicted_H": 1.8498,
"predicted_HBP": 0.046,
"predicted_HR": 0.1502,
"predicted_OBP": 0.2993,
"predicted_R": 1.4552,
"predicted_RBI": 0.892,
"predicted_SLG": 0.3656,
"predicted_SO": 1.6575
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.274,
"after": 0.5205,
"delta": 0.2465,
"percent_delta": 0.8996,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.0722,
"delta": 0.0292,
"percent_delta": 0.6791,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.857,
"after": 7.9396,
"delta": 4.0826,
"percent_delta": 1.0585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2302,
"delta": 0.0052,
"percent_delta": 0.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.552,
"after": 0.9248,
"delta": 0.3728,
"percent_delta": 0.6754,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 1.8498,
"delta": 0.9898,
"percent_delta": 1.1509,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1502,
"delta": 0.0702,
"percent_delta": 0.8775,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2993,
"delta": 0.0053,
"percent_delta": 0.018,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.748,
"after": 1.4552,
"delta": 0.7072,
"percent_delta": 0.9455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.892,
"delta": 0.462,
"percent_delta": 1.0744,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.361,
"after": 0.3656,
"delta": 0.0046,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.817,
"after": 1.6575,
"delta": 0.8405,
"percent_delta": 1.0288,
"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.857,
"after": 7.9396,
"delta": 4.0826,
"percent_delta": 1.0585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.5205,
"predicted_3B": 0.0722,
"predicted_AB": 7.9396,
"predicted_AVG": 0.243,
"predicted_BB": 0.9429,
"predicted_H": 1.9293,
"predicted_HBP": 0.046,
"predicted_HR": 0.157,
"predicted_OBP": 0.3234,
"predicted_R": 1.5646,
"predicted_RBI": 0.9591,
"predicted_SLG": 0.3861,
"predicted_SO": 1.625
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5205,
"after": 0.5205,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0722,
"after": 0.0722,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.9396,
"after": 7.9396,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2302,
"after": 0.243,
"delta": 0.0128,
"percent_delta": 0.0556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9248,
"after": 0.9429,
"delta": 0.0181,
"percent_delta": 0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8498,
"after": 1.9293,
"delta": 0.0795,
"percent_delta": 0.043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.046,
"after": 0.046,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1502,
"after": 0.157,
"delta": 0.0068,
"percent_delta": 0.0453,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2993,
"after": 0.3234,
"delta": 0.0241,
"percent_delta": 0.0805,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.4552,
"after": 1.5646,
"delta": 0.1094,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.892,
"after": 0.9591,
"delta": 0.0671,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3656,
"after": 0.3861,
"delta": 0.0205,
"percent_delta": 0.0561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6575,
"after": 1.625,
"delta": -0.0325,
"percent_delta": -0.0196,
"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.4552,
"after": 1.5646,
"delta": 0.1094,
"percent_delta": 0.0752,
"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.94), rates preserved: AVG=0.243 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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5205,
"after": 1.0,
"delta": 0.4795,
"percent_delta": 0.9212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0722,
"after": 0.0,
"delta": -0.0722,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.9396,
"after": 8.0,
"delta": 0.0604,
"percent_delta": 0.0076,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9429,
"after": 1.0,
"delta": 0.0571,
"percent_delta": 0.0606,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.9293,
"after": 2.0,
"delta": 0.0707,
"percent_delta": 0.0366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.046,
"after": 0.0,
"delta": -0.046,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.157,
"after": 0.0,
"delta": -0.157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9591,
"after": 1.0,
"delta": 0.0409,
"percent_delta": 0.0426,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.625,
"after": 2.0,
"delta": 0.375,
"percent_delta": 0.2308,
"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.5205,
"after": 1.0,
"delta": 0.4795,
"percent_delta": 0.9212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.157,
"after": 0.0,
"delta": -0.157,
"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=17.0, weight=0.145, BvP AVG=0.176)",
"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": 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_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": 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": 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.5646,
"after": 2.0,
"delta": 0.4354,
"percent_delta": 0.2783,
"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.5646,
"after": 2.0,
"delta": 0.4354,
"percent_delta": 0.2783,
"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": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 2.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.375,
"predicted_SO": 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.243,
"after": 0.25,
"delta": 0.007,
"percent_delta": 0.0288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3234,
"after": 0.333,
"delta": 0.0096,
"percent_delta": 0.0297,
"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.3861,
"after": 0.375,
"delta": -0.0111,
"percent_delta": -0.0287,
"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.3234,
"after": 0.333,
"delta": 0.0096,
"percent_delta": 0.0297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3861,
"after": 0.375,
"delta": -0.0111,
"percent_delta": -0.0287,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"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": 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.243,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3234,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3861,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.243,
"delta": -0.007,
"percent_delta": -0.028,
"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.3234,
"delta": -0.0096,
"percent_delta": -0.0289,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.3861,
"delta": 0.0111,
"percent_delta": 0.0295,
"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.375,
"after": 0.3861,
"delta": 0.0111,
"percent_delta": 0.0295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3234,
"delta": -0.0096,
"percent_delta": -0.0289,
"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.274,
"after": 0.0,
"delta": -0.274,
"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.857,
"after": 4.0,
"delta": 0.143,
"percent_delta": 0.0371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.243,
"delta": 0.018,
"percent_delta": 0.08,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.552,
"after": 0.0,
"delta": -0.552,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.3234,
"delta": 0.0294,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.748,
"after": 0.0,
"delta": -0.748,
"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.361,
"after": 0.3861,
"delta": 0.0251,
"percent_delta": 0.0695,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.817,
"after": 2.0,
"delta": 1.183,
"percent_delta": 1.448,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.817,
"after": 2.0,
"delta": 1.183,
"percent_delta": 1.448,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.274 | - |
| predicted_3B | 0.043 | - |
| predicted_AB | 3.857 | - |
| predicted_AVG | 0.225 | - |
| predicted_BB | 0.552 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.748 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.361 | - |
| predicted_SO | 0.817 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.520 | 0.246 |
| predicted_3B | 0.072 | 0.029 |
| predicted_AB | 7.940 | 4.083 |
| predicted_AVG | 0.230 | 0.005 |
| predicted_BB | 0.925 | 0.373 |
| predicted_H | 1.850 | 0.990 |
| predicted_HBP | 0.046 | - |
| predicted_HR | 0.150 | 0.070 |
| predicted_OBP | 0.299 | 0.005 |
| predicted_R | 1.455 | 0.707 |
| predicted_RBI | 0.892 | 0.462 |
| predicted_SLG | 0.366 | 0.005 |
| predicted_SO | 1.657 | 0.841 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.520 | 0.000 |
| predicted_3B | 0.072 | 0.000 |
| predicted_AB | 7.940 | 0.000 |
| predicted_AVG | 0.243 | 0.013 |
| predicted_BB | 0.943 | 0.018 |
| predicted_H | 1.929 | 0.079 |
| predicted_HBP | 0.046 | 0.000 |
| predicted_HR | 0.157 | 0.007 |
| predicted_OBP | 0.323 | 0.024 |
| predicted_R | 1.565 | 0.109 |
| predicted_RBI | 0.959 | 0.067 |
| predicted_SLG | 0.386 | 0.021 |
| predicted_SO | 1.625 | -0.032 |
AB rounded to 8 (raw=7.94), rates preserved: AVG=0.243 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 | 2.000 | - |
Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.176)
| 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 | 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 | 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 | 1.000 | 0.480 |
| predicted_3B | 0.000 | -0.072 |
| predicted_AB | 8.000 | 0.060 |
| predicted_AVG | 0.250 | 0.007 |
| predicted_BB | 1.000 | 0.057 |
| predicted_H | 2.000 | 0.071 |
| predicted_HR | 0.000 | -0.157 |
| predicted_OBP | 0.333 | 0.010 |
| predicted_R | 2.000 | 0.435 |
| predicted_RBI | 1.000 | 0.041 |
| predicted_SLG | 0.375 | -0.011 |
| predicted_SO | 2.000 | 0.375 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -2.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 21.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 0.000 | 4.000 | 0.1905 | 0.1905 | 0.2381 | 0.1905 | 0.0000 | 0.0476 | 0.0000 | 0.1905 |
| last_10 | 0.20 | 5 | - | 44.000 | 7.000 | 1.000 | 0.000 | 0.000 | 1.000 | 6.000 | 0.000 | 9.000 | 0.1591 | 0.1591 | 0.1818 | 0.1591 | 0.0000 | 0.0227 | 0.0000 | 0.2046 |
| season | 0.60 | 56 | - | 887.000 | 225.000 | 63.000 | 10.000 | 21.000 | 120.000 | 172.000 | 127.000 | 188.000 | 0.2537 | 0.3463 | 0.4183 | 0.2537 | 0.0237 | 0.1353 | 0.1432 | 0.2119 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8320 |
| predicted_3B | 0.1090 |
| predicted_AB | 13.1000 |
| predicted_AVG | 0.2367 |
| predicted_BB | 1.3960 |
| predicted_H | 3.1010 |
| predicted_HBP | 0.0460 |
| predicted_HR | 0.2390 |
| predicted_OBP | 0.3060 |
| predicted_R | 2.3490 |
| predicted_RBI | 1.4760 |
| predicted_SLG | 0.3715 |
| predicted_SO | 2.7200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2740 | 0.8320 | 0.5205 | model_form_blend |
| predicted_3B | 0.0430 | 0.1090 | 0.0722 | model_form_blend |
| predicted_AB | 3.8570 | 13.1000 | 7.9396 | model_form_blend |
| predicted_AVG | 0.2250 | 0.2367 | 0.2302 | model_form_blend |
| predicted_BB | 0.5520 | 1.3960 | 0.9248 | model_form_blend |
| predicted_H | 0.8600 | 3.1010 | 1.8498 | model_form_blend |
| predicted_HBP | - | 0.0460 | 0.0460 | form_only |
| predicted_HR | 0.0800 | 0.2390 | 0.1502 | model_form_blend |
| predicted_OBP | 0.2940 | 0.3060 | 0.2993 | model_form_blend |
| predicted_R | 0.7480 | 2.3490 | 1.4552 | model_form_blend |
| predicted_RBI | 0.4300 | 1.4760 | 0.8920 | model_form_blend |
| predicted_SLG | 0.3610 | 0.3715 | 0.3656 | model_form_blend |
| predicted_SO | 0.8170 | 2.7200 | 1.6575 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.254 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | RF |
| gameID | 20260531_PHI@LAD |
| game_type | full |
| mlbID | 663656 |
| playerID | 663656 |
| playerName | Kyle Tucker |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-05-31 |
| sl_k_percent | 18.6 |
| sl_bb_percent | 12.7 |
| sl_woba | 0.323 |
| sl_xwoba | 0.323 |
| sl_xba | 0.247 |
| sl_xslg | 0.37 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 5.0 |
| sl_hard_hit_percent | 39.8 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 22.7 |
| sl_swing_percent | 49.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.097 | 0.000 | 0.000 | Hitting_2B | 0.096 | 0.000 | -0.096 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.743 | 3.000 | 7.000 | Hitting_AB | 3.701 | 3.000 | -0.701 | 0.000 |
| predicted_AVG | 0.254 | 0.333 | 0.286 | Hitting_AVG | 0.258 | 0.333 | 0.075 | 0.000 |
| predicted_BB | 0.411 | 1.000 | 1.000 | Hitting_BB | 0.418 | 1.000 | 0.582 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.860 | 1.000 | 2.000 | Hitting_H | 0.955 | 1.000 | 0.045 | 0.000 |
| predicted_HR | 0.170 | 1.000 | 0.000 | Hitting_HR | 0.124 | 0.000 | 0.876 | 1.000 |
| predicted_OBP | 0.354 | 0.500 | 0.375 | Hitting_OBP | 0.336 | 0.500 | 0.164 | 0.000 |
| predicted_R | 0.531 | 1.000 | 1.000 | Hitting_R | 0.525 | 1.000 | 0.475 | 0.000 |
| predicted_RBI | 0.510 | 1.000 | 1.000 | Hitting_RBI | 0.559 | 0.000 | 0.441 | 1.000 |
| predicted_SLG | 0.455 | 1.333 | 0.286 | Hitting_SLG | 0.385 | 0.333 | 0.949 | 1.000 |
| predicted_SO | 0.697 | 0.000 | 1.000 | Hitting_SO | 0.689 | 1.000 | -0.689 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 3 |
| Better Metrics | 9 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_HR: 0.1700 -> 1.0000 (boost 0.8300, better) |
| Biggest Deboost | predicted_AB: 3.7430 -> 3.0000 (deboost -0.7430, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.7430 -> 7.2698 (boost 3.5268, 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.1162 -> 2.2072 (boost 0.0910, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 0 | 8 | 1 | 7 | - | predicted_2B: 0.4546 -> 0.0000 (deboost -0.4546, worse) | AB rounded to 7 (raw=7.27), rates preserved: AVG=0.304 HR/AB=0.054 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2508 -> 1.0000 (deboost -0.2508, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5283 -> 0.2860 (deboost -0.2423, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2860 -> 0.5283 (boost 0.2423, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669257",
"player_name": "Will Smith",
"position": "C",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.097,
"predicted_3B": 0.0,
"predicted_AB": 3.743,
"predicted_AVG": 0.254,
"predicted_BB": 0.411,
"predicted_H": 0.86,
"predicted_HR": 0.17,
"predicted_OBP": 0.354,
"predicted_R": 0.531,
"predicted_RBI": 0.51,
"predicted_SLG": 0.455,
"predicted_SO": 0.697
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4546,
"predicted_3B": 0.0009,
"predicted_AB": 7.2698,
"predicted_AVG": 0.2812,
"predicted_BB": 1.3508,
"predicted_H": 2.1162,
"predicted_HBP": 0.243,
"predicted_HR": 0.3753,
"predicted_OBP": 0.3799,
"predicted_R": 1.1633,
"predicted_RBI": 1.0918,
"predicted_SLG": 0.4994,
"predicted_SO": 1.4543
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.097,
"after": 0.4546,
"delta": 0.3576,
"percent_delta": 3.6866,
"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.743,
"after": 7.2698,
"delta": 3.5268,
"percent_delta": 0.9422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2812,
"delta": 0.0272,
"percent_delta": 0.1071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.411,
"after": 1.3508,
"delta": 0.9398,
"percent_delta": 2.2866,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 2.1162,
"delta": 1.2562,
"percent_delta": 1.4607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.3753,
"delta": 0.2053,
"percent_delta": 1.2076,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3799,
"delta": 0.0259,
"percent_delta": 0.0732,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.531,
"after": 1.1633,
"delta": 0.6323,
"percent_delta": 1.1908,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 1.0918,
"delta": 0.5818,
"percent_delta": 1.1408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.455,
"after": 0.4994,
"delta": 0.0444,
"percent_delta": 0.0976,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.697,
"after": 1.4543,
"delta": 0.7573,
"percent_delta": 1.0865,
"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.743,
"after": 7.2698,
"delta": 3.5268,
"percent_delta": 0.9422,
"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": 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.4546,
"predicted_3B": 0.0009,
"predicted_AB": 7.2698,
"predicted_AVG": 0.3036,
"predicted_BB": 1.3773,
"predicted_H": 2.2072,
"predicted_HBP": 0.243,
"predicted_HR": 0.3923,
"predicted_OBP": 0.4145,
"predicted_R": 1.2508,
"predicted_RBI": 1.1739,
"predicted_SLG": 0.5283,
"predicted_SO": 1.4258
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4546,
"after": 0.4546,
"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.2698,
"after": 7.2698,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2812,
"after": 0.3036,
"delta": 0.0224,
"percent_delta": 0.0797,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.3508,
"after": 1.3773,
"delta": 0.0265,
"percent_delta": 0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1162,
"after": 2.2072,
"delta": 0.091,
"percent_delta": 0.043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.243,
"after": 0.243,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3753,
"after": 0.3923,
"delta": 0.017,
"percent_delta": 0.0453,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3799,
"after": 0.4145,
"delta": 0.0346,
"percent_delta": 0.0911,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1633,
"after": 1.2508,
"delta": 0.0875,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0918,
"after": 1.1739,
"delta": 0.0821,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4994,
"after": 0.5283,
"delta": 0.0289,
"percent_delta": 0.0579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4543,
"after": 1.4258,
"delta": -0.0285,
"percent_delta": -0.0196,
"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.1162,
"after": 2.2072,
"delta": 0.091,
"percent_delta": 0.043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.27), rates preserved: AVG=0.304 HR/AB=0.054",
"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.4546,
"after": 0.0,
"delta": -0.4546,
"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.2698,
"after": 7.0,
"delta": -0.2698,
"percent_delta": -0.0371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.3773,
"after": 1.0,
"delta": -0.3773,
"percent_delta": -0.2739,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.2072,
"after": 2.0,
"delta": -0.2072,
"percent_delta": -0.0939,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.243,
"after": 0.0,
"delta": -0.243,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3923,
"after": 0.0,
"delta": -0.3923,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1739,
"after": 1.0,
"delta": -0.1739,
"percent_delta": -0.1481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4258,
"after": 1.0,
"delta": -0.4258,
"percent_delta": -0.2986,
"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_2B",
"before": 0.4546,
"after": 0.0,
"delta": -0.4546,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.9243,
"bvp": 0.0757
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2508,
"after": 1.0,
"delta": -0.2508,
"percent_delta": -0.2005,
"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.2508,
"after": 1.0,
"delta": -0.2508,
"percent_delta": -0.2005,
"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.3036,
"after": 0.286,
"delta": -0.0176,
"percent_delta": -0.058,
"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.4145,
"after": 0.375,
"delta": -0.0395,
"percent_delta": -0.0953,
"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.5283,
"after": 0.286,
"delta": -0.2423,
"percent_delta": -0.4586,
"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.5283,
"after": 0.286,
"delta": -0.2423,
"percent_delta": -0.4586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.3036,
"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.4145,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5283,
"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.3036,
"delta": 0.0176,
"percent_delta": 0.0616,
"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.375,
"after": 0.4145,
"delta": 0.0395,
"percent_delta": 0.1054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.286,
"after": 0.5283,
"delta": 0.2423,
"percent_delta": 0.8471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.286,
"after": 0.5283,
"delta": 0.2423,
"percent_delta": 0.8471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.097,
"after": 0.0,
"delta": -0.097,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.743,
"after": 3.0,
"delta": -0.743,
"percent_delta": -0.1985,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.3036,
"delta": 0.0496,
"percent_delta": 0.1953,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.411,
"after": 1.0,
"delta": 0.589,
"percent_delta": 1.4331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 1.0,
"delta": 0.14,
"percent_delta": 0.1628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.4145,
"delta": 0.0605,
"percent_delta": 0.1709,
"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.51,
"after": 1.0,
"delta": 0.49,
"percent_delta": 0.9608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.455,
"after": 0.5283,
"delta": 0.0733,
"percent_delta": 0.1611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.697,
"after": 0.0,
"delta": -0.697,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 9,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.743,
"after": 3.0,
"delta": -0.743,
"percent_delta": -0.1985,
"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.097 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.743 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.411 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.354 | - |
| predicted_R | 0.531 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.455 | - |
| predicted_SO | 0.697 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.455 | 0.358 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 7.270 | 3.527 |
| predicted_AVG | 0.281 | 0.027 |
| predicted_BB | 1.351 | 0.940 |
| predicted_H | 2.116 | 1.256 |
| predicted_HBP | 0.243 | - |
| predicted_HR | 0.375 | 0.205 |
| predicted_OBP | 0.380 | 0.026 |
| predicted_R | 1.163 | 0.632 |
| predicted_RBI | 1.092 | 0.582 |
| predicted_SLG | 0.499 | 0.044 |
| predicted_SO | 1.454 | 0.757 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.455 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 7.270 | 0.000 |
| predicted_AVG | 0.304 | 0.022 |
| predicted_BB | 1.377 | 0.026 |
| predicted_H | 2.207 | 0.091 |
| predicted_HBP | 0.243 | 0.000 |
| predicted_HR | 0.392 | 0.017 |
| predicted_OBP | 0.414 | 0.035 |
| predicted_R | 1.251 | 0.087 |
| predicted_RBI | 1.174 | 0.082 |
| predicted_SLG | 0.528 | 0.029 |
| predicted_SO | 1.426 | -0.028 |
AB rounded to 7 (raw=7.27), rates preserved: AVG=0.304 HR/AB=0.054
| 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=7.0, weight=0.076, BvP AVG=0.143)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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.455 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | -0.270 |
| predicted_AVG | 0.286 | -0.018 |
| predicted_BB | 1.000 | -0.377 |
| predicted_H | 2.000 | -0.207 |
| predicted_HR | 0.000 | -0.392 |
| predicted_OBP | 0.375 | -0.039 |
| predicted_R | 1.000 | -0.251 |
| predicted_RBI | 1.000 | -0.174 |
| predicted_SLG | 0.286 | -0.242 |
| 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 | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 3 | - | 9.000 | 5.000 | 3.000 | 0.000 | 1.000 | 1.000 | 2.000 | 7.000 | 3.000 | 0.5556 | 0.7500 | 1.2222 | 0.5556 | 0.1111 | 0.1111 | 0.7778 | 0.3333 |
| last_10 | 0.20 | 4 | - | 29.000 | 15.000 | 3.000 | 0.000 | 6.000 | 11.000 | 12.000 | 7.000 | 3.000 | 0.5172 | 0.6585 | 1.2414 | 0.5172 | 0.2069 | 0.3793 | 0.2414 | 0.1035 |
| season | 0.60 | 46 | - | 655.000 | 169.000 | 17.000 | 0.000 | 22.000 | 99.000 | 93.000 | 72.000 | 122.000 | 0.2580 | 0.3342 | 0.3847 | 0.2580 | 0.0336 | 0.1512 | 0.1099 | 0.1863 |
| Metric | Value |
|---|---|
| predicted_2B | 0.9120 |
| predicted_3B | 0.0020 |
| predicted_AB | 11.7810 |
| predicted_AVG | 0.3160 |
| predicted_BB | 2.5530 |
| predicted_H | 3.7230 |
| predicted_HBP | 0.2430 |
| predicted_HR | 0.6380 |
| predicted_OBP | 0.4130 |
| predicted_R | 1.9720 |
| predicted_RBI | 1.8360 |
| predicted_SLG | 0.5561 |
| predicted_SO | 2.4230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0970 | 0.9120 | 0.4546 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.7430 | 11.7810 | 7.2698 | model_form_blend |
| predicted_AVG | 0.2540 | 0.3160 | 0.2812 | model_form_blend |
| predicted_BB | 0.4110 | 2.5530 | 1.3508 | model_form_blend |
| predicted_H | 0.8600 | 3.7230 | 2.1162 | model_form_blend |
| predicted_HBP | - | 0.2430 | 0.2430 | form_only |
| predicted_HR | 0.1700 | 0.6380 | 0.3753 | model_form_blend |
| predicted_OBP | 0.3540 | 0.4130 | 0.3799 | model_form_blend |
| predicted_R | 0.5310 | 1.9720 | 1.1633 | model_form_blend |
| predicted_RBI | 0.5100 | 1.8360 | 1.0918 | model_form_blend |
| predicted_SLG | 0.4550 | 0.5561 | 0.4994 | model_form_blend |
| predicted_SO | 0.6970 | 2.4230 | 1.4543 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 177 |
| Season rows before report date | 177 |
| Report year | 2026 |
| Profile rows used | 175 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260530_PHI@LAD |
| game_type | full |
| mlbID | 669257 |
| playerID | 669257 |
| playerName | Will Smith |
| pos | C |
| started | True |
| startingPosition | C |
| team | LAD |
| teamID | 14 |
| game_date | 2026-05-30 |
| sl_k_percent | 16.8 |
| sl_bb_percent | 10.8 |
| sl_woba | 0.329 |
| sl_xwoba | 0.381 |
| sl_xba | 0.27 |
| sl_xslg | 0.489 |
| sl_sweet_spot_percent | 43.2 |
| sl_barrel_batted_rate | 13.6 |
| sl_hard_hit_percent | 39.4 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 21.0 |
| sl_whiff_percent | 16.8 |
| sl_swing_percent | 41.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.161 | 0.000 | 0.000 | Hitting_2B | 0.155 | 0.000 | -0.155 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.140 | 3.000 | 5.000 | Hitting_AB | 3.010 | 2.000 | -0.010 | 1.000 |
| predicted_AVG | 0.265 | 0.333 | 0.200 | Hitting_AVG | 0.267 | 0.000 | 0.066 | 0.333 |
| predicted_BB | 0.129 | 0.000 | 0.000 | Hitting_BB | 0.144 | 1.000 | -0.144 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_H | 0.590 | 1.000 | 1.000 | Hitting_H | 0.804 | 0.000 | 0.196 | 1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_OBP | 0.302 | 0.500 | 0.200 | Hitting_OBP | 0.304 | 0.333 | 0.196 | 0.167 |
| predicted_R | 0.312 | 0.000 | 1.000 | Hitting_R | 0.309 | 0.000 | -0.309 | 0.000 |
| predicted_RBI | 0.320 | 0.000 | 1.000 | Hitting_RBI | 0.361 | 0.000 | -0.361 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.345 | 0.333 | 0.200 | Hitting_SLG | 0.360 | 0.000 | -0.026 | 0.333 |
| predicted_SO | 0.398 | 2.000 | 1.000 | Hitting_SO | 0.381 | 1.000 | 1.619 | 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.3980 -> 2.0000 (boost 1.6020, worse) |
| Biggest Deboost | predicted_RBI: 0.3200 -> 0.0000 (deboost -0.3200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 8 | 8 | 0 | 7 | 1 | predicted_AB: 3.1400 -> 5.2993 (boost 2.1593, 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 | 2 | 2 | 2 | 2 | predicted_H: 1.3013 -> 1.3573 (boost 0.0560, better) | predicted_OBP: 0.3059 -> 0.2882 (deboost -0.0177, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_RBI: 0.6796 -> 1.0000 (boost 0.3204, better) | predicted_H: 1.3573 -> 1.0000 (deboost -0.3573, worse) | AB rounded to 5 (raw=5.30), rates preserved: AVG=0.256 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6181 -> 1.0000 (boost 0.3819, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3683 -> 0.2000 (deboost -0.1683, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 2 | 3 | 1 | 4 | predicted_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 |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.3683 (boost 0.1683, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "500743",
"player_name": "Miguel Rojas",
"position": "2B",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.161,
"predicted_3B": 0.0,
"predicted_AB": 3.14,
"predicted_AVG": 0.265,
"predicted_BB": 0.129,
"predicted_H": 0.59,
"predicted_HR": 0.06,
"predicted_OBP": 0.302,
"predicted_R": 0.312,
"predicted_RBI": 0.32,
"predicted_SLG": 0.345,
"predicted_SO": 0.398
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3436,
"predicted_3B": 0.0013,
"predicted_AB": 5.2993,
"predicted_AVG": 0.2694,
"predicted_BB": 0.2339,
"predicted_H": 1.3013,
"predicted_HBP": 0.12,
"predicted_HR": 0.0791,
"predicted_OBP": 0.3059,
"predicted_R": 0.5749,
"predicted_RBI": 0.6321,
"predicted_SLG": 0.3625,
"predicted_SO": 0.7674
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.161,
"after": 0.3436,
"delta": 0.1826,
"percent_delta": 1.1342,
"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.14,
"after": 5.2993,
"delta": 2.1593,
"percent_delta": 0.6877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2694,
"delta": 0.0044,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.129,
"after": 0.2339,
"delta": 0.1049,
"percent_delta": 0.8132,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.59,
"after": 1.3013,
"delta": 0.7113,
"percent_delta": 1.2056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0791,
"delta": 0.0191,
"percent_delta": 0.3183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.3059,
"delta": 0.0039,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.312,
"after": 0.5749,
"delta": 0.2629,
"percent_delta": 0.8426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.6321,
"delta": 0.3121,
"percent_delta": 0.9753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.345,
"after": 0.3625,
"delta": 0.0175,
"percent_delta": 0.0507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.398,
"after": 0.7674,
"delta": 0.3694,
"percent_delta": 0.9281,
"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.14,
"after": 5.2993,
"delta": 2.1593,
"percent_delta": 0.6877,
"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": 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.3436,
"predicted_3B": 0.0013,
"predicted_AB": 5.2993,
"predicted_AVG": 0.2561,
"predicted_BB": 0.2385,
"predicted_H": 1.3573,
"predicted_HBP": 0.12,
"predicted_HR": 0.0827,
"predicted_OBP": 0.2882,
"predicted_R": 0.6181,
"predicted_RBI": 0.6796,
"predicted_SLG": 0.3683,
"predicted_SO": 0.7524
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3436,
"after": 0.3436,
"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.2993,
"after": 5.2993,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2694,
"after": 0.2561,
"delta": -0.0133,
"percent_delta": -0.0494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2339,
"after": 0.2385,
"delta": 0.0046,
"percent_delta": 0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3013,
"after": 1.3573,
"delta": 0.056,
"percent_delta": 0.043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.0791,
"after": 0.0827,
"delta": 0.0036,
"percent_delta": 0.0455,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3059,
"after": 0.2882,
"delta": -0.0177,
"percent_delta": -0.0579,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5749,
"after": 0.6181,
"delta": 0.0432,
"percent_delta": 0.0751,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6321,
"after": 0.6796,
"delta": 0.0475,
"percent_delta": 0.0751,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3625,
"after": 0.3683,
"delta": 0.0058,
"percent_delta": 0.016,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7674,
"after": 0.7524,
"delta": -0.015,
"percent_delta": -0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.3013,
"after": 1.3573,
"delta": 0.056,
"percent_delta": 0.043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3059,
"after": 0.2882,
"delta": -0.0177,
"percent_delta": -0.0579,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.30), rates preserved: AVG=0.256 HR/AB=0.016",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3436,
"after": 0.0,
"delta": -0.3436,
"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.2993,
"after": 5.0,
"delta": -0.2993,
"percent_delta": -0.0565,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2385,
"after": 0.0,
"delta": -0.2385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3573,
"after": 1.0,
"delta": -0.3573,
"percent_delta": -0.2632,
"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.0827,
"after": 0.0,
"delta": -0.0827,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6796,
"after": 1.0,
"delta": 0.3204,
"percent_delta": 0.4715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7524,
"after": 1.0,
"delta": 0.2476,
"percent_delta": 0.3291,
"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_RBI",
"before": 0.6796,
"after": 1.0,
"delta": 0.3204,
"percent_delta": 0.4715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.3573,
"after": 1.0,
"delta": -0.3573,
"percent_delta": -0.2632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6181,
"after": 1.0,
"delta": 0.3819,
"percent_delta": 0.6179,
"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.6181,
"after": 1.0,
"delta": 0.3819,
"percent_delta": 0.6179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2561,
"after": 0.2,
"delta": -0.0561,
"percent_delta": -0.2191,
"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.2882,
"after": 0.2,
"delta": -0.0882,
"percent_delta": -0.306,
"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.3683,
"after": 0.2,
"delta": -0.1683,
"percent_delta": -0.457,
"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.3683,
"after": 0.2,
"delta": -0.1683,
"percent_delta": -0.457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_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": 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.2561,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2882,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3683,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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.2561,
"delta": 0.0561,
"percent_delta": 0.2806,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2,
"after": 0.2882,
"delta": 0.0882,
"percent_delta": 0.4408,
"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.3683,
"delta": 0.1683,
"percent_delta": 0.8413,
"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.3683,
"delta": 0.1683,
"percent_delta": 0.8413,
"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.161,
"after": 0.0,
"delta": -0.161,
"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.14,
"after": 3.0,
"delta": -0.14,
"percent_delta": -0.0446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2561,
"delta": -0.0089,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.129,
"after": 0.0,
"delta": -0.129,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.2882,
"delta": -0.0138,
"percent_delta": -0.0457,
"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.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.345,
"after": 0.3683,
"delta": 0.0233,
"percent_delta": 0.0675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.398,
"after": 2.0,
"delta": 1.602,
"percent_delta": 4.0251,
"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.398,
"after": 2.0,
"delta": 1.602,
"percent_delta": 4.0251,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"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.161 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.140 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.129 | - |
| predicted_H | 0.590 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.302 | - |
| predicted_R | 0.312 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.345 | - |
| predicted_SO | 0.398 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.344 | 0.183 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.299 | 2.159 |
| predicted_AVG | 0.269 | 0.004 |
| predicted_BB | 0.234 | 0.105 |
| predicted_H | 1.301 | 0.711 |
| predicted_HBP | 0.120 | - |
| predicted_HR | 0.079 | 0.019 |
| predicted_OBP | 0.306 | 0.004 |
| predicted_R | 0.575 | 0.263 |
| predicted_RBI | 0.632 | 0.312 |
| predicted_SLG | 0.362 | 0.018 |
| predicted_SO | 0.767 | 0.369 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.344 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.299 | 0.000 |
| predicted_AVG | 0.256 | -0.013 |
| predicted_BB | 0.238 | 0.005 |
| predicted_H | 1.357 | 0.056 |
| predicted_HBP | 0.120 | 0.000 |
| predicted_HR | 0.083 | 0.004 |
| predicted_OBP | 0.288 | -0.018 |
| predicted_R | 0.618 | 0.043 |
| predicted_RBI | 0.680 | 0.047 |
| predicted_SLG | 0.368 | 0.006 |
| predicted_SO | 0.752 | -0.015 |
AB rounded to 5 (raw=5.30), rates preserved: AVG=0.256 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.344 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | -0.299 |
| predicted_AVG | 0.200 | -0.056 |
| predicted_BB | 0.000 | -0.238 |
| predicted_H | 1.000 | -0.357 |
| predicted_HR | 0.000 | -0.083 |
| predicted_OBP | 0.200 | -0.088 |
| predicted_R | 1.000 | 0.382 |
| predicted_RBI | 1.000 | 0.320 |
| predicted_SLG | 0.200 | -0.168 |
| predicted_SO | 1.000 | 0.248 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 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 | 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 | - | 18.000 | 6.000 | 3.000 | 0.000 | 0.000 | 3.000 | 3.000 | 1.000 | 4.000 | 0.3333 | 0.3684 | 0.5000 | 0.3333 | 0.0000 | 0.1667 | 0.0556 | 0.2222 |
| last_10 | 0.20 | 4 | - | 37.000 | 10.000 | 5.000 | 0.000 | 0.000 | 5.000 | 5.000 | 1.000 | 9.000 | 0.2703 | 0.3415 | 0.4054 | 0.2703 | 0.0000 | 0.1351 | 0.0270 | 0.2432 |
| season | 0.60 | 32 | - | 292.000 | 78.000 | 15.000 | 0.000 | 4.000 | 35.000 | 29.000 | 12.000 | 37.000 | 0.2671 | 0.2975 | 0.3596 | 0.2671 | 0.0137 | 0.1199 | 0.0411 | 0.1267 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5910 |
| predicted_3B | 0.0030 |
| predicted_AB | 8.2250 |
| predicted_AVG | 0.2753 |
| predicted_BB | 0.3760 |
| predicted_H | 2.2650 |
| predicted_HBP | 0.1200 |
| predicted_HR | 0.1050 |
| predicted_OBP | 0.3112 |
| predicted_R | 0.9310 |
| predicted_RBI | 1.0550 |
| predicted_SLG | 0.3862 |
| predicted_SO | 1.2680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1610 | 0.5910 | 0.3436 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.1400 | 8.2250 | 5.2993 | model_form_blend |
| predicted_AVG | 0.2650 | 0.2753 | 0.2694 | model_form_blend |
| predicted_BB | 0.1290 | 0.3760 | 0.2339 | model_form_blend |
| predicted_H | 0.5900 | 2.2650 | 1.3013 | model_form_blend |
| predicted_HBP | - | 0.1200 | 0.1200 | form_only |
| predicted_HR | 0.0600 | 0.1050 | 0.0791 | model_form_blend |
| predicted_OBP | 0.3020 | 0.3112 | 0.3059 | model_form_blend |
| predicted_R | 0.3120 | 0.9310 | 0.5749 | model_form_blend |
| predicted_RBI | 0.3200 | 1.0550 | 0.6321 | model_form_blend |
| predicted_SLG | 0.3450 | 0.3862 | 0.3625 | model_form_blend |
| predicted_SO | 0.3980 | 1.2680 | 0.7674 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 97 |
| Season rows before report date | 97 |
| Report year | 2026 |
| Profile rows used | 93 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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 | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.267 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260530_PHI@LAD |
| game_type | full |
| mlbID | 500743 |
| playerID | 500743 |
| playerName | Miguel Rojas |
| pos | SS |
| started | True |
| startingPosition | 2B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-05-30 |
| sl_k_percent | 11.2 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.293 |
| sl_xwoba | 0.312 |
| sl_xba | 0.281 |
| sl_xslg | 0.364 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 3.8 |
| sl_hard_hit_percent | 31.6 |
| sl_exit_velocity_avg | 86.1 |
| sl_launch_angle_avg | 12.3 |
| sl_whiff_percent | 18.1 |
| sl_swing_percent | 48.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.103 | 0.000 | 0.000 | Hitting_2B | 0.103 | 0.000 | -0.103 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.552 | 2.000 | 7.000 | Hitting_AB | 3.533 | 4.000 | -1.533 | -2.000 |
| predicted_AVG | 0.241 | 0.000 | 0.286 | Hitting_AVG | 0.263 | 0.500 | -0.263 | -0.500 |
| predicted_BB | 0.541 | 2.000 | 1.000 | Hitting_BB | 0.538 | 0.000 | 1.462 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.780 | 0.000 | 2.000 | Hitting_H | 0.928 | 2.000 | -0.928 | -2.000 |
| predicted_HR | 0.210 | 0.000 | 1.000 | Hitting_HR | 0.277 | 1.000 | -0.277 | -1.000 |
| predicted_OBP | 0.317 | 0.500 | 0.375 | Hitting_OBP | 0.363 | 0.500 | 0.137 | 0.000 |
| predicted_R | 0.814 | 0.000 | 2.000 | Hitting_R | 0.810 | 2.000 | -0.810 | -2.000 |
| predicted_RBI | 0.420 | 0.000 | 1.000 | Hitting_RBI | 0.421 | 1.000 | -0.421 | -1.000 |
| predicted_SLG | 0.472 | 0.000 | 0.714 | Hitting_SLG | 0.527 | 1.250 | -0.527 | -1.250 |
| predicted_SO | 1.082 | 1.000 | 2.000 | Hitting_SO | 1.077 | 0.000 | -0.077 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.5410 -> 2.0000 (boost 1.4590, better) |
| Biggest Deboost | predicted_AB: 3.5520 -> 2.0000 (deboost -1.5520, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.5520 -> 6.7399 (boost 3.1879, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 5 | 0 | 5 | 0 | predicted_R: 1.4577 -> 1.5673 (boost 0.1096, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 6 | 2 | 5 | 3 | predicted_HR: 0.5443 -> 1.0000 (boost 0.4557, better) | predicted_2B: 0.1658 -> 0.0000 (deboost -0.1658, worse) | AB rounded to 7 (raw=6.74), rates preserved: AVG=0.244 HR/AB=0.081 |
| 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: 1.5673 -> 2.0000 (boost 0.4327, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.5106 -> 0.7140 (boost 0.2034, better) | - | 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_BB: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 2.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.7140 -> 0.5106 (deboost -0.2034, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "571970",
"player_name": "Max Muncy",
"position": "3B",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.103,
"predicted_3B": 0.0,
"predicted_AB": 3.552,
"predicted_AVG": 0.241,
"predicted_BB": 0.541,
"predicted_H": 0.78,
"predicted_HR": 0.21,
"predicted_OBP": 0.317,
"predicted_R": 0.814,
"predicted_RBI": 0.42,
"predicted_SLG": 0.472,
"predicted_SO": 1.082
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1658,
"predicted_3B": 0.0004,
"predicted_AB": 6.7399,
"predicted_AVG": 0.2403,
"predicted_BB": 0.8398,
"predicted_H": 1.5745,
"predicted_HBP": 0.096,
"predicted_HR": 0.5207,
"predicted_OBP": 0.3175,
"predicted_R": 1.4577,
"predicted_RBI": 0.7948,
"predicted_SLG": 0.4919,
"predicted_SO": 1.9178
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.103,
"after": 0.1658,
"delta": 0.0628,
"percent_delta": 0.6097,
"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.552,
"after": 6.7399,
"delta": 3.1879,
"percent_delta": 0.8975,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2403,
"delta": -0.0007,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.541,
"after": 0.8398,
"delta": 0.2988,
"percent_delta": 0.5523,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 1.5745,
"delta": 0.7945,
"percent_delta": 1.0186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.5207,
"delta": 0.3107,
"percent_delta": 1.4795,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3175,
"delta": 0.0005,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.814,
"after": 1.4577,
"delta": 0.6437,
"percent_delta": 0.7908,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.7948,
"delta": 0.3748,
"percent_delta": 0.8924,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.472,
"after": 0.4919,
"delta": 0.0199,
"percent_delta": 0.0422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.082,
"after": 1.9178,
"delta": 0.8358,
"percent_delta": 0.7725,
"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.552,
"after": 6.7399,
"delta": 3.1879,
"percent_delta": 0.8975,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.1658,
"predicted_3B": 0.0004,
"predicted_AB": 6.7399,
"predicted_AVG": 0.2437,
"predicted_BB": 0.8563,
"predicted_H": 1.6422,
"predicted_HBP": 0.096,
"predicted_HR": 0.5443,
"predicted_OBP": 0.3289,
"predicted_R": 1.5673,
"predicted_RBI": 0.8546,
"predicted_SLG": 0.5106,
"predicted_SO": 1.8802
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1658,
"after": 0.1658,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.7399,
"after": 6.7399,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2403,
"after": 0.2437,
"delta": 0.0034,
"percent_delta": 0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.8398,
"after": 0.8563,
"delta": 0.0165,
"percent_delta": 0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5745,
"after": 1.6422,
"delta": 0.0677,
"percent_delta": 0.043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.096,
"after": 0.096,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.5207,
"after": 0.5443,
"delta": 0.0236,
"percent_delta": 0.0453,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3175,
"after": 0.3289,
"delta": 0.0114,
"percent_delta": 0.0359,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.4577,
"after": 1.5673,
"delta": 0.1096,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7948,
"after": 0.8546,
"delta": 0.0598,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4919,
"after": 0.5106,
"delta": 0.0187,
"percent_delta": 0.038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9178,
"after": 1.8802,
"delta": -0.0376,
"percent_delta": -0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 1.4577,
"after": 1.5673,
"delta": 0.1096,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.74), rates preserved: AVG=0.244 HR/AB=0.081",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1658,
"after": 0.0,
"delta": -0.1658,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.7399,
"after": 7.0,
"delta": 0.2601,
"percent_delta": 0.0386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8563,
"after": 1.0,
"delta": 0.1437,
"percent_delta": 0.1678,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6422,
"after": 2.0,
"delta": 0.3578,
"percent_delta": 0.2179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.096,
"after": 0.0,
"delta": -0.096,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.5443,
"after": 1.0,
"delta": 0.4557,
"percent_delta": 0.8372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8546,
"after": 1.0,
"delta": 0.1454,
"percent_delta": 0.1701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8802,
"after": 2.0,
"delta": 0.1198,
"percent_delta": 0.0637,
"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_HR",
"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.1658,
"after": 0.0,
"delta": -0.1658,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 2.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.5673,
"after": 2.0,
"delta": 0.4327,
"percent_delta": 0.2761,
"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.5673,
"after": 2.0,
"delta": 0.4327,
"percent_delta": 0.2761,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.375,
"predicted_R": 2.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.714,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2437,
"after": 0.286,
"delta": 0.0423,
"percent_delta": 0.1736,
"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.3289,
"after": 0.375,
"delta": 0.0461,
"percent_delta": 0.1402,
"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.5106,
"after": 0.714,
"delta": 0.2034,
"percent_delta": 0.3984,
"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.5106,
"after": 0.714,
"delta": 0.2034,
"percent_delta": 0.3984,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 2.0,
"delta": -5.0,
"percent_delta": -0.7143,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_AVG": 0.2437,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3289,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5106,
"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": 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.2437,
"delta": -0.0423,
"percent_delta": -0.1481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3289,
"delta": -0.0461,
"percent_delta": -0.1229,
"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.714,
"after": 0.5106,
"delta": -0.2034,
"percent_delta": -0.2848,
"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.714,
"after": 0.5106,
"delta": -0.2034,
"percent_delta": -0.2848,
"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.103,
"after": 0.0,
"delta": -0.103,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.552,
"after": 2.0,
"delta": -1.552,
"percent_delta": -0.4369,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2437,
"delta": 0.0027,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.541,
"after": 2.0,
"delta": 1.459,
"percent_delta": 2.6969,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.0,
"delta": -0.78,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3289,
"delta": 0.0119,
"percent_delta": 0.0375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.814,
"after": 0.0,
"delta": -0.814,
"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.472,
"after": 0.5106,
"delta": 0.0386,
"percent_delta": 0.0818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.082,
"after": 1.0,
"delta": -0.082,
"percent_delta": -0.0758,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.541,
"after": 2.0,
"delta": 1.459,
"percent_delta": 2.6969,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.552,
"after": 2.0,
"delta": -1.552,
"percent_delta": -0.4369,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.103 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.552 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.541 | - |
| predicted_H | 0.780 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.814 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.472 | - |
| predicted_SO | 1.082 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.166 | 0.063 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.740 | 3.188 |
| predicted_AVG | 0.240 | -0.001 |
| predicted_BB | 0.840 | 0.299 |
| predicted_H | 1.575 | 0.794 |
| predicted_HBP | 0.096 | - |
| predicted_HR | 0.521 | 0.311 |
| predicted_OBP | 0.318 | 0.001 |
| predicted_R | 1.458 | 0.644 |
| predicted_RBI | 0.795 | 0.375 |
| predicted_SLG | 0.492 | 0.020 |
| predicted_SO | 1.918 | 0.836 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.166 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.740 | 0.000 |
| predicted_AVG | 0.244 | 0.003 |
| predicted_BB | 0.856 | 0.016 |
| predicted_H | 1.642 | 0.068 |
| predicted_HBP | 0.096 | 0.000 |
| predicted_HR | 0.544 | 0.024 |
| predicted_OBP | 0.329 | 0.011 |
| predicted_R | 1.567 | 0.110 |
| predicted_RBI | 0.855 | 0.060 |
| predicted_SLG | 0.511 | 0.019 |
| predicted_SO | 1.880 | -0.038 |
AB rounded to 7 (raw=6.74), rates preserved: AVG=0.244 HR/AB=0.081
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 1.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 1.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 | 1.000 | 0.000 |
| R | 2.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.166 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 7.000 | 0.260 |
| predicted_AVG | 0.286 | 0.042 |
| predicted_BB | 1.000 | 0.144 |
| predicted_H | 2.000 | 0.358 |
| predicted_HR | 1.000 | 0.456 |
| predicted_OBP | 0.375 | 0.046 |
| predicted_R | 2.000 | 0.433 |
| predicted_RBI | 1.000 | 0.145 |
| predicted_SLG | 0.714 | 0.203 |
| predicted_SO | 2.000 | 0.120 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -5.000 |
| BB | 2.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 | -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 | 4 | - | 16.000 | 3.000 | 0.000 | 0.000 | 2.000 | 2.000 | 3.000 | 0.000 | 3.000 | 0.1875 | 0.1875 | 0.5625 | 0.1875 | 0.1250 | 0.1250 | 0.0000 | 0.1875 |
| last_10 | 0.20 | 5 | - | 33.000 | 3.000 | 0.000 | 0.000 | 2.000 | 2.000 | 3.000 | 0.000 | 8.000 | 0.0909 | 0.1667 | 0.2727 | 0.0909 | 0.0606 | 0.0606 | 0.0000 | 0.2424 |
| season | 0.60 | 52 | - | 689.000 | 181.000 | 20.000 | 0.000 | 54.000 | 82.000 | 158.000 | 105.000 | 210.000 | 0.2627 | 0.3634 | 0.5269 | 0.2627 | 0.0784 | 0.1190 | 0.1524 | 0.3048 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2460 |
| predicted_3B | 0.0010 |
| predicted_AB | 10.8070 |
| predicted_AVG | 0.2395 |
| predicted_BB | 1.2210 |
| predicted_H | 2.5880 |
| predicted_HBP | 0.0960 |
| predicted_HR | 0.9170 |
| predicted_OBP | 0.3182 |
| predicted_R | 2.2790 |
| predicted_RBI | 1.2730 |
| predicted_SLG | 0.5172 |
| predicted_SO | 2.9840 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1030 | 0.2460 | 0.1658 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.5520 | 10.8070 | 6.7399 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2395 | 0.2403 | model_form_blend |
| predicted_BB | 0.5410 | 1.2210 | 0.8398 | model_form_blend |
| predicted_H | 0.7800 | 2.5880 | 1.5745 | model_form_blend |
| predicted_HBP | - | 0.0960 | 0.0960 | form_only |
| predicted_HR | 0.2100 | 0.9170 | 0.5207 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3182 | 0.3175 | model_form_blend |
| predicted_R | 0.8140 | 2.2790 | 1.4577 | model_form_blend |
| predicted_RBI | 0.4200 | 1.2730 | 0.7948 | model_form_blend |
| predicted_SLG | 0.4720 | 0.5172 | 0.4919 | model_form_blend |
| predicted_SO | 1.0820 | 2.9840 | 1.9178 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 195 |
| Season rows before report date | 195 |
| Report year | 2026 |
| Profile rows used | 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 | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 2 |
| 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 | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260531_PHI@LAD |
| game_type | full |
| mlbID | 571970 |
| playerID | 571970 |
| playerName | Max Muncy |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-05-31 |
| sl_k_percent | 25.8 |
| sl_bb_percent | 13.1 |
| sl_woba | 0.378 |
| sl_xwoba | 0.39 |
| sl_xba | 0.264 |
| sl_xslg | 0.549 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 17.5 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 91.5 |
| sl_launch_angle_avg | 13.6 |
| sl_whiff_percent | 28.9 |
| sl_swing_percent | 44.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.219 | 0.000 | 0.000 | Hitting_2B | 0.206 | 0.000 | -0.206 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.094 | 3.000 | 5.000 | Hitting_AB | 2.912 | 2.000 | 0.088 | 1.000 |
| predicted_AVG | 0.287 | 0.000 | 0.200 | Hitting_AVG | 0.278 | 0.500 | -0.278 | -0.500 |
| predicted_BB | 0.656 | 1.000 | 1.000 | Hitting_BB | 0.632 | 0.000 | 0.368 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_H | 0.210 | 0.000 | 1.000 | Hitting_H | 0.809 | 1.000 | -0.809 | -1.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.326 | 0.250 | 0.333 | Hitting_OBP | 0.402 | 0.500 | -0.152 | -0.250 |
| predicted_R | 0.547 | 0.000 | 1.000 | Hitting_R | 0.544 | 0.000 | -0.544 | 0.000 |
| predicted_RBI | 0.170 | 0.000 | 1.000 | Hitting_RBI | 0.559 | 2.000 | -0.559 | -2.000 |
| predicted_SLG | 0.376 | 0.000 | 0.200 | Hitting_SLG | 0.348 | 0.500 | -0.348 | -0.500 |
| predicted_SO | 0.531 | 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 | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.5310 -> 1.0000 (boost 0.4690, worse) |
| Biggest Deboost | predicted_R: 0.5470 -> 0.0000 (deboost -0.5470, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.0940 -> 4.5908 (boost 1.4968, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 2 | 3 | 2 | 3 | predicted_RBI: 0.7301 -> 0.7850 (boost 0.0549, better) | predicted_SLG: 0.3716 -> 0.2935 (deboost -0.0781, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 4 | 1 | 3 | 2 | predicted_AB: 4.5908 -> 5.0000 (boost 0.4092, better) | predicted_2B: 0.3097 -> 0.0000 (deboost -0.3097, worse) | AB rounded to 5 (raw=4.59), rates preserved: AVG=0.210 HR/AB=0.005 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7840 -> 1.0000 (boost 0.2160, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.2935 -> 0.2000 (deboost -0.0935, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2000 -> 0.2935 (boost 0.0935, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669743",
"player_name": "Alex Call",
"position": "LF",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.219,
"predicted_3B": 0.0,
"predicted_AB": 3.094,
"predicted_AVG": 0.287,
"predicted_BB": 0.656,
"predicted_H": 0.21,
"predicted_HR": 0.02,
"predicted_OBP": 0.326,
"predicted_R": 0.547,
"predicted_RBI": 0.17,
"predicted_SLG": 0.376,
"predicted_SO": 0.531
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3097,
"predicted_3B": 0.0013,
"predicted_AB": 4.5908,
"predicted_AVG": 0.2875,
"predicted_BB": 0.8403,
"predicted_H": 0.926,
"predicted_HBP": 0.007,
"predicted_HR": 0.0221,
"predicted_OBP": 0.3503,
"predicted_R": 0.7292,
"predicted_RBI": 0.7301,
"predicted_SLG": 0.3716,
"predicted_SO": 0.7897
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.219,
"after": 0.3097,
"delta": 0.0907,
"percent_delta": 0.4142,
"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.094,
"after": 4.5908,
"delta": 1.4968,
"percent_delta": 0.4838,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.287,
"after": 0.2875,
"delta": 0.0005,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.656,
"after": 0.8403,
"delta": 0.1843,
"percent_delta": 0.2809,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.21,
"after": 0.926,
"delta": 0.716,
"percent_delta": 3.4095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0221,
"delta": 0.0021,
"percent_delta": 0.105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3503,
"delta": 0.0243,
"percent_delta": 0.0745,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.547,
"after": 0.7292,
"delta": 0.1822,
"percent_delta": 0.3331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.7301,
"delta": 0.5601,
"percent_delta": 3.2947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3716,
"delta": -0.0044,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.531,
"after": 0.7897,
"delta": 0.2587,
"percent_delta": 0.4872,
"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.094,
"after": 4.5908,
"delta": 1.4968,
"percent_delta": 0.4838,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 6,
"season": 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.3097,
"predicted_3B": 0.0013,
"predicted_AB": 4.5908,
"predicted_AVG": 0.2104,
"predicted_BB": 0.8568,
"predicted_H": 0.9658,
"predicted_HBP": 0.007,
"predicted_HR": 0.0231,
"predicted_OBP": 0.3346,
"predicted_R": 0.784,
"predicted_RBI": 0.785,
"predicted_SLG": 0.2935,
"predicted_SO": 0.7742
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3097,
"after": 0.3097,
"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.5908,
"after": 4.5908,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2875,
"after": 0.2104,
"delta": -0.0771,
"percent_delta": -0.2682,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8403,
"after": 0.8568,
"delta": 0.0165,
"percent_delta": 0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.926,
"after": 0.9658,
"delta": 0.0398,
"percent_delta": 0.043,
"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.0221,
"after": 0.0231,
"delta": 0.001,
"percent_delta": 0.0452,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3503,
"after": 0.3346,
"delta": -0.0157,
"percent_delta": -0.0448,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7292,
"after": 0.784,
"delta": 0.0548,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7301,
"after": 0.785,
"delta": 0.0549,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3716,
"after": 0.2935,
"delta": -0.0781,
"percent_delta": -0.2102,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7897,
"after": 0.7742,
"delta": -0.0155,
"percent_delta": -0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.7301,
"after": 0.785,
"delta": 0.0549,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3716,
"after": 0.2935,
"delta": -0.0781,
"percent_delta": -0.2102,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.59), rates preserved: AVG=0.210 HR/AB=0.005",
"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.3097,
"after": 0.0,
"delta": -0.3097,
"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.5908,
"after": 5.0,
"delta": 0.4092,
"percent_delta": 0.0891,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8568,
"after": 1.0,
"delta": 0.1432,
"percent_delta": 0.1671,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9658,
"after": 1.0,
"delta": 0.0342,
"percent_delta": 0.0354,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0231,
"after": 0.0,
"delta": -0.0231,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.785,
"after": 1.0,
"delta": 0.215,
"percent_delta": 0.2739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7742,
"after": 1.0,
"delta": 0.2258,
"percent_delta": 0.2917,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.5908,
"after": 5.0,
"delta": 0.4092,
"percent_delta": 0.0891,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3097,
"after": 0.0,
"delta": -0.3097,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.784,
"after": 1.0,
"delta": 0.216,
"percent_delta": 0.2755,
"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.784,
"after": 1.0,
"delta": 0.216,
"percent_delta": 0.2755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2104,
"after": 0.2,
"delta": -0.0104,
"percent_delta": -0.0494,
"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.3346,
"after": 0.333,
"delta": -0.0016,
"percent_delta": -0.0048,
"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.2935,
"after": 0.2,
"delta": -0.0935,
"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": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2935,
"after": 0.2,
"delta": -0.0935,
"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": 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": 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": 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.2104,
"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.3346,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2935,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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.2104,
"delta": 0.0104,
"percent_delta": 0.0519,
"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.3346,
"delta": 0.0016,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.2935,
"delta": 0.0935,
"percent_delta": 0.4675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.2935,
"delta": 0.0935,
"percent_delta": 0.4675,
"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.219,
"after": 0.0,
"delta": -0.219,
"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.094,
"after": 3.0,
"delta": -0.094,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.287,
"after": 0.2104,
"delta": -0.0766,
"percent_delta": -0.2669,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.656,
"after": 1.0,
"delta": 0.344,
"percent_delta": 0.5244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3346,
"delta": 0.0086,
"percent_delta": 0.0264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.547,
"after": 0.0,
"delta": -0.547,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.2935,
"delta": -0.0825,
"percent_delta": -0.2194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.531,
"after": 1.0,
"delta": 0.469,
"percent_delta": 0.8832,
"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.531,
"after": 1.0,
"delta": 0.469,
"percent_delta": 0.8832,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.547,
"after": 0.0,
"delta": -0.547,
"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.219 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.094 | - |
| predicted_AVG | 0.287 | - |
| predicted_BB | 0.656 | - |
| predicted_H | 0.210 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.326 | - |
| predicted_R | 0.547 | - |
| predicted_RBI | 0.170 | - |
| predicted_SLG | 0.376 | - |
| predicted_SO | 0.531 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.310 | 0.091 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.591 | 1.497 |
| predicted_AVG | 0.287 | 0.001 |
| predicted_BB | 0.840 | 0.184 |
| predicted_H | 0.926 | 0.716 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.022 | 0.002 |
| predicted_OBP | 0.350 | 0.024 |
| predicted_R | 0.729 | 0.182 |
| predicted_RBI | 0.730 | 0.560 |
| predicted_SLG | 0.372 | -0.004 |
| predicted_SO | 0.790 | 0.259 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.310 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.591 | 0.000 |
| predicted_AVG | 0.210 | -0.077 |
| predicted_BB | 0.857 | 0.016 |
| predicted_H | 0.966 | 0.040 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.023 | 0.001 |
| predicted_OBP | 0.335 | -0.016 |
| predicted_R | 0.784 | 0.055 |
| predicted_RBI | 0.785 | 0.055 |
| predicted_SLG | 0.293 | -0.078 |
| predicted_SO | 0.774 | -0.015 |
AB rounded to 5 (raw=4.59), rates preserved: AVG=0.210 HR/AB=0.005
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.310 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | 0.409 |
| predicted_AVG | 0.200 | -0.010 |
| predicted_BB | 1.000 | 0.143 |
| predicted_H | 1.000 | 0.034 |
| predicted_HR | 0.000 | -0.023 |
| predicted_OBP | 0.333 | -0.002 |
| predicted_R | 1.000 | 0.216 |
| predicted_RBI | 1.000 | 0.215 |
| predicted_SLG | 0.200 | -0.093 |
| predicted_SO | 1.000 | 0.226 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -2.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 14.000 | 5.000 | 1.000 | 0.000 | 0.000 | 5.000 | 1.000 | 1.000 | 2.000 | 0.3571 | 0.4000 | 0.4286 | 0.3571 | 0.0000 | 0.3571 | 0.0714 | 0.1429 |
| last_10 | 0.20 | 6 | - | 29.000 | 8.000 | 1.000 | 0.000 | 0.000 | 10.000 | 3.000 | 3.000 | 5.000 | 0.2759 | 0.3438 | 0.3103 | 0.2759 | 0.0000 | 0.3448 | 0.1035 | 0.1724 |
| season | 0.60 | 24 | - | 198.000 | 55.000 | 14.000 | 0.000 | 0.000 | 38.000 | 35.000 | 42.000 | 34.000 | 0.2778 | 0.3975 | 0.3485 | 0.2778 | 0.0000 | 0.1919 | 0.2121 | 0.1717 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4360 |
| predicted_3B | 0.0030 |
| predicted_AB | 6.6750 |
| predicted_AVG | 0.2881 |
| predicted_BB | 1.0970 |
| predicted_H | 1.9230 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.0250 |
| predicted_OBP | 0.3842 |
| predicted_R | 0.9830 |
| predicted_RBI | 1.5100 |
| predicted_SLG | 0.3654 |
| predicted_SO | 1.1500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2190 | 0.4360 | 0.3097 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.0940 | 6.6750 | 4.5908 | model_form_blend |
| predicted_AVG | 0.2870 | 0.2881 | 0.2875 | model_form_blend |
| predicted_BB | 0.6560 | 1.0970 | 0.8403 | model_form_blend |
| predicted_H | 0.2100 | 1.9230 | 0.9260 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.0200 | 0.0250 | 0.0221 | model_form_blend |
| predicted_OBP | 0.3260 | 0.3842 | 0.3503 | model_form_blend |
| predicted_R | 0.5470 | 0.9830 | 0.7292 | model_form_blend |
| predicted_RBI | 0.1700 | 1.5100 | 0.7301 | model_form_blend |
| predicted_SLG | 0.3760 | 0.3654 | 0.3716 | model_form_blend |
| predicted_SO | 0.5310 | 1.1500 | 0.7897 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 68 |
| Season rows before report date | 68 |
| Report year | 2026 |
| Profile rows used | 64 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.278 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| 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 | 20260531_PHI@LAD |
| game_type | ph |
| mlbID | 669743 |
| note | Singled for Ward in the 5th. |
| playerID | 669743 |
| playerName | Alex Call |
| pos | LF |
| started | False |
| startingPosition | PH |
| team | LAD |
| teamID | 14 |
| game_date | 2026-05-31 |
| sl_k_percent | 11.4 |
| sl_bb_percent | 15.7 |
| sl_woba | 0.366 |
| sl_xwoba | 0.304 |
| sl_xba | 0.236 |
| sl_xslg | 0.281 |
| sl_sweet_spot_percent | 26.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 18.0 |
| sl_exit_velocity_avg | 85.0 |
| sl_launch_angle_avg | 14.9 |
| sl_whiff_percent | 10.2 |
| sl_swing_percent | 40.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.400 | 1.000 | 1.600 | 2.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.700 | 2.000 | 0.300 | 1.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 5.000 | 5.000 | 1.000 | 1.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 4.980 | 6.000 | 0.020 | -1.000 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 5.900 | 8.000 | 0.100 | -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": "686218",
"player_name": "Emmet Sheehan",
"position": "Starter",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.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": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_R": 3.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 5.0,
"after": 5.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.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 | 3.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.000 | - |
| 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 | 25.100 | 13.000 | 26.000 | 5.000 | 31.000 | 5.000 | 4.6184 | 1.2237 | 0.5132 | 1.0263 | 0.1974 | 1.2237 | 0.1974 |
| last_10 | 0.35 | 10 | 51.200 | 27.000 | 50.000 | 14.000 | 59.000 | 9.000 | 4.7032 | 1.2387 | 0.5226 | 0.9677 | 0.2710 | 1.1419 | 0.1742 |
| season | 0.20 | 10 | 51.200 | 27.000 | 50.000 | 14.000 | 59.000 | 9.000 | 4.7032 | 1.2387 | 0.5226 | 0.9677 | 0.2710 | 1.1419 | 0.1742 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4060 |
| predicted_ER | 2.5670 |
| predicted_ERA | 4.5329 |
| predicted_H | 5.0150 |
| predicted_HR | 0.8640 |
| predicted_IP | 5.0000 |
| predicted_SO | 5.6350 |
| predicted_WHIP | 1.2597 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.4060 | 2.1884 | model_form_blend |
| predicted_ER | 3.0000 | 2.5670 | 2.7795 | model_form_blend |
| predicted_ERA | - | 4.5329 | 4.5329 | form_only |
| predicted_H | 6.0000 | 5.0150 | 5.4985 | model_form_blend |
| predicted_HR | 0.0000 | 0.8640 | 0.4399 | model_form_blend |
| predicted_IP | 5.0000 | 5.0000 | 5.0000 | model_form_blend |
| predicted_SO | 6.0000 | 5.6350 | 5.8141 | model_form_blend |
| predicted_WHIP | - | 1.2597 | 1.2597 | 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 | 5.0 |
| H | 6 |
| R | 3 |
| ER | 3 |
| BB | 3 |
| SO | 6 |
| HR | 0 |
| BF | 24 |
| Pitches | 101 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 24 |
| Pitching_ER | 2 |
| Pitching_ERA | 4.70 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 3 |
| Pitching_H | 5 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 92 |
| Pitching_R | 2 |
| Pitching_SO | 8 |
| Pitching_Strikes | 59 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260525_COL@LAD |
| game_type | full |
| mlbID | 686218 |
| playerID | 686218 |
| playerName | Emmet Sheehan |
| pos | P |
| started | True |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-05-25 |
| game_pk | 823948.0 |
| sl_k_percent | 27.2 |
| sl_bb_percent | 6.5 |
| sl_woba | 0.336 |
| sl_xwoba | 0.312 |
| sl_sweet_spot_percent | 36.9 |
| sl_barrel_batted_rate | 9.2 |
| sl_hard_hit_percent | 37.6 |
| sl_whiff_percent | 31.3 |
| sl_swing_percent | 51.4 |
| sv_pitch_count | 92.0 |
| sv_outs_recorded_est | 17.0 |
| sv_release_speed | 88.51413043478261 |
| sv_release_spin_rate | 2369.467391304348 |
| sv_effective_speed | 89.07826086956523 |
| sv_launch_speed | 81.832 |
| sv_launch_angle | 25.72 |
| sv_woba_value | 6.25 |
| sv_woba_denom | 24.0 |
| sv_delta_run_exp | -0.675 |
| sv_delta_home_win_exp | 0.068 |
| sl_avg_best_speed | 76.878278143 |
| sl_avg_hyper_speed | 93.919189357 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.222 | 0.000 | -0.222 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.556 | 0.000 | -0.556 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.167 | 1.000 | -0.167 | 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": "669165",
"player_name": "Kyle Hurt",
"position": "Middle Reliever",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 1.000 | 3.000 | 2.000 | 5.000 | 1.000 | 1.8000 | 1.0000 | 0.2000 | 0.6000 | 0.4000 | 1.0000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.000 | 1.000 | 7.000 | 3.000 | 10.000 | 1.000 | 0.9000 | 1.0000 | 0.1000 | 0.7000 | 0.3000 | 1.0000 | 0.1000 |
| season | 0.20 | 18 | 18.000 | 2.000 | 10.000 | 4.000 | 21.000 | 1.000 | 1.0000 | 0.7778 | 0.1111 | 0.5556 | 0.2222 | 1.1667 | 0.0556 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3520 |
| predicted_ER | 0.3400 |
| predicted_ERA | 3.0570 |
| predicted_H | 0.8160 |
| predicted_HR | 0.1350 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9790 |
| predicted_WHIP | 1.1678 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3520 | 0.1419 | model_form_blend |
| predicted_ER | 0.0000 | 0.3400 | 0.1370 | model_form_blend |
| predicted_ERA | - | 3.0570 | 3.0570 | form_only |
| predicted_H | 0.0000 | 0.8160 | 0.3289 | model_form_blend |
| predicted_HR | 0.0000 | 0.1350 | 0.0544 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9790 | 0.9915 | model_form_blend |
| predicted_WHIP | - | 1.1678 | 1.1678 | 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 | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 13 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 11 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260530_PHI@LAD |
| game_type | full |
| mlbID | 669165 |
| playerID | 669165 |
| playerName | Kyle Hurt |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-05-30 |
| sl_k_percent | 31.3 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.206 |
| sl_xwoba | 0.233 |
| sl_sweet_spot_percent | 29.3 |
| sl_barrel_batted_rate | 2.4 |
| sl_hard_hit_percent | 29.3 |
| sl_whiff_percent | 38.3 |
| sl_swing_percent | 57.1 |
| sl_avg_best_speed | 79.0032715 |
| sl_avg_hyper_speed | 93.315018 |
| 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.273 | 0.000 | 0.727 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.273 | 0.000 | -0.273 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.727 | 0.000 | -0.727 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.686 | 1.000 | 0.314 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.818 | 2.000 | -0.818 | -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": "595014",
"player_name": "Blake Treinen",
"position": "Middle Reliever",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.4999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.4999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 0.000 | 1.000 | 2.000 | 5.000 | 0.000 | 0.0000 | 0.7500 | 0.0000 | 0.2500 | 0.5000 | 1.2500 | 0.0000 |
| last_10 | 0.35 | 10 | 8.200 | 2.000 | 5.000 | 3.000 | 9.000 | 0.000 | 2.0769 | 0.9231 | 0.2308 | 0.5769 | 0.3462 | 1.0385 | 0.0000 |
| season | 0.20 | 21 | 17.200 | 3.000 | 12.000 | 6.000 | 18.000 | 1.000 | 1.5283 | 1.0189 | 0.1698 | 0.6793 | 0.3396 | 1.0189 | 0.0566 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2870 |
| predicted_ER | 0.2430 |
| predicted_ERA | 2.9505 |
| predicted_H | 0.5530 |
| predicted_HR | 0.0620 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7560 |
| predicted_WHIP | 1.1320 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2870 | 0.7140 | model_form_blend |
| predicted_ER | 0.0000 | 0.2430 | 0.0975 | model_form_blend |
| predicted_ERA | - | 2.9505 | 2.9505 | form_only |
| predicted_H | 0.0000 | 0.5530 | 0.2218 | model_form_blend |
| predicted_HR | 0.0000 | 0.0620 | 0.0249 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7560 | 0.3032 | model_form_blend |
| predicted_WHIP | - | 1.1320 | 1.1320 | 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 | 22 |
| Season rows before report date | 22 |
| 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 | 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.06 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 11 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260530_PHI@LAD |
| game_type | full |
| mlbID | 595014 |
| playerID | 595014 |
| playerName | Blake Treinen |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-05-30 |
| sl_k_percent | 24.0 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.309 |
| sl_xwoba | 0.369 |
| sl_sweet_spot_percent | 38.0 |
| sl_barrel_batted_rate | 16.3 |
| sl_hard_hit_percent | 46.0 |
| sl_whiff_percent | 27.8 |
| sl_swing_percent | 48.4 |
| sl_avg_best_speed | 78.3533725 |
| sl_avg_hyper_speed | 95.322275957 |
| 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.115 | 0.000 | 0.885 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.231 | 3.000 | -0.231 | -3.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.538 | 3.000 | -0.538 | -3.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.904 | 1.000 | 0.096 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.077 | 0.000 | -1.077 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.6667 -> 1.0000 (boost 0.3333, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.6667 -> 1.0000 (boost 0.3333, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656945",
"player_name": "Tanner Scott",
"position": "Middle Reliever",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.4999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.4999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 3.000 | 5.000 | 0.000 | 8.000 | 1.000 | 5.4000 | 1.0000 | 0.6000 | 1.0000 | 0.0000 | 1.6000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.100 | 3.000 | 6.000 | 1.000 | 13.000 | 1.000 | 2.6129 | 0.6774 | 0.2903 | 0.5806 | 0.0968 | 1.2581 | 0.0968 |
| season | 0.20 | 26 | 24.200 | 6.000 | 14.000 | 3.000 | 28.000 | 3.000 | 2.1892 | 0.6892 | 0.2432 | 0.5676 | 0.1216 | 1.1351 | 0.1216 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1790 |
| predicted_ER | 0.3730 |
| predicted_ERA | 4.0384 |
| predicted_H | 0.7140 |
| predicted_HR | 0.1170 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.9650 |
| predicted_WHIP | 1.0751 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.1790 | 0.6421 | model_form_blend |
| predicted_ER | 0.0000 | 0.3730 | 0.1626 | model_form_blend |
| predicted_ERA | - | 4.0384 | 4.0384 | form_only |
| predicted_H | 0.0000 | 0.7140 | 0.3112 | model_form_blend |
| predicted_HR | 0.0000 | 0.1170 | 0.0510 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9650 | 0.4207 | model_form_blend |
| predicted_WHIP | - | 1.0751 | 1.0751 | 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 | 6 |
| Pitching_ER | 3 |
| Pitching_ERA | 2.19 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 19 |
| Pitching_R | 3 |
| Pitching_SO | 0 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260530_PHI@LAD |
| game_type | full |
| mlbID | 656945 |
| playerID | 656945 |
| playerName | Tanner Scott |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-05-30 |
| sl_k_percent | 31.1 |
| sl_bb_percent | 3.3 |
| sl_woba | 0.202 |
| sl_xwoba | 0.269 |
| sl_sweet_spot_percent | 33.9 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 28.8 |
| sl_whiff_percent | 34.0 |
| sl_swing_percent | 57.1 |
| sl_avg_best_speed | 79.776931333 |
| sl_avg_hyper_speed | 92.691549153 |
| 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.400 | 1.000 | -0.400 | -1.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.360 | 0.000 | 1.640 | 2.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 0.656 | 0.200 | -0.656 | -0.200 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.080 | 1.000 | -1.080 | -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": "681911",
"player_name": "Alex Vesia",
"position": "Middle Reliever",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.0,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 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": 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.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 | 1.000 | - |
| predicted_H | 2.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 | 3.100 | 0.000 | 1.000 | 2.000 | 4.000 | 0.000 | 0.0000 | 0.9000 | 0.0000 | 0.3000 | 0.6000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 7.000 | 3.000 | 5.000 | 4.000 | 11.000 | 0.000 | 3.8571 | 1.2857 | 0.4286 | 0.7143 | 0.5714 | 1.5714 | 0.0000 |
| season | 0.20 | 25 | 19.200 | 5.000 | 9.000 | 10.000 | 27.000 | 0.000 | 2.2881 | 0.9661 | 0.2542 | 0.4576 | 0.5085 | 1.3729 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2190 |
| predicted_ER | 0.1710 |
| predicted_ERA | 3.2039 |
| predicted_H | 0.3560 |
| predicted_HR | 0.0360 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.5390 |
| predicted_WHIP | 1.2005 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2190 | 0.0903 | model_form_blend |
| predicted_ER | 1.0000 | 0.1710 | 0.6583 | model_form_blend |
| predicted_ERA | - | 3.2039 | 3.2039 | form_only |
| predicted_H | 2.0000 | 0.3560 | 1.3225 | model_form_blend |
| predicted_HR | 0.0000 | 0.0360 | 0.0148 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.5390 | 0.2221 | model_form_blend |
| predicted_WHIP | - | 1.2005 | 1.2005 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 25 |
| Season rows before report date | 25 |
| Report year | 2026 |
| Profile rows used | 25 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.0 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 14 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.29 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 12 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260530_PHI@LAD |
| game_type | full |
| mlbID | 681911 |
| playerID | 681911 |
| playerName | Alex Vesia |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-05-30 |
| sl_k_percent | 34.6 |
| sl_bb_percent | 12.8 |
| sl_woba | 0.203 |
| sl_xwoba | 0.246 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 29.3 |
| sl_whiff_percent | 36.5 |
| sl_swing_percent | 45.8 |
| sl_avg_best_speed | 77.554859524 |
| sl_avg_hyper_speed | 91.666326585 |
| Field | Value |
|---|---|
| Pitcher | Eduardo Rodriguez |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.3734 |
| ESPN Rank | 11 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0749 |
| Avg Velo | 88.3578 |
| Avg Spin | 2169.5650 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6.2000 |
| Pre ER | 0 |
| Pre H | 4 |
| Pre BB | 0 |
| Pre SO | 6 |
| Season ERA | 2.3065 |
| Season WHIP | 1.2060 |
| Role Avg IP | 6.0300 |
| Recent Avg IP | 6.7330 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 65,
"wins": 35,
"losses": 30,
"win_pct": 0.5385,
"runs_scored": 311.0,
"runs_allowed": 295.0,
"run_differential": 16.0,
"run_differential_per_game": 0.2462,
"avg_runs_scored": 4.7846,
"avg_runs_allowed": 4.5385,
"offense_index": 1.0746,
"defense_index": 0.9811,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 3.3,
"run_differential": 10.0
},
"available": true,
"quality_score": 0.0981
},
"opponent": {
"team": "LAD",
"games": 65,
"wins": 41,
"losses": 24,
"win_pct": 0.6308,
"runs_scored": 348.0,
"runs_allowed": 209.0,
"run_differential": 139.0,
"run_differential_per_game": 2.1385,
"avg_runs_scored": 5.3538,
"avg_runs_allowed": 3.2154,
"offense_index": 1.2024,
"defense_index": 1.3848,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 2.6,
"run_differential": 35.0
},
"available": true,
"quality_score": 0.4803
},
"edges": {
"quality_edge": -0.3822,
"offense_edge": 0.0746,
"opponent_offense_edge": 0.2024,
"defense_strength": -0.0189,
"opponent_defense_weakness": -0.3848,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.976,
"run_prevention": 1.0534,
"strikeout": 0.9723
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "593958",
"profile": {
"available": true,
"pitcher_id": "593958",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 247.0,
"k_percent": 18.0,
"bb_percent": 9.2,
"woba": 0.29,
"xwoba": 0.332,
"sweet_spot_percent": 35.9,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 35.9,
"avg_best_speed": 78.3438,
"avg_hyper_speed": 93.7269,
"whiff_percent": 19.2,
"swing_percent": 46.2
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.1617,
"command_and_miss": -0.6207,
"regression_edge": -1.2,
"xwoba_edge": -0.5714,
"barrel_edge": -0.0889,
"hard_hit_edge": 0.3857,
"whiff_edge": -0.9429,
"bb_edge": 0.025,
"pitch_design_score": -0.0749
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "593958",
"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": 88.35780753783533,
"release_spin_rate": 2169.5649959989746,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 88.35780753783533,
"release_spin_rate": 2169.5649959989746,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3578,
"release_spin_rate": 2169.565,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0749,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.5349,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.3734,
"sample_weight": 0.988,
"run_prevention_factor": 1.0317,
"strikeout_factor": 0.9368,
"walk_factor": 0.998,
"homer_factor": 1.0087,
"woba_minus_xwoba": -0.042,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "593958",
"espn_id": 32675,
"player_name": "Eduardo Rodriguez",
"team": "ARI",
"role": "pitcher",
"espn_rank": 11,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 11,
"gp_value": 11.0,
"gp_rank": 291,
"gs_value": 11.0,
"gs_rank": 48,
"qs_value": 6.0,
"qs_rank": 22,
"era_value": 2.3065,
"era_rank": 9.0,
"w_value": 5.0,
"w_rank": 21,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 66.1,
"ip_rank": 31,
"h_value": 55.0,
"h_rank": 70,
"er_value": 17.0,
"er_rank": 137,
"hr_value": 5.0,
"hr_rank": 113,
"bb_value": 25.0,
"bb_rank": 24,
"k_value": 49.0,
"k_rank": 81,
"k_per_9_value": 6.648241,
"k_per_9_rank": 70,
"whip_value": 1.206,
"whip_rank": 46.0,
"war_value": 2.26,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0313,
"adjusted": 1
},
"predicted_H": {
"original": 5.0,
"factor": 1.0313,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.998,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0086,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9376,
"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": 61.1,
"ER": 17,
"H": 51,
"BB": 23,
"SO": 44,
"HR": 5,
"ERA": 2.494565217391304,
"WHIP": 1.2065217391304348,
"K9": 6.456521739130435,
"HR9": 0.733695652173913,
"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-26T00:00:00"
}{
"available": true,
"pitcher_id": "593958",
"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": 88.35780753783533,
"release_spin_rate": 2169.5649959989746,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 88.35780753783533,
"release_spin_rate": 2169.5649959989746,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3578,
"release_spin_rate": 2169.565,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0749,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.5349,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": "593958",
"report_date": "20260601_L",
"season_year": 2026,
"rows_used": 11,
"reference_playing_time": 8.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 33.2,
"ER": 6.0,
"R": 6.0,
"H": 25.0,
"BB": 9.0,
"SO": 27.0,
"HR": 1.0,
"BF": 129.0,
"Pitches": 487.0
},
"per_game": {
"IP": 6.2,
"ER": 1.2,
"R": 1.2,
"H": 5.0,
"BB": 1.8,
"SO": 5.4,
"HR": 0.2,
"BF": 25.8,
"Pitches": 97.4
},
"rates": {
"ERA": 1.604,
"WHIP": 1.0099,
"ER_per_IP": 0.17822,
"H_per_IP": 0.74257,
"BB_per_IP": 0.26733,
"SO_per_IP": 0.80198,
"HR_per_IP": 0.0297
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 61.1,
"ER": 17.0,
"R": 17.0,
"H": 51.0,
"BB": 23.0,
"SO": 44.0,
"HR": 5.0,
"BF": 252.0,
"Pitches": 960.0
},
"per_game": {
"IP": 6.0,
"ER": 1.7,
"R": 1.7,
"H": 5.1,
"BB": 2.3,
"SO": 4.4,
"HR": 0.5,
"BF": 25.2,
"Pitches": 96.0
},
"rates": {
"ERA": 2.4946,
"WHIP": 1.2065,
"ER_per_IP": 0.27717,
"H_per_IP": 0.83152,
"BB_per_IP": 0.375,
"SO_per_IP": 0.71739,
"HR_per_IP": 0.08152
}
},
"season": {
"games": 11,
"totals": {
"IP": 66.1,
"ER": 17.0,
"R": 18.0,
"H": 55.0,
"BB": 25.0,
"SO": 49.0,
"HR": 5.0,
"BF": 272.0,
"Pitches": 1039.0
},
"per_game": {
"IP": 6.0,
"ER": 1.5455,
"R": 1.6364,
"H": 5.0,
"BB": 2.2727,
"SO": 4.4545,
"HR": 0.4545,
"BF": 24.7273,
"Pitches": 94.4545
},
"rates": {
"ERA": 2.3065,
"WHIP": 1.206,
"ER_per_IP": 0.25628,
"H_per_IP": 0.82915,
"BB_per_IP": 0.37688,
"SO_per_IP": 0.73869,
"HR_per_IP": 0.07538
}
}
},
"weighted_prediction": {
"predicted_IP": 6.2,
"predicted_ER": 2.09,
"predicted_H": 5.743,
"predicted_BB": 2.322,
"predicted_SO": 5.576,
"predicted_HR": 0.553,
"predicted_ERA": 2.7535,
"predicted_WHIP": 1.1807
}
}{
"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": 8.0,
"form": 6.2,
"final": 7.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 2.09,
"final": 1.0826,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 5.743,
"final": 4.9028,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 2.322,
"final": 1.2027,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 5.576,
"final": 5.7804,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.553,
"final": 0.2864,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7535,
"final": 2.7535,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1807,
"final": 1.1807,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Jonathan Loáisiga |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0320 |
| ESPN Rank | 164 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1751 |
| Avg Velo | 92.8214 |
| Avg Spin | 2270.1429 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 0 |
| Season WHIP | 0.4286 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 65,
"wins": 35,
"losses": 30,
"win_pct": 0.5385,
"runs_scored": 311.0,
"runs_allowed": 295.0,
"run_differential": 16.0,
"run_differential_per_game": 0.2462,
"avg_runs_scored": 4.7846,
"avg_runs_allowed": 4.5385,
"offense_index": 1.0746,
"defense_index": 0.9811,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 3.3,
"run_differential": 10.0
},
"available": true,
"quality_score": 0.0981
},
"opponent": {
"team": "LAD",
"games": 65,
"wins": 41,
"losses": 24,
"win_pct": 0.6308,
"runs_scored": 348.0,
"runs_allowed": 209.0,
"run_differential": 139.0,
"run_differential_per_game": 2.1385,
"avg_runs_scored": 5.3538,
"avg_runs_allowed": 3.2154,
"offense_index": 1.2024,
"defense_index": 1.3848,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 2.6,
"run_differential": 35.0
},
"available": true,
"quality_score": 0.4803
},
"edges": {
"quality_edge": -0.3822,
"offense_edge": 0.0746,
"opponent_offense_edge": 0.2024,
"defense_strength": -0.0189,
"opponent_defense_weakness": -0.3848,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.976,
"run_prevention": 1.0534,
"strikeout": 0.9723
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "642528",
"profile": {
"available": true,
"pitcher_id": "642528",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 4.0,
"k_percent": 15.7,
"bb_percent": 3.6,
"woba": 0.261,
"xwoba": 0.3,
"sweet_spot_percent": 27.3,
"barrel_batted_rate": 4.5,
"hard_hit_percent": 40.9,
"avg_best_speed": 77.3195,
"avg_hyper_speed": 94.1484,
"whiff_percent": 20.8,
"swing_percent": 51.5
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.4908,
"command_and_miss": -0.4086,
"regression_edge": -1.1143,
"xwoba_edge": 0.3429,
"barrel_edge": 0.6,
"hard_hit_edge": -0.3286,
"whiff_edge": -0.7143,
"bb_edge": 1.425,
"pitch_design_score": 0.1751
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "642528",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 92.82142857142856,
"release_spin_rate": 2270.1428571428573,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 92.82142857142856,
"release_spin_rate": 2270.1428571428573,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.8214,
"release_spin_rate": 2270.1429,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1751,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2505,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.032,
"sample_weight": 0.45,
"run_prevention_factor": 0.9973,
"strikeout_factor": 0.9694,
"walk_factor": 0.9487,
"homer_factor": 0.9797,
"woba_minus_xwoba": -0.039,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "642528",
"espn_id": 39807,
"player_name": "Jonathan Loaisiga",
"team": "ARI",
"role": "pitcher",
"espn_rank": 164,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 164,
"gp_value": 24.0,
"gp_rank": 72,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.4923,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 2.0,
"l_rank": 140,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 4.0,
"hld_rank": 94,
"ip_value": 21.2,
"ip_rank": 298,
"h_value": 19.0,
"h_rank": 276,
"er_value": 6.0,
"er_rank": 389,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 4.0,
"bb_rank": 456,
"k_value": 13.0,
"k_rank": 392,
"k_per_9_value": 5.3999996,
"k_per_9_rank": 35,
"whip_value": 1.0615,
"whip_rank": null,
"war_value": 0.51,
"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": 0.9769,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9909,
"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": "insufficient_data"
},
"pitching": {
"IP": 2.1,
"ER": 0,
"H": 1,
"BB": 0,
"SO": 2,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.4285714285714286,
"K9": 7.714285714285715,
"HR9": 0.0,
"games_pitched": 2,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 2,
"error_prone": false
},
"games_count": 2,
"latest_game_date": "2026-03-28T00:00:00"
}{
"available": true,
"pitcher_id": "642528",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 92.82142857142856,
"release_spin_rate": 2270.1428571428573,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 92.82142857142856,
"release_spin_rate": 2270.1428571428573,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.8214,
"release_spin_rate": 2270.1429,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1751,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2505,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.46,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0843,
"prior_weight": 0.9157
},
"role": "pitcher",
"player_id": "642528",
"report_date": "20260601_L",
"season_year": 2026,
"rows_used": 2,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 2,
"totals": {
"IP": 2.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 8.0,
"Pitches": 32.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.0,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 16.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4286,
"ER_per_IP": 0.0,
"H_per_IP": 0.42857,
"BB_per_IP": 0.0,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 2,
"totals": {
"IP": 2.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 8.0,
"Pitches": 32.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.0,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 16.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4286,
"ER_per_IP": 0.0,
"H_per_IP": 0.42857,
"BB_per_IP": 0.0,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
},
"season": {
"games": 2,
"totals": {
"IP": 2.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 8.0,
"Pitches": 32.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.0,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 16.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4286,
"ER_per_IP": 0.0,
"H_per_IP": 0.42857,
"BB_per_IP": 0.0,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.182,
"predicted_H": 0.378,
"predicted_BB": 0.141,
"predicted_SO": 0.39,
"predicted_HR": 0.051,
"predicted_ERA": 3.9262,
"predicted_WHIP": 1.2436
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7369,
"form_weight": 0.2631,
"form_reliability": 0.0843,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.46,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0843,
"prior_weight": 0.9157
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.182,
"final": 0.0479,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.378,
"final": 0.0995,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.141,
"final": 0.0371,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.39,
"final": 0.1026,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.051,
"final": 0.0134,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9262,
"final": 3.9262,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2436,
"final": 1.2436,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Paul Sewald |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0010 |
| ESPN Rank | 282 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 1 |
| Pre H | 0 |
| Pre BB | 3 |
| Pre SO | 1 |
| Season ERA | 0 |
| Season WHIP | 0 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 65,
"wins": 35,
"losses": 30,
"win_pct": 0.5385,
"runs_scored": 311.0,
"runs_allowed": 295.0,
"run_differential": 16.0,
"run_differential_per_game": 0.2462,
"avg_runs_scored": 4.7846,
"avg_runs_allowed": 4.5385,
"offense_index": 1.0746,
"defense_index": 0.9811,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 3.3,
"run_differential": 10.0
},
"available": true,
"quality_score": 0.0981
},
"opponent": {
"team": "LAD",
"games": 65,
"wins": 41,
"losses": 24,
"win_pct": 0.6308,
"runs_scored": 348.0,
"runs_allowed": 209.0,
"run_differential": 139.0,
"run_differential_per_game": 2.1385,
"avg_runs_scored": 5.3538,
"avg_runs_allowed": 3.2154,
"offense_index": 1.2024,
"defense_index": 1.3848,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 2.6,
"run_differential": 35.0
},
"available": true,
"quality_score": 0.4803
},
"edges": {
"quality_edge": -0.3822,
"offense_edge": 0.0746,
"opponent_offense_edge": 0.2024,
"defense_strength": -0.0189,
"opponent_defense_weakness": -0.3848,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.976,
"run_prevention": 1.0534,
"strikeout": 0.9723
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "623149",
"profile": {
"available": true,
"pitcher_id": "623149",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.311,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.0114,
"command_and_miss": 0.0,
"regression_edge": -0.0857,
"xwoba_edge": 0.0286,
"barrel_edge": 0.0,
"hard_hit_edge": 0.0,
"whiff_edge": 0.0,
"bb_edge": 0.0,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "623149",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.001,
"sample_weight": 0.45,
"run_prevention_factor": 1.0001,
"strikeout_factor": 1.0,
"walk_factor": 1.0,
"homer_factor": 0.9996,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "623149",
"espn_id": 35009,
"player_name": "Paul Sewald",
"team": "ARI",
"role": "pitcher",
"espn_rank": 282,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 282,
"gp_value": 24.0,
"gp_rank": 72,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 3.7968,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 4.0,
"l_rank": 34,
"sv_value": 14.0,
"sv_rank": 4,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 21.1,
"ip_rank": 303,
"h_value": 10.0,
"h_rank": 430,
"er_value": 9.0,
"er_rank": 287,
"hr_value": 4.0,
"hr_rank": 150,
"bb_value": 6.0,
"bb_rank": 379,
"k_value": 24.0,
"k_rank": 249,
"k_per_9_value": 10.125,
"k_per_9_rank": 22,
"whip_value": 0.75,
"whip_rank": null,
"war_value": 0.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9998,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "insufficient_data"
},
"pitching": {
"IP": 0.1,
"ER": 0,
"H": 0,
"BB": 0,
"SO": 0,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.0,
"K9": 0.0,
"HR9": 0.0,
"games_pitched": 1,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 1,
"error_prone": false
},
"games_count": 1,
"latest_game_date": "2026-03-28T00:00:00"
}{
"available": false,
"pitcher_id": "623149",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.066,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.013,
"prior_weight": 0.987
},
"role": "pitcher",
"player_id": "623149",
"report_date": "20260601_L",
"season_year": 2026,
"rows_used": 1,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 1,
"totals": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"per_game": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 1,
"totals": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"per_game": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 1,
"totals": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"per_game": {
"IP": 0.1,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 1.0,
"Pitches": 5.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.157,
"predicted_H": 0.313,
"predicted_BB": 0.121,
"predicted_SO": 0.309,
"predicted_HR": 0.044,
"predicted_ERA": 4.2319,
"predicted_WHIP": 1.3015
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.767,
"form_weight": 0.233,
"form_reliability": 0.013,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.066,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.013,
"prior_weight": 0.987
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.157,
"final": 0.8036,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.313,
"final": 0.0729,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 0.121,
"final": 2.3292,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.309,
"final": 0.839,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.044,
"final": 0.0103,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2319,
"final": 4.2319,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3015,
"final": 1.3015,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Taylor Clarke |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0010 |
| ESPN Rank | 128 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 108 |
| Season WHIP | 9 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 65,
"wins": 35,
"losses": 30,
"win_pct": 0.5385,
"runs_scored": 311.0,
"runs_allowed": 295.0,
"run_differential": 16.0,
"run_differential_per_game": 0.2462,
"avg_runs_scored": 4.7846,
"avg_runs_allowed": 4.5385,
"offense_index": 1.0746,
"defense_index": 0.9811,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 3.3,
"run_differential": 10.0
},
"available": true,
"quality_score": 0.0981
},
"opponent": {
"team": "LAD",
"games": 65,
"wins": 41,
"losses": 24,
"win_pct": 0.6308,
"runs_scored": 348.0,
"runs_allowed": 209.0,
"run_differential": 139.0,
"run_differential_per_game": 2.1385,
"avg_runs_scored": 5.3538,
"avg_runs_allowed": 3.2154,
"offense_index": 1.2024,
"defense_index": 1.3848,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 2.6,
"run_differential": 35.0
},
"available": true,
"quality_score": 0.4803
},
"edges": {
"quality_edge": -0.3822,
"offense_edge": 0.0746,
"opponent_offense_edge": 0.2024,
"defense_strength": -0.0189,
"opponent_defense_weakness": -0.3848,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.976,
"run_prevention": 1.0534,
"strikeout": 0.9723
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "664199",
"profile": {
"available": true,
"pitcher_id": "664199",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.311,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.0114,
"command_and_miss": 0.0,
"regression_edge": -0.0857,
"xwoba_edge": 0.0286,
"barrel_edge": 0.0,
"hard_hit_edge": 0.0,
"whiff_edge": 0.0,
"bb_edge": 0.0,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "664199",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.001,
"sample_weight": 0.45,
"run_prevention_factor": 1.0001,
"strikeout_factor": 1.0,
"walk_factor": 1.0,
"homer_factor": 0.9996,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664199",
"espn_id": 35277,
"player_name": "Taylor Clarke",
"team": "ARI",
"role": "pitcher",
"espn_rank": 128,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 128,
"gp_value": 26.0,
"gp_rank": 31,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 1.875,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 11.0,
"hld_rank": 5,
"ip_value": 24.0,
"ip_rank": 260,
"h_value": 14.0,
"h_rank": 375,
"er_value": 5.0,
"er_rank": 432,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 3.0,
"bb_rank": 495,
"k_value": 10.0,
"k_rank": 429,
"k_per_9_value": 3.75,
"k_per_9_rank": 44,
"whip_value": 0.7083,
"whip_rank": null,
"war_value": 0.67,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 9.0,
"factor": 1.0,
"adjusted": 9
},
"predicted_H": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9998,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "insufficient_data"
},
"pitching": {
"IP": 0.1,
"ER": 4,
"H": 3,
"BB": 0,
"SO": 0,
"HR": 1,
"ERA": 108.0,
"WHIP": 9.0,
"K9": 0.0,
"HR9": 27.0,
"games_pitched": 1,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 1,
"error_prone": false
},
"games_count": 1,
"latest_game_date": "2026-03-26T00:00:00"
}{
"available": false,
"pitcher_id": "664199",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.066,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.013,
"prior_weight": 0.987
},
"role": "pitcher",
"player_id": "664199",
"report_date": "20260601_L",
"season_year": 2026,
"rows_used": 1,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 1,
"totals": {
"IP": 0.1,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 0.0,
"SO": 0.0,
"HR": 1.0,
"BF": 5.0,
"Pitches": 16.0
},
"per_game": {
"IP": 0.1,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 0.0,
"SO": 0.0,
"HR": 1.0,
"BF": 5.0,
"Pitches": 16.0
},
"rates": {
"ERA": 108.0,
"WHIP": 9.0,
"ER_per_IP": 12.0,
"H_per_IP": 9.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 3.0
}
},
"last_10": {
"games": 1,
"totals": {
"IP": 0.1,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 0.0,
"SO": 0.0,
"HR": 1.0,
"BF": 5.0,
"Pitches": 16.0
},
"per_game": {
"IP": 0.1,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 0.0,
"SO": 0.0,
"HR": 1.0,
"BF": 5.0,
"Pitches": 16.0
},
"rates": {
"ERA": 108.0,
"WHIP": 9.0,
"ER_per_IP": 12.0,
"H_per_IP": 9.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 3.0
}
},
"season": {
"games": 1,
"totals": {
"IP": 0.1,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 0.0,
"SO": 0.0,
"HR": 1.0,
"BF": 5.0,
"Pitches": 16.0
},
"per_game": {
"IP": 0.1,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 0.0,
"SO": 0.0,
"HR": 1.0,
"BF": 5.0,
"Pitches": 16.0
},
"rates": {
"ERA": 108.0,
"WHIP": 9.0,
"ER_per_IP": 12.0,
"H_per_IP": 9.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 3.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.209,
"predicted_H": 0.352,
"predicted_BB": 0.121,
"predicted_SO": 0.309,
"predicted_HR": 0.057,
"predicted_ERA": 5.6359,
"predicted_WHIP": 1.4185
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.767,
"form_weight": 0.233,
"form_reliability": 0.013,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.066,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.013,
"prior_weight": 0.987
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.209,
"final": 0.8157,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.352,
"final": 1.616,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.121,
"final": 0.7952,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.309,
"final": 0.839,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.057,
"final": 0.7803,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.6359,
"final": 5.6359,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4185,
"final": 1.4185,
"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.249 | 2.000 | 0.000 | Hitting_2B | 0.249 | 1.000 | 1.751 | 1.000 |
| predicted_3B | 0.156 | 0.000 | 0.000 | Hitting_3B | 0.156 | 0.000 | -0.156 | 0.000 |
| predicted_AB | 4.090 | 5.000 | 8.000 | Hitting_AB | 3.702 | 4.000 | 1.298 | 1.000 |
| predicted_AVG | 0.239 | 0.600 | 0.250 | Hitting_AVG | 0.298 | 0.250 | 0.302 | 0.350 |
| predicted_BB | 0.604 | 0.000 | 1.000 | Hitting_BB | 0.604 | 0.000 | -0.604 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 0.980 | 3.000 | 2.000 | Hitting_H | 1.102 | 1.000 | 1.898 | 2.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.142 | 0.000 | -0.142 | 0.000 |
| predicted_OBP | 0.327 | 0.600 | 0.333 | Hitting_OBP | 0.398 | 0.250 | 0.202 | 0.350 |
| predicted_R | 0.707 | 1.000 | 1.000 | Hitting_R | 0.707 | 1.000 | 0.293 | 0.000 |
| predicted_RBI | 0.430 | 2.000 | 1.000 | Hitting_RBI | 0.569 | 0.000 | 1.431 | 2.000 |
| predicted_SLG | 0.429 | 1.000 | 0.250 | Hitting_SLG | 0.564 | 0.500 | 0.436 | 0.500 |
| predicted_SO | 0.991 | 0.000 | 2.000 | Hitting_SO | 0.991 | 1.000 | -0.991 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_H: 0.9800 -> 3.0000 (boost 2.0200, better) |
| Biggest Deboost | predicted_SO: 0.9910 -> 0.0000 (deboost -0.9910, 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.0900 -> 7.8390 (boost 3.7490, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 0 | 4 | 0 | 4 | - | predicted_R: 1.4251 -> 1.3185 (deboost -0.1066, 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.8168 -> 1.0000 (boost 0.1832, better) | predicted_2B: 0.4750 -> 0.0000 (deboost -0.4750, worse) | AB rounded to 8 (raw=7.84), rates preserved: AVG=0.239 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3185 -> 1.0000 (deboost -0.3185, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2389 -> 0.2500 (boost 0.0111, better) | predicted_SLG: 0.4481 -> 0.2500 (deboost -0.1981, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 3 | 3 | 4 | 2 | predicted_2B: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 8.0000 -> 5.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.4481 (boost 0.1981, better) | predicted_AVG: 0.2500 -> 0.2389 (deboost -0.0111, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682998",
"player_name": "Corbin Carroll",
"position": "RF",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.249,
"predicted_3B": 0.156,
"predicted_AB": 4.09,
"predicted_AVG": 0.239,
"predicted_BB": 0.604,
"predicted_H": 0.98,
"predicted_HR": 0.12,
"predicted_OBP": 0.327,
"predicted_R": 0.707,
"predicted_RBI": 0.43,
"predicted_SLG": 0.429,
"predicted_SO": 0.991
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.475,
"predicted_3B": 0.2575,
"predicted_AB": 7.839,
"predicted_AVG": 0.2458,
"predicted_BB": 1.0516,
"predicted_H": 1.9598,
"predicted_HBP": 0.091,
"predicted_HR": 0.2277,
"predicted_OBP": 0.3304,
"predicted_R": 1.4251,
"predicted_RBI": 0.8828,
"predicted_SLG": 0.444,
"predicted_SO": 1.9863
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.249,
"after": 0.475,
"delta": 0.226,
"percent_delta": 0.9076,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.156,
"after": 0.2575,
"delta": 0.1015,
"percent_delta": 0.6506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.09,
"after": 7.839,
"delta": 3.749,
"percent_delta": 0.9166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2458,
"delta": 0.0068,
"percent_delta": 0.0285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.604,
"after": 1.0516,
"delta": 0.4476,
"percent_delta": 0.7411,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 1.9598,
"delta": 0.9798,
"percent_delta": 0.9998,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.2277,
"delta": 0.1077,
"percent_delta": 0.8975,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3304,
"delta": 0.0034,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.707,
"after": 1.4251,
"delta": 0.7181,
"percent_delta": 1.0157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.8828,
"delta": 0.4528,
"percent_delta": 1.053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.444,
"delta": 0.015,
"percent_delta": 0.035,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.991,
"after": 1.9863,
"delta": 0.9953,
"percent_delta": 1.0043,
"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.09,
"after": 7.839,
"delta": 3.749,
"percent_delta": 0.9166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.475,
"predicted_3B": 0.2575,
"predicted_AB": 7.839,
"predicted_AVG": 0.2389,
"predicted_BB": 1.0427,
"predicted_H": 1.8724,
"predicted_HBP": 0.091,
"predicted_HR": 0.2166,
"predicted_OBP": 0.3282,
"predicted_R": 1.3185,
"predicted_RBI": 0.8168,
"predicted_SLG": 0.4481,
"predicted_SO": 2.0032
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.475,
"after": 0.475,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.2575,
"after": 0.2575,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.839,
"after": 7.839,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2458,
"after": 0.2389,
"delta": -0.0069,
"percent_delta": -0.0281,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0516,
"after": 1.0427,
"delta": -0.0089,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.9598,
"after": 1.8724,
"delta": -0.0874,
"percent_delta": -0.0446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.091,
"after": 0.091,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2277,
"after": 0.2166,
"delta": -0.0111,
"percent_delta": -0.0487,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3304,
"after": 0.3282,
"delta": -0.0022,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.4251,
"after": 1.3185,
"delta": -0.1066,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8828,
"after": 0.8168,
"delta": -0.066,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.444,
"after": 0.4481,
"delta": 0.0041,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.9863,
"after": 2.0032,
"delta": 0.0169,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.4251,
"after": 1.3185,
"delta": -0.1066,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.84), rates preserved: AVG=0.239 HR/AB=0.028",
"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.475,
"after": 0.0,
"delta": -0.475,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.2575,
"after": 0.0,
"delta": -0.2575,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.839,
"after": 8.0,
"delta": 0.161,
"percent_delta": 0.0205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0427,
"after": 1.0,
"delta": -0.0427,
"percent_delta": -0.041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8724,
"after": 2.0,
"delta": 0.1276,
"percent_delta": 0.0681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.091,
"after": 0.0,
"delta": -0.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2166,
"after": 0.0,
"delta": -0.2166,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8168,
"after": 1.0,
"delta": 0.1832,
"percent_delta": 0.2243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0032,
"after": 2.0,
"delta": -0.0032,
"percent_delta": -0.0016,
"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.8168,
"after": 1.0,
"delta": 0.1832,
"percent_delta": 0.2243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.475,
"after": 0.0,
"delta": -0.475,
"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.3185,
"after": 1.0,
"delta": -0.3185,
"percent_delta": -0.2416,
"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.3185,
"after": 1.0,
"delta": -0.3185,
"percent_delta": -0.2416,
"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.2389,
"after": 0.25,
"delta": 0.0111,
"percent_delta": 0.0465,
"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.3282,
"after": 0.333,
"delta": 0.0048,
"percent_delta": 0.0146,
"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.4481,
"after": 0.25,
"delta": -0.1981,
"percent_delta": -0.4421,
"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.2389,
"after": 0.25,
"delta": 0.0111,
"percent_delta": 0.0465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4481,
"after": 0.25,
"delta": -0.1981,
"percent_delta": -0.4421,
"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": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 2.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2389,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3282,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4481,
"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": 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.2389,
"delta": -0.0111,
"percent_delta": -0.0446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3282,
"delta": -0.0048,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4481,
"delta": 0.1981,
"percent_delta": 0.7922,
"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.4481,
"delta": 0.1981,
"percent_delta": 0.7922,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2389,
"delta": -0.0111,
"percent_delta": -0.0446,
"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.249,
"after": 2.0,
"delta": 1.751,
"percent_delta": 7.0321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.156,
"after": 0.0,
"delta": -0.156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.239,
"after": 0.2389,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.604,
"after": 0.0,
"delta": -0.604,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 3.0,
"delta": 2.02,
"percent_delta": 2.0612,
"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.327,
"after": 0.3282,
"delta": 0.0012,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.707,
"after": 1.0,
"delta": 0.293,
"percent_delta": 0.4144,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 2.0,
"delta": 1.57,
"percent_delta": 3.6512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.4481,
"delta": 0.0191,
"percent_delta": 0.0445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.991,
"after": 0.0,
"delta": -0.991,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.98,
"after": 3.0,
"delta": 2.02,
"percent_delta": 2.0612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.991,
"after": 0.0,
"delta": -0.991,
"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.249 | - |
| predicted_3B | 0.156 | - |
| predicted_AB | 4.090 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.604 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.327 | - |
| predicted_R | 0.707 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.429 | - |
| predicted_SO | 0.991 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.226 |
| predicted_3B | 0.258 | 0.102 |
| predicted_AB | 7.839 | 3.749 |
| predicted_AVG | 0.246 | 0.007 |
| predicted_BB | 1.052 | 0.448 |
| predicted_H | 1.960 | 0.980 |
| predicted_HBP | 0.091 | - |
| predicted_HR | 0.228 | 0.108 |
| predicted_OBP | 0.330 | 0.003 |
| predicted_R | 1.425 | 0.718 |
| predicted_RBI | 0.883 | 0.453 |
| predicted_SLG | 0.444 | 0.015 |
| predicted_SO | 1.986 | 0.995 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.475 | 0.000 |
| predicted_3B | 0.258 | 0.000 |
| predicted_AB | 7.839 | 0.000 |
| predicted_AVG | 0.239 | -0.007 |
| predicted_BB | 1.043 | -0.009 |
| predicted_H | 1.872 | -0.087 |
| predicted_HBP | 0.091 | 0.000 |
| predicted_HR | 0.217 | -0.011 |
| predicted_OBP | 0.328 | -0.002 |
| predicted_R | 1.319 | -0.107 |
| predicted_RBI | 0.817 | -0.066 |
| predicted_SLG | 0.448 | 0.004 |
| predicted_SO | 2.003 | 0.017 |
AB rounded to 8 (raw=7.84), rates preserved: AVG=0.239 HR/AB=0.028
| 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.475 |
| predicted_3B | 0.000 | -0.258 |
| predicted_AB | 8.000 | 0.161 |
| predicted_AVG | 0.250 | 0.011 |
| predicted_BB | 1.000 | -0.043 |
| predicted_H | 2.000 | 0.128 |
| predicted_HR | 0.000 | -0.217 |
| predicted_OBP | 0.333 | 0.005 |
| predicted_R | 1.000 | -0.319 |
| predicted_RBI | 1.000 | 0.183 |
| predicted_SLG | 0.250 | -0.198 |
| predicted_SO | 2.000 | -0.003 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 2.000 | 2.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 3.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 22.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 4.000 | 0.000 | 5.000 | 0.1364 | 0.1364 | 0.1818 | 0.1364 | 0.0000 | 0.0000 | 0.0000 | 0.2273 |
| last_10 | 0.20 | 5 | - | 39.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 6.000 | 6.000 | 10.000 | 0.0769 | 0.2000 | 0.1026 | 0.0769 | 0.0000 | 0.0000 | 0.1538 | 0.2564 |
| season | 0.60 | 55 | - | 833.000 | 248.000 | 56.000 | 35.000 | 32.000 | 128.000 | 159.000 | 136.000 | 223.000 | 0.2977 | 0.3976 | 0.5642 | 0.2977 | 0.0384 | 0.1537 | 0.1633 | 0.2677 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7610 |
| predicted_3B | 0.3860 |
| predicted_AB | 12.5840 |
| predicted_AVG | 0.2543 |
| predicted_BB | 1.6180 |
| predicted_H | 3.2000 |
| predicted_HBP | 0.0910 |
| predicted_HR | 0.3640 |
| predicted_OBP | 0.3348 |
| predicted_R | 2.3340 |
| predicted_RBI | 1.4560 |
| predicted_SLG | 0.4630 |
| predicted_SO | 3.2460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2490 | 0.7610 | 0.4750 | model_form_blend |
| predicted_3B | 0.1560 | 0.3860 | 0.2575 | model_form_blend |
| predicted_AB | 4.0900 | 12.5840 | 7.8390 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2543 | 0.2458 | model_form_blend |
| predicted_BB | 0.6040 | 1.6180 | 1.0516 | model_form_blend |
| predicted_H | 0.9800 | 3.2000 | 1.9598 | model_form_blend |
| predicted_HBP | - | 0.0910 | 0.0910 | form_only |
| predicted_HR | 0.1200 | 0.3640 | 0.2277 | model_form_blend |
| predicted_OBP | 0.3270 | 0.3348 | 0.3304 | model_form_blend |
| predicted_R | 0.7070 | 2.3340 | 1.4251 | model_form_blend |
| predicted_RBI | 0.4300 | 1.4560 | 0.8828 | model_form_blend |
| predicted_SLG | 0.4290 | 0.4630 | 0.4440 | model_form_blend |
| predicted_SO | 0.9910 | 3.2460 | 1.9863 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 5 |
| AB | 5 |
| H | 3 |
| 2B | 2 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.298 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | RF |
| gameID | 20260531_ARI@SEA |
| game_type | full |
| mlbID | 682998 |
| playerID | 682998 |
| playerName | Corbin Carroll |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | ARI |
| teamID | 1 |
| game_date | 2026-05-31 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 12.9 |
| sl_woba | 0.396 |
| sl_xwoba | 0.372 |
| sl_xba | 0.27 |
| sl_xslg | 0.489 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 12.8 |
| sl_hard_hit_percent | 48.6 |
| sl_exit_velocity_avg | 91.2 |
| sl_launch_angle_avg | 12.4 |
| sl_whiff_percent | 28.1 |
| sl_swing_percent | 44.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.245 | 0.000 | 0.000 | Hitting_2B | 0.245 | 0.000 | -0.245 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.540 | 4.000 | 7.000 | Hitting_AB | 3.464 | 4.000 | 0.536 | 0.000 |
| predicted_AVG | 0.245 | 0.250 | 0.286 | Hitting_AVG | 0.277 | 0.000 | -0.027 | 0.250 |
| predicted_BB | 0.388 | 0.000 | 1.000 | Hitting_BB | 0.388 | 0.000 | -0.388 | 0.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.959 | 0.000 | 0.041 | 1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_OBP | 0.334 | 0.250 | 0.375 | Hitting_OBP | 0.360 | 0.000 | -0.110 | 0.250 |
| predicted_R | 0.577 | 0.000 | 1.000 | Hitting_R | 0.577 | 0.000 | -0.577 | 0.000 |
| predicted_RBI | 0.460 | 0.000 | 1.000 | Hitting_RBI | 0.587 | 0.000 | -0.587 | 0.000 |
| predicted_SLG | 0.400 | 0.250 | 0.286 | Hitting_SLG | 0.476 | 0.000 | -0.226 | 0.250 |
| predicted_SO | 0.709 | 0.000 | 2.000 | Hitting_SO | 0.709 | 3.000 | -0.709 | -3.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.5400 -> 4.0000 (boost 0.4600, better) |
| Biggest Deboost | predicted_SO: 0.7090 -> 0.0000 (deboost -0.7090, 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.5400 -> 6.7429 (boost 3.2029, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 0 | 4 | 0 | 4 | - | predicted_R: 1.1686 -> 1.0812 (deboost -0.0874, 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_SO: 1.4485 -> 2.0000 (boost 0.5515, worse) | predicted_2B: 0.4018 -> 0.0000 (deboost -0.4018, worse) | AB rounded to 7 (raw=6.74), rates preserved: AVG=0.259 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.0812 -> 1.0000 (deboost -0.0812, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3452 -> 0.3750 (boost 0.0298, better) | predicted_SLG: 0.4128 -> 0.2860 (deboost -0.1268, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.4128 (boost 0.1268, better) | predicted_OBP: 0.3750 -> 0.3452 (deboost -0.0298, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "571448",
"player_name": "Nolan Arenado",
"position": "3B",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.245,
"predicted_3B": 0.0,
"predicted_AB": 3.54,
"predicted_AVG": 0.245,
"predicted_BB": 0.388,
"predicted_H": 0.87,
"predicted_HR": 0.11,
"predicted_OBP": 0.334,
"predicted_R": 0.577,
"predicted_RBI": 0.46,
"predicted_SLG": 0.4,
"predicted_SO": 0.709
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4018,
"predicted_3B": 0.0009,
"predicted_AB": 6.7429,
"predicted_AVG": 0.2611,
"predicted_BB": 0.8957,
"predicted_H": 1.8278,
"predicted_HBP": 0.377,
"predicted_HR": 0.222,
"predicted_OBP": 0.3556,
"predicted_R": 1.1686,
"predicted_RBI": 0.8939,
"predicted_SLG": 0.417,
"predicted_SO": 1.4363
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.245,
"after": 0.4018,
"delta": 0.1568,
"percent_delta": 0.64,
"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.54,
"after": 6.7429,
"delta": 3.2029,
"percent_delta": 0.9048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2611,
"delta": 0.0161,
"percent_delta": 0.0657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.388,
"after": 0.8957,
"delta": 0.5077,
"percent_delta": 1.3085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 1.8278,
"delta": 0.9578,
"percent_delta": 1.1009,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.222,
"delta": 0.112,
"percent_delta": 1.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.3556,
"delta": 0.0216,
"percent_delta": 0.0647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.577,
"after": 1.1686,
"delta": 0.5916,
"percent_delta": 1.0253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.8939,
"delta": 0.4339,
"percent_delta": 0.9433,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4,
"after": 0.417,
"delta": 0.017,
"percent_delta": 0.0425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.709,
"after": 1.4363,
"delta": 0.7273,
"percent_delta": 1.0258,
"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.54,
"after": 6.7429,
"delta": 3.2029,
"percent_delta": 0.9048,
"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": 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.4018,
"predicted_3B": 0.0009,
"predicted_AB": 6.7429,
"predicted_AVG": 0.259,
"predicted_BB": 0.8881,
"predicted_H": 1.7463,
"predicted_HBP": 0.377,
"predicted_HR": 0.2112,
"predicted_OBP": 0.3452,
"predicted_R": 1.0812,
"predicted_RBI": 0.827,
"predicted_SLG": 0.4128,
"predicted_SO": 1.4485
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4018,
"after": 0.4018,
"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.7429,
"after": 6.7429,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2611,
"after": 0.259,
"delta": -0.0021,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.8957,
"after": 0.8881,
"delta": -0.0076,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8278,
"after": 1.7463,
"delta": -0.0815,
"percent_delta": -0.0446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.377,
"after": 0.377,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.222,
"after": 0.2112,
"delta": -0.0108,
"percent_delta": -0.0486,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3556,
"after": 0.3452,
"delta": -0.0104,
"percent_delta": -0.0292,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1686,
"after": 1.0812,
"delta": -0.0874,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8939,
"after": 0.827,
"delta": -0.0669,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.4128,
"delta": -0.0042,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.4363,
"after": 1.4485,
"delta": 0.0122,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.1686,
"after": 1.0812,
"delta": -0.0874,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.74), rates preserved: AVG=0.259 HR/AB=0.031",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4018,
"after": 0.0,
"delta": -0.4018,
"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.7429,
"after": 7.0,
"delta": 0.2571,
"percent_delta": 0.0381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8881,
"after": 1.0,
"delta": 0.1119,
"percent_delta": 0.126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7463,
"after": 2.0,
"delta": 0.2537,
"percent_delta": 0.1453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.377,
"after": 0.0,
"delta": -0.377,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2112,
"after": 0.0,
"delta": -0.2112,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.827,
"after": 1.0,
"delta": 0.173,
"percent_delta": 0.2092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4485,
"after": 2.0,
"delta": 0.5515,
"percent_delta": 0.3807,
"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.4485,
"after": 2.0,
"delta": 0.5515,
"percent_delta": 0.3807,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4018,
"after": 0.0,
"delta": -0.4018,
"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.0812,
"after": 1.0,
"delta": -0.0812,
"percent_delta": -0.0751,
"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.0812,
"after": 1.0,
"delta": -0.0812,
"percent_delta": -0.0751,
"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.259,
"after": 0.286,
"delta": 0.027,
"percent_delta": 0.1042,
"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.3452,
"after": 0.375,
"delta": 0.0298,
"percent_delta": 0.0863,
"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.4128,
"after": 0.286,
"delta": -0.1268,
"percent_delta": -0.3072,
"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.3452,
"after": 0.375,
"delta": 0.0298,
"percent_delta": 0.0863,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4128,
"after": 0.286,
"delta": -0.1268,
"percent_delta": -0.3072,
"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": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 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": 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.259,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3452,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4128,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.259,
"delta": -0.027,
"percent_delta": -0.0945,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3452,
"delta": -0.0298,
"percent_delta": -0.0794,
"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.4128,
"delta": 0.1268,
"percent_delta": 0.4434,
"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.4128,
"delta": 0.1268,
"percent_delta": 0.4434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3452,
"delta": -0.0298,
"percent_delta": -0.0794,
"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.245,
"after": 0.0,
"delta": -0.245,
"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.54,
"after": 4.0,
"delta": 0.46,
"percent_delta": 0.1299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.259,
"delta": 0.014,
"percent_delta": 0.0571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.388,
"after": 0.0,
"delta": -0.388,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 1.0,
"delta": 0.13,
"percent_delta": 0.1494,
"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.334,
"after": 0.3452,
"delta": 0.0112,
"percent_delta": 0.0335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.577,
"after": 0.0,
"delta": -0.577,
"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.4,
"after": 0.4128,
"delta": 0.0128,
"percent_delta": 0.032,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.709,
"after": 0.0,
"delta": -0.709,
"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.54,
"after": 4.0,
"delta": 0.46,
"percent_delta": 0.1299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.709,
"after": 0.0,
"delta": -0.709,
"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.245 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.540 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.388 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.334 | - |
| predicted_R | 0.577 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.400 | - |
| predicted_SO | 0.709 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.402 | 0.157 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.743 | 3.203 |
| predicted_AVG | 0.261 | 0.016 |
| predicted_BB | 0.896 | 0.508 |
| predicted_H | 1.828 | 0.958 |
| predicted_HBP | 0.377 | - |
| predicted_HR | 0.222 | 0.112 |
| predicted_OBP | 0.356 | 0.022 |
| predicted_R | 1.169 | 0.592 |
| predicted_RBI | 0.894 | 0.434 |
| predicted_SLG | 0.417 | 0.017 |
| predicted_SO | 1.436 | 0.727 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.402 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.743 | 0.000 |
| predicted_AVG | 0.259 | -0.002 |
| predicted_BB | 0.888 | -0.008 |
| predicted_H | 1.746 | -0.082 |
| predicted_HBP | 0.377 | 0.000 |
| predicted_HR | 0.211 | -0.011 |
| predicted_OBP | 0.345 | -0.010 |
| predicted_R | 1.081 | -0.087 |
| predicted_RBI | 0.827 | -0.067 |
| predicted_SLG | 0.413 | -0.004 |
| predicted_SO | 1.448 | 0.012 |
AB rounded to 7 (raw=6.74), rates preserved: AVG=0.259 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 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.402 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | 0.257 |
| predicted_AVG | 0.286 | 0.027 |
| predicted_BB | 1.000 | 0.112 |
| predicted_H | 2.000 | 0.254 |
| predicted_HR | 0.000 | -0.211 |
| predicted_OBP | 0.375 | 0.030 |
| predicted_R | 1.000 | -0.081 |
| predicted_RBI | 1.000 | 0.173 |
| predicted_SLG | 0.286 | -0.127 |
| predicted_SO | 2.000 | 0.552 |
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 | 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 | 3 | - | 11.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 3.000 | 3.000 | 0.3636 | 0.5333 | 0.3636 | 0.3636 | 0.0000 | 0.0000 | 0.2727 | 0.2727 |
| last_10 | 0.20 | 4 | - | 31.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 8.000 | 8.000 | 0.1290 | 0.3250 | 0.1290 | 0.1290 | 0.0000 | 0.0000 | 0.2581 | 0.2581 |
| season | 0.60 | 53 | - | 679.000 | 188.000 | 48.000 | 0.000 | 29.000 | 115.000 | 113.000 | 76.000 | 139.000 | 0.2769 | 0.3603 | 0.4757 | 0.2769 | 0.0427 | 0.1694 | 0.1119 | 0.2047 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6020 |
| predicted_3B | 0.0020 |
| predicted_AB | 10.8330 |
| predicted_AVG | 0.2816 |
| predicted_BB | 1.5440 |
| predicted_H | 3.0510 |
| predicted_HBP | 0.3770 |
| predicted_HR | 0.3650 |
| predicted_OBP | 0.3831 |
| predicted_R | 1.9240 |
| predicted_RBI | 1.4480 |
| predicted_SLG | 0.4386 |
| predicted_SO | 2.3650 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2450 | 0.6020 | 0.4018 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.5400 | 10.8330 | 6.7429 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2816 | 0.2611 | model_form_blend |
| predicted_BB | 0.3880 | 1.5440 | 0.8957 | model_form_blend |
| predicted_H | 0.8700 | 3.0510 | 1.8278 | model_form_blend |
| predicted_HBP | - | 0.3770 | 0.3770 | form_only |
| predicted_HR | 0.1100 | 0.3650 | 0.2220 | model_form_blend |
| predicted_OBP | 0.3340 | 0.3831 | 0.3556 | model_form_blend |
| predicted_R | 0.5770 | 1.9240 | 1.1686 | model_form_blend |
| predicted_RBI | 0.4600 | 1.4480 | 0.8939 | model_form_blend |
| predicted_SLG | 0.4000 | 0.4386 | 0.4170 | model_form_blend |
| predicted_SO | 0.7090 | 2.3650 | 1.4363 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 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.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 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 | 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 | 20260531_ARI@SEA |
| game_type | full |
| mlbID | 571448 |
| playerID | 571448 |
| playerName | Nolan Arenado |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | ARI |
| teamID | 1 |
| game_date | 2026-05-31 |
| sl_k_percent | 17.9 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.36 |
| sl_xwoba | 0.339 |
| sl_xba | 0.271 |
| sl_xslg | 0.416 |
| sl_sweet_spot_percent | 38.4 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 31.9 |
| sl_exit_velocity_avg | 85.6 |
| sl_launch_angle_avg | 19.3 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 44.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.204 | 1.000 | 0.000 | Hitting_2B | 0.203 | 0.000 | 0.797 | 1.000 |
| predicted_3B | 0.040 | 0.000 | 0.000 | Hitting_3B | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_AB | 4.560 | 4.000 | 9.000 | Hitting_AB | 4.225 | 3.000 | -0.225 | 1.000 |
| predicted_AVG | 0.238 | 0.250 | 0.222 | Hitting_AVG | 0.276 | 0.000 | -0.026 | 0.250 |
| predicted_BB | 0.301 | 1.000 | 1.000 | Hitting_BB | 0.304 | 1.000 | 0.696 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.090 | 1.000 | 2.000 | Hitting_H | 1.167 | 0.000 | -0.167 | 1.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.176 | 0.000 | -0.176 | 0.000 |
| predicted_OBP | 0.318 | 0.400 | 0.300 | Hitting_OBP | 0.323 | 0.200 | 0.077 | 0.200 |
| predicted_R | 0.664 | 1.000 | 1.000 | Hitting_R | 0.661 | 0.000 | 0.339 | 1.000 |
| predicted_RBI | 0.660 | 0.000 | 1.000 | Hitting_RBI | 0.648 | 1.000 | -0.648 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.436 | 0.500 | 0.222 | Hitting_SLG | 0.468 | 0.000 | 0.032 | 0.500 |
| predicted_SO | 0.699 | 1.000 | 1.000 | Hitting_SO | 0.696 | 0.000 | 0.304 | 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.2040 -> 1.0000 (boost 0.7960, better) |
| Biggest Deboost | predicted_RBI: 0.6600 -> 0.0000 (deboost -0.6600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 9 | 1 | 8 | 2 | predicted_AB: 4.5600 -> 8.9598 (boost 4.3998, better) | predicted_SLG: 0.4360 -> 0.4240 (deboost -0.0120, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 0 | 6 | 0 | 6 | - | predicted_H: 2.2642 -> 2.1632 (deboost -0.1010, 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_BB: 0.7057 -> 1.0000 (boost 0.2943, better) | predicted_SO: 1.3576 -> 1.0000 (deboost -0.3576, better) | AB rounded to 9 (raw=8.96), rates preserved: AVG=0.241 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.0532 -> 1.0000 (deboost -0.0532, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3937 -> 0.2220 (deboost -0.1717, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 1 | 3 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 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.3937 (boost 0.1717, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "606466",
"player_name": "Ketel Marte",
"position": "2B",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.204,
"predicted_3B": 0.04,
"predicted_AB": 4.56,
"predicted_AVG": 0.238,
"predicted_BB": 0.301,
"predicted_H": 1.09,
"predicted_HR": 0.17,
"predicted_OBP": 0.318,
"predicted_R": 0.664,
"predicted_RBI": 0.66,
"predicted_SLG": 0.436,
"predicted_SO": 0.699
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3471,
"predicted_3B": 0.0669,
"predicted_AB": 8.9598,
"predicted_AVG": 0.2469,
"predicted_BB": 0.7118,
"predicted_H": 2.2642,
"predicted_HBP": 0.004,
"predicted_HR": 0.3096,
"predicted_OBP": 0.3157,
"predicted_R": 1.1384,
"predicted_RBI": 1.202,
"predicted_SLG": 0.424,
"predicted_SO": 1.3462
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.204,
"after": 0.3471,
"delta": 0.1431,
"percent_delta": 0.7015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.04,
"after": 0.0669,
"delta": 0.0269,
"percent_delta": 0.6725,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.56,
"after": 8.9598,
"delta": 4.3998,
"percent_delta": 0.9649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2469,
"delta": 0.0089,
"percent_delta": 0.0374,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.301,
"after": 0.7118,
"delta": 0.4108,
"percent_delta": 1.3648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 2.2642,
"delta": 1.1742,
"percent_delta": 1.0772,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.3096,
"delta": 0.1396,
"percent_delta": 0.8212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3157,
"delta": -0.0023,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.664,
"after": 1.1384,
"delta": 0.4744,
"percent_delta": 0.7145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 1.202,
"delta": 0.542,
"percent_delta": 0.8212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.436,
"after": 0.424,
"delta": -0.012,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.699,
"after": 1.3462,
"delta": 0.6472,
"percent_delta": 0.9259,
"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.56,
"after": 8.9598,
"delta": 4.3998,
"percent_delta": 0.9649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.436,
"after": 0.424,
"delta": -0.012,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"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.3471,
"predicted_3B": 0.0669,
"predicted_AB": 8.9598,
"predicted_AVG": 0.2414,
"predicted_BB": 0.7057,
"predicted_H": 2.1632,
"predicted_HBP": 0.004,
"predicted_HR": 0.2946,
"predicted_OBP": 0.2968,
"predicted_R": 1.0532,
"predicted_RBI": 1.1121,
"predicted_SLG": 0.3937,
"predicted_SO": 1.3576
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3471,
"after": 0.3471,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0669,
"after": 0.0669,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.9598,
"after": 8.9598,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2469,
"after": 0.2414,
"delta": -0.0055,
"percent_delta": -0.0223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7118,
"after": 0.7057,
"delta": -0.0061,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.2642,
"after": 2.1632,
"delta": -0.101,
"percent_delta": -0.0446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3096,
"after": 0.2946,
"delta": -0.015,
"percent_delta": -0.0484,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3157,
"after": 0.2968,
"delta": -0.0189,
"percent_delta": -0.0599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1384,
"after": 1.0532,
"delta": -0.0852,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.202,
"after": 1.1121,
"delta": -0.0899,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.424,
"after": 0.3937,
"delta": -0.0303,
"percent_delta": -0.0715,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3462,
"after": 1.3576,
"delta": 0.0114,
"percent_delta": 0.0085,
"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.2642,
"after": 2.1632,
"delta": -0.101,
"percent_delta": -0.0446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=8.96), rates preserved: AVG=0.241 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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3471,
"after": 0.0,
"delta": -0.3471,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0669,
"after": 0.0,
"delta": -0.0669,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 8.9598,
"after": 9.0,
"delta": 0.0402,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.7057,
"after": 1.0,
"delta": 0.2943,
"percent_delta": 0.417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.1632,
"after": 2.0,
"delta": -0.1632,
"percent_delta": -0.0754,
"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.2946,
"after": 0.0,
"delta": -0.2946,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1121,
"after": 1.0,
"delta": -0.1121,
"percent_delta": -0.1008,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3576,
"after": 1.0,
"delta": -0.3576,
"percent_delta": -0.2634,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.7057,
"after": 1.0,
"delta": 0.2943,
"percent_delta": 0.417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.3576,
"after": 1.0,
"delta": -0.3576,
"percent_delta": -0.2634,
"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": 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.0532,
"after": 1.0,
"delta": -0.0532,
"percent_delta": -0.0505,
"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.0532,
"after": 1.0,
"delta": -0.0532,
"percent_delta": -0.0505,
"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.2414,
"after": 0.222,
"delta": -0.0194,
"percent_delta": -0.0804,
"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.2968,
"after": 0.3,
"delta": 0.0032,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.3937,
"after": 0.222,
"delta": -0.1717,
"percent_delta": -0.4361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3937,
"after": 0.222,
"delta": -0.1717,
"percent_delta": -0.4361,
"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": 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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2414,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2968,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3937,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2414,
"delta": 0.0194,
"percent_delta": 0.0875,
"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.3,
"after": 0.2968,
"delta": -0.0032,
"percent_delta": -0.0106,
"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.3937,
"delta": 0.1717,
"percent_delta": 0.7736,
"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.3937,
"delta": 0.1717,
"percent_delta": 0.7736,
"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": 1.0,
"delta": 0.796,
"percent_delta": 3.902,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.56,
"after": 4.0,
"delta": -0.56,
"percent_delta": -0.1228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2414,
"delta": 0.0034,
"percent_delta": 0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.301,
"after": 1.0,
"delta": 0.699,
"percent_delta": 2.3223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 1.0,
"delta": -0.09,
"percent_delta": -0.0826,
"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.318,
"after": 0.2968,
"delta": -0.0212,
"percent_delta": -0.0667,
"direction": "deboost",
"projection_effect": "worse",
"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.66,
"after": 0.0,
"delta": -0.66,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.436,
"after": 0.3937,
"delta": -0.0423,
"percent_delta": -0.097,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.699,
"after": 1.0,
"delta": 0.301,
"percent_delta": 0.4306,
"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.204,
"after": 1.0,
"delta": 0.796,
"percent_delta": 3.902,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.66,
"after": 0.0,
"delta": -0.66,
"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.040 | - |
| predicted_AB | 4.560 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.301 | - |
| predicted_H | 1.090 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.664 | - |
| predicted_RBI | 0.660 | - |
| predicted_SLG | 0.436 | - |
| predicted_SO | 0.699 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.347 | 0.143 |
| predicted_3B | 0.067 | 0.027 |
| predicted_AB | 8.960 | 4.400 |
| predicted_AVG | 0.247 | 0.009 |
| predicted_BB | 0.712 | 0.411 |
| predicted_H | 2.264 | 1.174 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.310 | 0.140 |
| predicted_OBP | 0.316 | -0.002 |
| predicted_R | 1.138 | 0.474 |
| predicted_RBI | 1.202 | 0.542 |
| predicted_SLG | 0.424 | -0.012 |
| predicted_SO | 1.346 | 0.647 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.347 | 0.000 |
| predicted_3B | 0.067 | 0.000 |
| predicted_AB | 8.960 | 0.000 |
| predicted_AVG | 0.241 | -0.006 |
| predicted_BB | 0.706 | -0.006 |
| predicted_H | 2.163 | -0.101 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.295 | -0.015 |
| predicted_OBP | 0.297 | -0.019 |
| predicted_R | 1.053 | -0.085 |
| predicted_RBI | 1.112 | -0.090 |
| predicted_SLG | 0.394 | -0.030 |
| predicted_SO | 1.358 | 0.011 |
AB rounded to 9 (raw=8.96), rates preserved: AVG=0.241 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 | 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.347 |
| predicted_3B | 0.000 | -0.067 |
| predicted_AB | 9.000 | 0.040 |
| predicted_AVG | 0.222 | -0.019 |
| predicted_BB | 1.000 | 0.294 |
| predicted_H | 2.000 | -0.163 |
| predicted_HR | 0.000 | -0.295 |
| predicted_OBP | 0.300 | 0.003 |
| predicted_R | 1.000 | -0.053 |
| predicted_RBI | 1.000 | -0.112 |
| predicted_SLG | 0.222 | -0.172 |
| predicted_SO | 1.000 | -0.358 |
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 | 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 | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 21.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 3.000 | 2.000 | 0.1905 | 0.2800 | 0.1905 | 0.1905 | 0.0000 | 0.0476 | 0.1429 | 0.0952 |
| last_10 | 0.20 | 5 | - | 46.000 | 12.000 | 0.000 | 0.000 | 2.000 | 5.000 | 2.000 | 3.000 | 4.000 | 0.2609 | 0.3000 | 0.3913 | 0.2609 | 0.0435 | 0.1087 | 0.0652 | 0.0870 |
| season | 0.60 | 54 | - | 959.000 | 265.000 | 46.000 | 9.000 | 40.000 | 147.000 | 150.000 | 68.000 | 158.000 | 0.2763 | 0.3224 | 0.4682 | 0.2763 | 0.0417 | 0.1533 | 0.0709 | 0.1648 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5280 |
| predicted_3B | 0.1010 |
| predicted_AB | 14.5200 |
| predicted_AVG | 0.2581 |
| predicted_BB | 1.2310 |
| predicted_H | 3.7480 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.4860 |
| predicted_OBP | 0.3128 |
| predicted_R | 1.7380 |
| predicted_RBI | 1.8870 |
| predicted_SLG | 0.4088 |
| predicted_SO | 2.1640 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2040 | 0.5280 | 0.3471 | model_form_blend |
| predicted_3B | 0.0400 | 0.1010 | 0.0669 | model_form_blend |
| predicted_AB | 4.5600 | 14.5200 | 8.9598 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2581 | 0.2469 | model_form_blend |
| predicted_BB | 0.3010 | 1.2310 | 0.7118 | model_form_blend |
| predicted_H | 1.0900 | 3.7480 | 2.2642 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.1700 | 0.4860 | 0.3096 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3128 | 0.3157 | model_form_blend |
| predicted_R | 0.6640 | 1.7380 | 1.1384 | model_form_blend |
| predicted_RBI | 0.6600 | 1.8870 | 1.2020 | model_form_blend |
| predicted_SLG | 0.4360 | 0.4088 | 0.4240 | model_form_blend |
| predicted_SO | 0.6990 | 2.1640 | 1.3462 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 227 |
| Season rows before report date | 227 |
| Report year | 2026 |
| Profile rows used | 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 | 5 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.276 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| 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 | 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 | 20260531_ARI@SEA |
| game_type | full |
| mlbID | 606466 |
| playerID | 606466 |
| playerName | Ketel Marte |
| pos | 2B |
| started | True |
| startingPosition | DH |
| team | ARI |
| teamID | 1 |
| game_date | 2026-05-31 |
| sl_k_percent | 15.2 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.342 |
| sl_xwoba | 0.378 |
| sl_xba | 0.307 |
| sl_xslg | 0.511 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 10.9 |
| sl_hard_hit_percent | 44.8 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 9.2 |
| sl_whiff_percent | 21.6 |
| sl_swing_percent | 48.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.136 | 0.000 | 0.000 | Hitting_2B | 0.136 | 0.000 | -0.136 | 0.000 |
| predicted_3B | 0.068 | 0.000 | 0.000 | Hitting_3B | 0.068 | 0.000 | -0.068 | 0.000 |
| predicted_AB | 3.800 | 4.000 | 7.000 | Hitting_AB | 3.527 | 4.000 | 0.473 | 0.000 |
| predicted_AVG | 0.231 | 0.250 | 0.286 | Hitting_AVG | 0.224 | 0.000 | 0.026 | 0.250 |
| predicted_BB | 0.650 | 0.000 | 1.000 | Hitting_BB | 0.650 | 0.000 | -0.650 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.055 | 0.000 | -0.055 | 0.000 |
| predicted_H | 0.880 | 1.000 | 2.000 | Hitting_H | 0.791 | 0.000 | 0.209 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_OBP | 0.317 | 0.250 | 0.375 | Hitting_OBP | 0.341 | 0.000 | -0.091 | 0.250 |
| predicted_R | 0.486 | 1.000 | 1.000 | Hitting_R | 0.486 | 0.000 | 0.514 | 1.000 |
| predicted_RBI | 0.450 | 2.000 | 1.000 | Hitting_RBI | 0.364 | 0.000 | 1.636 | 2.000 |
| predicted_SLG | 0.367 | 0.250 | 0.286 | Hitting_SLG | 0.340 | 0.000 | -0.090 | 0.250 |
| predicted_SO | 0.564 | 1.000 | 1.000 | Hitting_SO | 0.564 | 0.000 | 0.436 | 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.4500 -> 2.0000 (boost 1.5500, better) |
| Biggest Deboost | predicted_BB: 0.6500 -> 0.0000 (deboost -0.6500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.8000 -> 7.2161 (boost 3.4161, 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_R: 1.2259 -> 1.1342 (deboost -0.0917, 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_H: 1.6433 -> 2.0000 (boost 0.3567, better) | predicted_HBP: 0.3720 -> 0.0000 (deboost -0.3720, worse) | AB rounded to 7 (raw=7.22), rates preserved: AVG=0.228 HR/AB=0.023 |
| 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 | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2277 -> 0.2860 (boost 0.0583, better) | predicted_SLG: 0.3674 -> 0.2860 (deboost -0.0814, 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_RBI: 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 |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.3674 (boost 0.0814, better) | predicted_AVG: 0.2860 -> 0.2277 (deboost -0.0583, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672695",
"player_name": "Geraldo Perdomo",
"position": "SS",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.136,
"predicted_3B": 0.068,
"predicted_AB": 3.8,
"predicted_AVG": 0.231,
"predicted_BB": 0.65,
"predicted_H": 0.88,
"predicted_HR": 0.1,
"predicted_OBP": 0.317,
"predicted_R": 0.486,
"predicted_RBI": 0.45,
"predicted_SLG": 0.367,
"predicted_SO": 0.564
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2917,
"predicted_3B": 0.1103,
"predicted_AB": 7.2161,
"predicted_AVG": 0.2355,
"predicted_BB": 1.1223,
"predicted_H": 1.72,
"predicted_HBP": 0.372,
"predicted_HR": 0.1736,
"predicted_OBP": 0.329,
"predicted_R": 1.2259,
"predicted_RBI": 0.8623,
"predicted_SLG": 0.3733,
"predicted_SO": 1.191
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.136,
"after": 0.2917,
"delta": 0.1557,
"percent_delta": 1.1449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.068,
"after": 0.1103,
"delta": 0.0423,
"percent_delta": 0.6221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8,
"after": 7.2161,
"delta": 3.4161,
"percent_delta": 0.899,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2355,
"delta": 0.0045,
"percent_delta": 0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.65,
"after": 1.1223,
"delta": 0.4723,
"percent_delta": 0.7266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 1.72,
"delta": 0.84,
"percent_delta": 0.9545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1736,
"delta": 0.0736,
"percent_delta": 0.736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.329,
"delta": 0.012,
"percent_delta": 0.0379,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.486,
"after": 1.2259,
"delta": 0.7399,
"percent_delta": 1.5224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.8623,
"delta": 0.4123,
"percent_delta": 0.9162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3733,
"delta": 0.0063,
"percent_delta": 0.0172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.564,
"after": 1.191,
"delta": 0.627,
"percent_delta": 1.1117,
"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.8,
"after": 7.2161,
"delta": 3.4161,
"percent_delta": 0.899,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.2917,
"predicted_3B": 0.1103,
"predicted_AB": 7.2161,
"predicted_AVG": 0.2277,
"predicted_BB": 1.1128,
"predicted_H": 1.6433,
"predicted_HBP": 0.372,
"predicted_HR": 0.1652,
"predicted_OBP": 0.3309,
"predicted_R": 1.1342,
"predicted_RBI": 0.7978,
"predicted_SLG": 0.3674,
"predicted_SO": 1.2011
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2917,
"after": 0.2917,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1103,
"after": 0.1103,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.2161,
"after": 7.2161,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2355,
"after": 0.2277,
"delta": -0.0078,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1223,
"after": 1.1128,
"delta": -0.0095,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.72,
"after": 1.6433,
"delta": -0.0767,
"percent_delta": -0.0446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.372,
"after": 0.372,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1736,
"after": 0.1652,
"delta": -0.0084,
"percent_delta": -0.0484,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.329,
"after": 0.3309,
"delta": 0.0019,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.2259,
"after": 1.1342,
"delta": -0.0917,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8623,
"after": 0.7978,
"delta": -0.0645,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3733,
"after": 0.3674,
"delta": -0.0059,
"percent_delta": -0.0158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.191,
"after": 1.2011,
"delta": 0.0101,
"percent_delta": 0.0085,
"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": 1.2259,
"after": 1.1342,
"delta": -0.0917,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.22), rates preserved: AVG=0.228 HR/AB=0.023",
"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.2917,
"after": 0.0,
"delta": -0.2917,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1103,
"after": 0.0,
"delta": -0.1103,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.2161,
"after": 7.0,
"delta": -0.2161,
"percent_delta": -0.0299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1128,
"after": 1.0,
"delta": -0.1128,
"percent_delta": -0.1014,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6433,
"after": 2.0,
"delta": 0.3567,
"percent_delta": 0.2171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.372,
"after": 0.0,
"delta": -0.372,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1652,
"after": 0.0,
"delta": -0.1652,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7978,
"after": 1.0,
"delta": 0.2022,
"percent_delta": 0.2534,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2011,
"after": 1.0,
"delta": -0.2011,
"percent_delta": -0.1674,
"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": 1.6433,
"after": 2.0,
"delta": 0.3567,
"percent_delta": 0.2171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.372,
"after": 0.0,
"delta": -0.372,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.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": 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.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": 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.2277,
"after": 0.286,
"delta": 0.0583,
"percent_delta": 0.256,
"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.3309,
"after": 0.375,
"delta": 0.0441,
"percent_delta": 0.1333,
"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.3674,
"after": 0.286,
"delta": -0.0814,
"percent_delta": -0.2216,
"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.2277,
"after": 0.286,
"delta": 0.0583,
"percent_delta": 0.256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3674,
"after": 0.286,
"delta": -0.0814,
"percent_delta": -0.2216,
"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": 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": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2277,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3309,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3674,
"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.286,
"after": 0.2277,
"delta": -0.0583,
"percent_delta": -0.2038,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3309,
"delta": -0.0441,
"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": 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.3674,
"delta": 0.0814,
"percent_delta": 0.2846,
"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.3674,
"delta": 0.0814,
"percent_delta": 0.2846,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2277,
"delta": -0.0583,
"percent_delta": -0.2038,
"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.136,
"after": 0.0,
"delta": -0.136,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.068,
"after": 0.0,
"delta": -0.068,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.8,
"after": 4.0,
"delta": 0.2,
"percent_delta": 0.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2277,
"delta": -0.0033,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"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.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3309,
"delta": 0.0139,
"percent_delta": 0.0438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.486,
"after": 1.0,
"delta": 0.514,
"percent_delta": 1.0576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 2.0,
"delta": 1.55,
"percent_delta": 3.4444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3674,
"delta": 0.0004,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.564,
"after": 1.0,
"delta": 0.436,
"percent_delta": 0.773,
"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.45,
"after": 2.0,
"delta": 1.55,
"percent_delta": 3.4444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"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": "boosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.136 | - |
| predicted_3B | 0.068 | - |
| predicted_AB | 3.800 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.650 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.486 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.367 | - |
| predicted_SO | 0.564 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.292 | 0.156 |
| predicted_3B | 0.110 | 0.042 |
| predicted_AB | 7.216 | 3.416 |
| predicted_AVG | 0.235 | 0.004 |
| predicted_BB | 1.122 | 0.472 |
| predicted_H | 1.720 | 0.840 |
| predicted_HBP | 0.372 | - |
| predicted_HR | 0.174 | 0.074 |
| predicted_OBP | 0.329 | 0.012 |
| predicted_R | 1.226 | 0.740 |
| predicted_RBI | 0.862 | 0.412 |
| predicted_SLG | 0.373 | 0.006 |
| predicted_SO | 1.191 | 0.627 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.292 | 0.000 |
| predicted_3B | 0.110 | 0.000 |
| predicted_AB | 7.216 | 0.000 |
| predicted_AVG | 0.228 | -0.008 |
| predicted_BB | 1.113 | -0.010 |
| predicted_H | 1.643 | -0.077 |
| predicted_HBP | 0.372 | 0.000 |
| predicted_HR | 0.165 | -0.008 |
| predicted_OBP | 0.331 | 0.002 |
| predicted_R | 1.134 | -0.092 |
| predicted_RBI | 0.798 | -0.065 |
| predicted_SLG | 0.367 | -0.006 |
| predicted_SO | 1.201 | 0.010 |
AB rounded to 7 (raw=7.22), rates preserved: AVG=0.228 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.292 |
| predicted_3B | 0.000 | -0.110 |
| predicted_AB | 7.000 | -0.216 |
| predicted_AVG | 0.286 | 0.058 |
| predicted_BB | 1.000 | -0.113 |
| predicted_H | 2.000 | 0.357 |
| predicted_HR | 0.000 | -0.165 |
| predicted_OBP | 0.375 | 0.044 |
| predicted_R | 1.000 | -0.134 |
| predicted_RBI | 1.000 | 0.202 |
| predicted_SLG | 0.286 | -0.081 |
| predicted_SO | 1.000 | -0.201 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 17.000 | 5.000 | 1.000 | 0.000 | 1.000 | 3.000 | 6.000 | 1.000 | 3.000 | 0.2941 | 0.3636 | 0.5294 | 0.2941 | 0.0588 | 0.1765 | 0.0588 | 0.1765 |
| last_10 | 0.20 | 5 | - | 36.000 | 10.000 | 1.000 | 0.000 | 1.000 | 5.000 | 11.000 | 1.000 | 11.000 | 0.2778 | 0.3333 | 0.3889 | 0.2778 | 0.0278 | 0.1389 | 0.0278 | 0.3056 |
| season | 0.60 | 55 | - | 776.000 | 174.000 | 30.000 | 15.000 | 10.000 | 80.000 | 107.000 | 143.000 | 124.000 | 0.2242 | 0.3411 | 0.3402 | 0.2242 | 0.0129 | 0.1031 | 0.1843 | 0.1598 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4890 |
| predicted_3B | 0.1640 |
| predicted_AB | 11.5470 |
| predicted_AVG | 0.2411 |
| predicted_BB | 1.7210 |
| predicted_H | 2.7850 |
| predicted_HBP | 0.3720 |
| predicted_HR | 0.2670 |
| predicted_OBP | 0.3442 |
| predicted_R | 2.1640 |
| predicted_RBI | 1.3850 |
| predicted_SLG | 0.3813 |
| predicted_SO | 1.9860 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1360 | 0.4890 | 0.2917 | model_form_blend |
| predicted_3B | 0.0680 | 0.1640 | 0.1103 | model_form_blend |
| predicted_AB | 3.8000 | 11.5470 | 7.2161 | model_form_blend |
| predicted_AVG | 0.2310 | 0.2411 | 0.2355 | model_form_blend |
| predicted_BB | 0.6500 | 1.7210 | 1.1223 | model_form_blend |
| predicted_H | 0.8800 | 2.7850 | 1.7200 | model_form_blend |
| predicted_HBP | - | 0.3720 | 0.3720 | form_only |
| predicted_HR | 0.1000 | 0.2670 | 0.1736 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3442 | 0.3290 | model_form_blend |
| predicted_R | 0.4860 | 2.1640 | 1.2259 | model_form_blend |
| predicted_RBI | 0.4500 | 1.3850 | 0.8623 | model_form_blend |
| predicted_SLG | 0.3670 | 0.3813 | 0.3733 | model_form_blend |
| predicted_SO | 0.5640 | 1.9860 | 1.1910 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 220 |
| Season rows before report date | 220 |
| Report year | 2026 |
| Profile rows used | 220 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.224 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260531_ARI@SEA |
| game_type | full |
| mlbID | 672695 |
| playerID | 672695 |
| playerName | Geraldo Perdomo |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | ARI |
| teamID | 1 |
| game_date | 2026-05-31 |
| sl_k_percent | 13.0 |
| sl_bb_percent | 14.3 |
| sl_woba | 0.315 |
| sl_xwoba | 0.324 |
| sl_xba | 0.248 |
| sl_xslg | 0.331 |
| sl_sweet_spot_percent | 34.3 |
| sl_barrel_batted_rate | 3.6 |
| sl_hard_hit_percent | 31.3 |
| sl_exit_velocity_avg | 87.2 |
| sl_launch_angle_avg | 12.4 |
| sl_whiff_percent | 11.1 |
| sl_swing_percent | 39.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.000 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.100 | 2.000 | 4.000 | Hitting_AB | 3.000 | 4.000 | -1.000 | -2.000 |
| predicted_AVG | 0.239 | 0.000 | 0.250 | Hitting_AVG | 0.167 | 0.250 | -0.167 | -0.250 |
| predicted_BB | 1.000 | 2.000 | 1.000 | Hitting_BB | 1.000 | 0.000 | 1.000 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.740 | 0.000 | 1.000 | Hitting_H | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.321 | 0.500 | 0.400 | Hitting_OBP | 0.375 | 0.250 | 0.125 | 0.250 |
| predicted_R | 0.500 | 0.000 | 0.000 | Hitting_R | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 1.000 | Hitting_RBI | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_SLG | 0.356 | 0.000 | 0.250 | Hitting_SLG | 0.167 | 0.250 | -0.167 | -0.250 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Hitting_SO | 1.000 | 2.000 | 0.000 | -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 | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 1.0000 -> 2.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_AB: 3.1000 -> 2.0000 (deboost -1.1000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 4 | 2 | 3 | 3 | predicted_AB: 3.1000 -> 4.1540 (boost 1.0540, better) | predicted_BB: 1.0000 -> 0.8822 (deboost -0.1178, 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.3165 -> 0.3612 (boost 0.0447, better) | predicted_SLG: 0.3425 -> 0.3051 (deboost -0.0374, 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_RBI: 0.6129 -> 1.0000 (boost 0.3871, better) | predicted_SO: 1.3787 -> 1.0000 (deboost -0.3787, better) | AB rounded to 4 (raw=4.15), rates preserved: AVG=0.227 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4883 -> 0.0000 (deboost -0.4883, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3612 -> 0.4000 (boost 0.0388, better) | predicted_SLG: 0.3051 -> 0.2500 (deboost -0.0551, 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: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 2.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3051 (boost 0.0551, better) | predicted_OBP: 0.4000 -> 0.3612 (deboost -0.0388, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656976",
"player_name": "Pavin Smith",
"position": "DH",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.1,
"predicted_AVG": 0.239,
"predicted_BB": 1.0,
"predicted_H": 0.74,
"predicted_HR": 0.09,
"predicted_OBP": 0.321,
"predicted_R": 0.5,
"predicted_RBI": 0.44,
"predicted_SLG": 0.356,
"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.0475,
"predicted_3B": 0.0037,
"predicted_AB": 4.154,
"predicted_AVG": 0.238,
"predicted_BB": 0.8822,
"predicted_H": 0.9855,
"predicted_HBP": 0.029,
"predicted_HR": 0.0949,
"predicted_OBP": 0.3165,
"predicted_R": 0.5278,
"predicted_RBI": 0.6624,
"predicted_SLG": 0.3425,
"predicted_SO": 1.3671
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0475,
"delta": 0.0475,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0037,
"delta": 0.0037,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1,
"after": 4.154,
"delta": 1.054,
"percent_delta": 0.34,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.238,
"delta": -0.001,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.8822,
"delta": -0.1178,
"percent_delta": -0.1178,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 0.9855,
"delta": 0.2455,
"percent_delta": 0.3318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0949,
"delta": 0.0049,
"percent_delta": 0.0544,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3165,
"delta": -0.0045,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.5278,
"delta": 0.0278,
"percent_delta": 0.0556,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.6624,
"delta": 0.2224,
"percent_delta": 0.5055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.3425,
"delta": -0.0135,
"percent_delta": -0.0379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.3671,
"delta": 0.3671,
"percent_delta": 0.3671,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.1,
"after": 4.154,
"delta": 1.054,
"percent_delta": 0.34,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.8822,
"delta": -0.1178,
"percent_delta": -0.1178,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 2,
"last_10": 2,
"season": 2
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0475,
"predicted_3B": 0.0037,
"predicted_AB": 4.154,
"predicted_AVG": 0.2267,
"predicted_BB": 0.8747,
"predicted_H": 0.9415,
"predicted_HBP": 0.029,
"predicted_HR": 0.0903,
"predicted_OBP": 0.3612,
"predicted_R": 0.4883,
"predicted_RBI": 0.6129,
"predicted_SLG": 0.3051,
"predicted_SO": 1.3787
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0475,
"after": 0.0475,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0037,
"after": 0.0037,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.154,
"after": 4.154,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2267,
"delta": -0.0113,
"percent_delta": -0.0475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8822,
"after": 0.8747,
"delta": -0.0075,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9855,
"after": 0.9415,
"delta": -0.044,
"percent_delta": -0.0446,
"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.0949,
"after": 0.0903,
"delta": -0.0046,
"percent_delta": -0.0485,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3165,
"after": 0.3612,
"delta": 0.0447,
"percent_delta": 0.1412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5278,
"after": 0.4883,
"delta": -0.0395,
"percent_delta": -0.0748,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6624,
"after": 0.6129,
"delta": -0.0495,
"percent_delta": -0.0747,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3425,
"after": 0.3051,
"delta": -0.0374,
"percent_delta": -0.1092,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3671,
"after": 1.3787,
"delta": 0.0116,
"percent_delta": 0.0085,
"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.3165,
"after": 0.3612,
"delta": 0.0447,
"percent_delta": 0.1412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3425,
"after": 0.3051,
"delta": -0.0374,
"percent_delta": -0.1092,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.15), rates preserved: AVG=0.227 HR/AB=0.022",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0475,
"after": 0.0,
"delta": -0.0475,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0037,
"after": 0.0,
"delta": -0.0037,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.154,
"after": 4.0,
"delta": -0.154,
"percent_delta": -0.0371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8747,
"after": 1.0,
"delta": 0.1253,
"percent_delta": 0.1432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9415,
"after": 1.0,
"delta": 0.0585,
"percent_delta": 0.0621,
"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.0903,
"after": 0.0,
"delta": -0.0903,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6129,
"after": 1.0,
"delta": 0.3871,
"percent_delta": 0.6316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3787,
"after": 1.0,
"delta": -0.3787,
"percent_delta": -0.2747,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6129,
"after": 1.0,
"delta": 0.3871,
"percent_delta": 0.6316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.3787,
"after": 1.0,
"delta": -0.3787,
"percent_delta": -0.2747,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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": 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.4883,
"after": 0.0,
"delta": -0.4883,
"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.4883,
"after": 0.0,
"delta": -0.4883,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2267,
"after": 0.25,
"delta": 0.0233,
"percent_delta": 0.1028,
"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.3612,
"after": 0.4,
"delta": 0.0388,
"percent_delta": 0.1074,
"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.3051,
"after": 0.25,
"delta": -0.0551,
"percent_delta": -0.1806,
"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.3612,
"after": 0.4,
"delta": 0.0388,
"percent_delta": 0.1074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3051,
"after": 0.25,
"delta": -0.0551,
"percent_delta": -0.1806,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 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": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_AVG": 0.2267,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3612,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3051,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2267,
"delta": -0.0233,
"percent_delta": -0.0934,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3612,
"delta": -0.0388,
"percent_delta": -0.0971,
"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.3051,
"delta": 0.0551,
"percent_delta": 0.2203,
"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.3051,
"delta": 0.0551,
"percent_delta": 0.2203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3612,
"delta": -0.0388,
"percent_delta": -0.0971,
"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.1,
"after": 2.0,
"delta": -1.1,
"percent_delta": -0.3548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2267,
"delta": -0.0123,
"percent_delta": -0.0515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3612,
"delta": 0.0402,
"percent_delta": 0.1252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.3051,
"delta": -0.0509,
"percent_delta": -0.143,
"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": 2,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.1,
"after": 2.0,
"delta": -1.1,
"percent_delta": -0.3548,
"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.100 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 1.000 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.356 | - |
| 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.048 | 0.048 |
| predicted_3B | 0.004 | 0.004 |
| predicted_AB | 4.154 | 1.054 |
| predicted_AVG | 0.238 | -0.001 |
| predicted_BB | 0.882 | -0.118 |
| predicted_H | 0.986 | 0.246 |
| predicted_HBP | 0.029 | - |
| predicted_HR | 0.095 | 0.005 |
| predicted_OBP | 0.317 | -0.005 |
| predicted_R | 0.528 | 0.028 |
| predicted_RBI | 0.662 | 0.222 |
| predicted_SLG | 0.343 | -0.013 |
| predicted_SO | 1.367 | 0.367 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.048 | 0.000 |
| predicted_3B | 0.004 | 0.000 |
| predicted_AB | 4.154 | 0.000 |
| predicted_AVG | 0.227 | -0.011 |
| predicted_BB | 0.875 | -0.007 |
| predicted_H | 0.942 | -0.044 |
| predicted_HBP | 0.029 | 0.000 |
| predicted_HR | 0.090 | -0.005 |
| predicted_OBP | 0.361 | 0.045 |
| predicted_R | 0.488 | -0.040 |
| predicted_RBI | 0.613 | -0.049 |
| predicted_SLG | 0.305 | -0.037 |
| predicted_SO | 1.379 | 0.012 |
AB rounded to 4 (raw=4.15), rates preserved: AVG=0.227 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.048 |
| predicted_3B | 0.000 | -0.004 |
| predicted_AB | 4.000 | -0.154 |
| predicted_AVG | 0.250 | 0.023 |
| predicted_BB | 1.000 | 0.125 |
| predicted_H | 1.000 | 0.058 |
| predicted_HR | 0.000 | -0.090 |
| predicted_OBP | 0.400 | 0.039 |
| predicted_R | 0.000 | -0.488 |
| predicted_RBI | 1.000 | 0.387 |
| predicted_SLG | 0.250 | -0.055 |
| predicted_SO | 1.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 | 2.000 | -2.000 |
| BB | 2.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 2 | - | 18.000 | 4.000 | 0.000 | 0.000 | 0.000 | 4.000 | 1.000 | 2.000 | 8.000 | 0.2222 | 0.3000 | 0.2222 | 0.2222 | 0.0000 | 0.2222 | 0.1111 | 0.4444 |
| last_10 | 0.20 | 2 | - | 24.000 | 4.000 | 0.000 | 0.000 | 0.000 | 4.000 | 4.000 | 8.000 | 8.000 | 0.1667 | 0.3750 | 0.1667 | 0.1667 | 0.0000 | 0.1667 | 0.3333 | 0.3333 |
| season | 0.60 | 2 | - | 24.000 | 4.000 | 0.000 | 0.000 | 0.000 | 4.000 | 4.000 | 8.000 | 8.000 | 0.1667 | 0.3750 | 0.1667 | 0.1667 | 0.0000 | 0.1667 | 0.3333 | 0.3333 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1540 |
| predicted_3B | 0.0120 |
| predicted_AB | 6.5170 |
| predicted_AVG | 0.2357 |
| predicted_BB | 0.6180 |
| predicted_H | 1.5360 |
| predicted_HBP | 0.0290 |
| predicted_HR | 0.1060 |
| predicted_OBP | 0.3065 |
| predicted_R | 0.5900 |
| predicted_RBI | 1.1610 |
| predicted_SLG | 0.3121 |
| predicted_SO | 2.1900 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1540 | 0.0475 | model_form_blend |
| predicted_3B | 0.0000 | 0.0120 | 0.0037 | model_form_blend |
| predicted_AB | 3.1000 | 6.5170 | 4.1540 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2357 | 0.2380 | model_form_blend |
| predicted_BB | 1.0000 | 0.6180 | 0.8822 | model_form_blend |
| predicted_H | 0.7400 | 1.5360 | 0.9855 | model_form_blend |
| predicted_HBP | - | 0.0290 | 0.0290 | form_only |
| predicted_HR | 0.0900 | 0.1060 | 0.0949 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3065 | 0.3165 | model_form_blend |
| predicted_R | 0.5000 | 0.5900 | 0.5278 | model_form_blend |
| predicted_RBI | 0.4400 | 1.1610 | 0.6624 | model_form_blend |
| predicted_SLG | 0.3560 | 0.3121 | 0.3425 | model_form_blend |
| predicted_SO | 1.0000 | 2.1900 | 1.3671 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 8 |
| Season rows before report date | 8 |
| 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 | 4 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 2 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.167 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | DH |
| gameID | 20260328_ARI@LAD |
| game_type | full |
| mlbID | 656976 |
| playerID | 656976 |
| playerName | Pavin Smith |
| pos | 1B |
| started | True |
| startingPosition | DH |
| team | ARI |
| teamID | 1 |
| game_date | 2026-03-28 |
| game_pk | 823973.0 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 25.0 |
| sl_woba | 0.288 |
| sl_xwoba | 0.261 |
| sl_xba | 0.104 |
| sl_xslg | 0.162 |
| sl_sweet_spot_percent | 0.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 92.1 |
| sl_launch_angle_avg | 39.6 |
| sl_whiff_percent | 11.1 |
| sl_swing_percent | 38.3 |
| at_bat_number | 4.0 |
| ab_pitcher | 607192.0 |
| ab_pitcher_name | Glasnow, Tyler |
| ab_home_team | LAD |
| ab_away_team | AZ |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 1.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_on_2b_start | 682998.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 0.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 0.0 |
| ab_event | single |
| ab_event_description | Pavin Smith singles on a sharp ground ball to left fielder Teoscar Hernández. Corbin Carroll scores. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 7.0 |
| ab_pitch_type_last | KC |
| ab_pitch_name_last | Knuckle Curve |
| ab_zone_last | 4.0 |
| ab_launch_speed_last | 105.6 |
| ab_launch_angle_last | 0.0 |
| ab_hit_distance_last | 49.0 |
| ab_estimated_ba_last | 0.511 |
| ab_estimated_woba_last | 0.48 |
| ab_estimated_slg_last | 0.572 |
| ab_woba_value | 0.9 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 0.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 1.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 85.26 |
| ab_release_spin_rate_avg | 2526.0 |
| ab_effective_speed_avg | 86.53999999999999 |
| ab_launch_speed_avg | 105.6 |
| ab_launch_angle_avg | 0.0 |
| ab_delta_run_exp_avg | 0.1346 |
| ab_delta_home_win_exp_avg | -0.0178 |
| ab_delta_pitcher_run_exp_avg | -0.1346 |
| ab_bat_speed_avg | 73.6 |
| ab_swing_length_avg | 6.7 |
| ab_launch_speed_max | 105.6 |
| ab_hit_distance_sc_max | 49.0 |
| ab_release_speed_max | 95.5 |
| ab_release_spin_rate_max | 2718.0 |
| ab_release_speed_min | 78.1 |
| ab_release_spin_rate_min | 2332.0 |
| ab_delta_run_exp_sum | 0.673 |
| ab_delta_home_win_exp_sum | -0.089 |
| ab_delta_pitcher_run_exp_sum | -0.673 |
| 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.200 | 0.000 | 0.000 | Hitting_2B | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_3B | 0.040 | 0.000 | 0.000 | Hitting_3B | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_AB | 4.055 | 3.000 | 8.000 | Hitting_AB | 4.055 | 4.000 | -1.055 | -1.000 |
| predicted_AVG | 0.237 | 0.000 | 0.250 | Hitting_AVG | 0.309 | 0.250 | -0.309 | -0.250 |
| predicted_BB | 0.145 | 1.000 | 0.000 | Hitting_BB | 0.145 | 0.000 | 0.855 | 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 | 1.255 | 1.000 | -1.255 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.160 | 0.000 | -0.160 | 0.000 |
| predicted_OBP | 0.285 | 0.250 | 0.250 | Hitting_OBP | 0.335 | 0.250 | -0.085 | 0.000 |
| predicted_R | 0.675 | 0.000 | 1.000 | Hitting_R | 0.675 | 0.000 | -0.675 | 0.000 |
| predicted_RBI | 0.620 | 0.000 | 1.000 | Hitting_RBI | 0.775 | 0.000 | -0.775 | 0.000 |
| predicted_SLG | 0.376 | 0.000 | 0.250 | Hitting_SLG | 0.497 | 0.250 | -0.497 | -0.250 |
| predicted_SO | 0.455 | 2.000 | 1.000 | Hitting_SO | 0.455 | 0.000 | 1.545 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.4550 -> 2.0000 (boost 1.5450, worse) |
| Biggest Deboost | predicted_AB: 4.0550 -> 3.0000 (deboost -1.0550, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.0550 -> 7.9327 (boost 3.8777, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 0 | 4 | 0 | 4 | - | predicted_RBI: 1.4908 -> 1.3793 (deboost -0.1115, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_AB: 7.9327 -> 8.0000 (boost 0.0673, better) | predicted_RBI: 1.3793 -> 1.0000 (deboost -0.3793, worse) | AB rounded to 8 (raw=7.93), rates preserved: AVG=0.258 HR/AB=0.026 |
| 5 | consistency_constraints | 0 | 0 | 0 | 0 | 0 | - | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3968 -> 0.2500 (deboost -0.1468, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 2 | 4 | 1 | 5 | predicted_BB: 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3968 (boost 0.1468, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "545121",
"player_name": "Ildemaro Vargas",
"position": "1B",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.2,
"predicted_3B": 0.04,
"predicted_AB": 4.055,
"predicted_AVG": 0.237,
"predicted_BB": 0.145,
"predicted_H": 0.92,
"predicted_HR": 0.09,
"predicted_OBP": 0.285,
"predicted_R": 0.675,
"predicted_RBI": 0.62,
"predicted_SLG": 0.376,
"predicted_SO": 0.455
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3465,
"predicted_3B": 0.0638,
"predicted_AB": 7.9327,
"predicted_AVG": 0.2593,
"predicted_BB": 0.2427,
"predicted_H": 2.1441,
"predicted_HBP": 0.05,
"predicted_HR": 0.2189,
"predicted_OBP": 0.2953,
"predicted_R": 1.1084,
"predicted_RBI": 1.4908,
"predicted_SLG": 0.401,
"predicted_SO": 0.9324
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.3465,
"delta": 0.1465,
"percent_delta": 0.7325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.04,
"after": 0.0638,
"delta": 0.0238,
"percent_delta": 0.595,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.055,
"after": 7.9327,
"delta": 3.8777,
"percent_delta": 0.9563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2593,
"delta": 0.0223,
"percent_delta": 0.0941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.145,
"after": 0.2427,
"delta": 0.0977,
"percent_delta": 0.6738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 2.1441,
"delta": 1.2241,
"percent_delta": 1.3305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.2189,
"delta": 0.1289,
"percent_delta": 1.4322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2953,
"delta": 0.0103,
"percent_delta": 0.0361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.675,
"after": 1.1084,
"delta": 0.4334,
"percent_delta": 0.6421,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 1.4908,
"delta": 0.8708,
"percent_delta": 1.4045,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.401,
"delta": 0.025,
"percent_delta": 0.0665,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.455,
"after": 0.9324,
"delta": 0.4774,
"percent_delta": 1.0492,
"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.055,
"after": 7.9327,
"delta": 3.8777,
"percent_delta": 0.9563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.3465,
"predicted_3B": 0.0638,
"predicted_AB": 7.9327,
"predicted_AVG": 0.2582,
"predicted_BB": 0.2406,
"predicted_H": 2.0485,
"predicted_HBP": 0.05,
"predicted_HR": 0.2083,
"predicted_OBP": 0.2801,
"predicted_R": 1.0255,
"predicted_RBI": 1.3793,
"predicted_SLG": 0.3968,
"predicted_SO": 0.9403
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3465,
"after": 0.3465,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0638,
"after": 0.0638,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.9327,
"after": 7.9327,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2593,
"after": 0.2582,
"delta": -0.0011,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2427,
"after": 0.2406,
"delta": -0.0021,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1441,
"after": 2.0485,
"delta": -0.0956,
"percent_delta": -0.0446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.2189,
"after": 0.2083,
"delta": -0.0106,
"percent_delta": -0.0484,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2953,
"after": 0.2801,
"delta": -0.0152,
"percent_delta": -0.0515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1084,
"after": 1.0255,
"delta": -0.0829,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4908,
"after": 1.3793,
"delta": -0.1115,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.3968,
"delta": -0.0042,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9324,
"after": 0.9403,
"delta": 0.0079,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.4908,
"after": 1.3793,
"delta": -0.1115,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.93), rates preserved: AVG=0.258 HR/AB=0.026",
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3465,
"after": 0.0,
"delta": -0.3465,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0638,
"after": 0.0,
"delta": -0.0638,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.9327,
"after": 8.0,
"delta": 0.0673,
"percent_delta": 0.0085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2406,
"after": 0.0,
"delta": -0.2406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0485,
"after": 2.0,
"delta": -0.0485,
"percent_delta": -0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.2083,
"after": 0.0,
"delta": -0.2083,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3793,
"after": 1.0,
"delta": -0.3793,
"percent_delta": -0.275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9403,
"after": 1.0,
"delta": 0.0597,
"percent_delta": 0.0635,
"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_AB",
"before": 7.9327,
"after": 8.0,
"delta": 0.0673,
"percent_delta": 0.0085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.3793,
"after": 1.0,
"delta": -0.3793,
"percent_delta": -0.275,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.0255,
"after": 1.0,
"delta": -0.0255,
"percent_delta": -0.0249,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": 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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2582,
"after": 0.25,
"delta": -0.0082,
"percent_delta": -0.0318,
"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.2801,
"after": 0.25,
"delta": -0.0301,
"percent_delta": -0.1075,
"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.3968,
"after": 0.25,
"delta": -0.1468,
"percent_delta": -0.37,
"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.3968,
"after": 0.25,
"delta": -0.1468,
"percent_delta": -0.37,
"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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"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": 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.2582,
"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.2801,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3968,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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.2582,
"delta": 0.0082,
"percent_delta": 0.0329,
"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.2801,
"delta": 0.0301,
"percent_delta": 0.1203,
"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.3968,
"delta": 0.1468,
"percent_delta": 0.587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3968,
"delta": 0.1468,
"percent_delta": 0.587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.055,
"after": 3.0,
"delta": -1.055,
"percent_delta": -0.2602,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2582,
"delta": 0.0212,
"percent_delta": 0.0895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.145,
"after": 1.0,
"delta": 0.855,
"percent_delta": 5.8966,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.0,
"delta": -0.92,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2801,
"delta": -0.0049,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.675,
"after": 0.0,
"delta": -0.675,
"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.376,
"after": 0.3968,
"delta": 0.0208,
"percent_delta": 0.0553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.455,
"after": 2.0,
"delta": 1.545,
"percent_delta": 3.3956,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.455,
"after": 2.0,
"delta": 1.545,
"percent_delta": 3.3956,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.055,
"after": 3.0,
"delta": -1.055,
"percent_delta": -0.2602,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.200 | - |
| predicted_3B | 0.040 | - |
| predicted_AB | 4.055 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.145 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.675 | - |
| predicted_RBI | 0.620 | - |
| predicted_SLG | 0.376 | - |
| predicted_SO | 0.455 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.346 | 0.146 |
| predicted_3B | 0.064 | 0.024 |
| predicted_AB | 7.933 | 3.878 |
| predicted_AVG | 0.259 | 0.022 |
| predicted_BB | 0.243 | 0.098 |
| predicted_H | 2.144 | 1.224 |
| predicted_HBP | 0.050 | - |
| predicted_HR | 0.219 | 0.129 |
| predicted_OBP | 0.295 | 0.010 |
| predicted_R | 1.108 | 0.433 |
| predicted_RBI | 1.491 | 0.871 |
| predicted_SLG | 0.401 | 0.025 |
| predicted_SO | 0.932 | 0.477 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.346 | 0.000 |
| predicted_3B | 0.064 | 0.000 |
| predicted_AB | 7.933 | 0.000 |
| predicted_AVG | 0.258 | -0.001 |
| predicted_BB | 0.241 | -0.002 |
| predicted_H | 2.049 | -0.096 |
| predicted_HBP | 0.050 | 0.000 |
| predicted_HR | 0.208 | -0.011 |
| predicted_OBP | 0.280 | -0.015 |
| predicted_R | 1.026 | -0.083 |
| predicted_RBI | 1.379 | -0.111 |
| predicted_SLG | 0.397 | -0.004 |
| predicted_SO | 0.940 | 0.008 |
AB rounded to 8 (raw=7.93), rates preserved: AVG=0.258 HR/AB=0.026
| 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 | 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 | 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.346 |
| predicted_3B | 0.000 | -0.064 |
| predicted_AB | 8.000 | 0.067 |
| predicted_AVG | 0.250 | -0.008 |
| predicted_BB | 0.000 | -0.241 |
| predicted_H | 2.000 | -0.049 |
| predicted_HR | 0.000 | -0.208 |
| predicted_OBP | 0.250 | -0.030 |
| predicted_R | 1.000 | -0.026 |
| predicted_RBI | 1.000 | -0.379 |
| predicted_SLG | 0.250 | -0.147 |
| predicted_SO | 1.000 | 0.060 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -5.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 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 | 4 | - | 18.000 | 4.000 | 0.000 | 0.000 | 0.000 | 4.000 | 0.000 | 0.000 | 2.000 | 0.2222 | 0.2222 | 0.2222 | 0.2222 | 0.0000 | 0.2222 | 0.0000 | 0.1111 |
| last_10 | 0.20 | 5 | - | 36.000 | 9.000 | 3.000 | 0.000 | 0.000 | 12.000 | 3.000 | 0.000 | 7.000 | 0.2500 | 0.2500 | 0.3333 | 0.2500 | 0.0000 | 0.3333 | 0.0000 | 0.1944 |
| season | 0.60 | 51 | - | 811.000 | 251.000 | 40.000 | 8.000 | 32.000 | 155.000 | 135.000 | 29.000 | 91.000 | 0.3095 | 0.3349 | 0.4969 | 0.3095 | 0.0395 | 0.1911 | 0.0358 | 0.1122 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5330 |
| predicted_3B | 0.0940 |
| predicted_AB | 12.8680 |
| predicted_AVG | 0.2877 |
| predicted_BB | 0.3670 |
| predicted_H | 3.7020 |
| predicted_HBP | 0.0500 |
| predicted_HR | 0.3830 |
| predicted_OBP | 0.3083 |
| predicted_R | 1.6600 |
| predicted_RBI | 2.5990 |
| predicted_SLG | 0.4329 |
| predicted_SO | 1.5400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.5330 | 0.3465 | model_form_blend |
| predicted_3B | 0.0400 | 0.0940 | 0.0638 | model_form_blend |
| predicted_AB | 4.0550 | 12.8680 | 7.9327 | model_form_blend |
| predicted_AVG | 0.2370 | 0.2877 | 0.2593 | model_form_blend |
| predicted_BB | 0.1450 | 0.3670 | 0.2427 | model_form_blend |
| predicted_H | 0.9200 | 3.7020 | 2.1441 | model_form_blend |
| predicted_HBP | - | 0.0500 | 0.0500 | form_only |
| predicted_HR | 0.0900 | 0.3830 | 0.2189 | model_form_blend |
| predicted_OBP | 0.2850 | 0.3083 | 0.2953 | model_form_blend |
| predicted_R | 0.6750 | 1.6600 | 1.1084 | model_form_blend |
| predicted_RBI | 0.6200 | 2.5990 | 1.4908 | model_form_blend |
| predicted_SLG | 0.3760 | 0.4329 | 0.4010 | model_form_blend |
| predicted_SO | 0.4550 | 1.5400 | 0.9324 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 200 |
| Season rows before report date | 200 |
| Report year | 2026 |
| Profile rows used | 200 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.309 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260531_ARI@SEA |
| game_type | full |
| mlbID | 545121 |
| playerID | 545121 |
| playerName | Ildemaro Vargas |
| pos | 1B |
| started | True |
| startingPosition | 2B |
| team | ARI |
| teamID | 1 |
| game_date | 2026-05-31 |
| sl_k_percent | 10.1 |
| sl_bb_percent | 3.4 |
| sl_woba | 0.344 |
| sl_xwoba | 0.316 |
| sl_xba | 0.29 |
| sl_xslg | 0.41 |
| sl_sweet_spot_percent | 30.5 |
| sl_barrel_batted_rate | 4.0 |
| sl_hard_hit_percent | 32.8 |
| sl_exit_velocity_avg | 86.9 |
| sl_launch_angle_avg | 11.0 |
| sl_whiff_percent | 15.1 |
| sl_swing_percent | 50.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.230 | 0.000 | 0.000 | Hitting_2B | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.619 | 4.000 | 7.000 | Hitting_AB | 3.619 | 1.000 | 0.381 | 3.000 |
| predicted_AVG | 0.261 | 0.250 | 0.286 | Hitting_AVG | 0.263 | 1.000 | -0.013 | -0.750 |
| predicted_BB | 0.349 | 0.000 | 1.000 | Hitting_BB | 0.349 | 1.000 | -0.349 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_H | 0.880 | 1.000 | 2.000 | Hitting_H | 0.952 | 1.000 | 0.048 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.103 | 0.000 | -0.103 | 0.000 |
| predicted_OBP | 0.341 | 0.250 | 0.375 | Hitting_OBP | 0.326 | 1.000 | -0.076 | -0.750 |
| predicted_R | 0.556 | 0.000 | 1.000 | Hitting_R | 0.556 | 1.000 | -0.556 | -1.000 |
| predicted_RBI | 0.580 | 0.000 | 1.000 | Hitting_RBI | 0.587 | 0.000 | -0.587 | 0.000 |
| predicted_SLG | 0.439 | 0.250 | 0.286 | Hitting_SLG | 0.412 | 1.000 | -0.162 | -0.750 |
| predicted_SO | 0.857 | 0.000 | 2.000 | Hitting_SO | 0.857 | 0.000 | -0.857 | 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: 3.6190 -> 4.0000 (boost 0.3810, better) |
| Biggest Deboost | predicted_SO: 0.8570 -> 0.0000 (deboost -0.8570, 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.6190 -> 6.5468 (boost 2.9278, 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_RBI: 1.3451 -> 1.2445 (deboost -0.1006, 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.4679 -> 2.0000 (boost 0.5321, worse) | predicted_2B: 0.4136 -> 0.0000 (deboost -0.4136, worse) | AB rounded to 7 (raw=6.55), rates preserved: AVG=0.270 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.9441 -> 1.0000 (boost 0.0559, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3462 -> 0.3750 (boost 0.0288, better) | predicted_SLG: 0.4191 -> 0.2860 (deboost -0.1331, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.4191 (boost 0.1331, better) | predicted_OBP: 0.3750 -> 0.3462 (deboost -0.0288, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672515",
"player_name": "Gabriel Moreno",
"position": "C",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.23,
"predicted_3B": 0.0,
"predicted_AB": 3.619,
"predicted_AVG": 0.261,
"predicted_BB": 0.349,
"predicted_H": 0.88,
"predicted_HR": 0.13,
"predicted_OBP": 0.341,
"predicted_R": 0.556,
"predicted_RBI": 0.58,
"predicted_SLG": 0.439,
"predicted_SO": 0.857
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4136,
"predicted_3B": 0.0009,
"predicted_AB": 6.5468,
"predicted_AVG": 0.2782,
"predicted_BB": 0.7695,
"predicted_H": 1.85,
"predicted_HBP": 0.086,
"predicted_HR": 0.1964,
"predicted_OBP": 0.3497,
"predicted_R": 1.0204,
"predicted_RBI": 1.3451,
"predicted_SLG": 0.442,
"predicted_SO": 1.4555
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.23,
"after": 0.4136,
"delta": 0.1836,
"percent_delta": 0.7983,
"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.619,
"after": 6.5468,
"delta": 2.9278,
"percent_delta": 0.809,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2782,
"delta": 0.0172,
"percent_delta": 0.0659,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.349,
"after": 0.7695,
"delta": 0.4205,
"percent_delta": 1.2049,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 1.85,
"delta": 0.97,
"percent_delta": 1.1023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1964,
"delta": 0.0664,
"percent_delta": 0.5108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.3497,
"delta": 0.0087,
"percent_delta": 0.0255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.556,
"after": 1.0204,
"delta": 0.4644,
"percent_delta": 0.8353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 1.3451,
"delta": 0.7651,
"percent_delta": 1.3191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.442,
"delta": 0.003,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.857,
"after": 1.4555,
"delta": 0.5985,
"percent_delta": 0.6984,
"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.619,
"after": 6.5468,
"delta": 2.9278,
"percent_delta": 0.809,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.4136,
"predicted_3B": 0.0009,
"predicted_AB": 6.5468,
"predicted_AVG": 0.27,
"predicted_BB": 0.763,
"predicted_H": 1.7675,
"predicted_HBP": 0.086,
"predicted_HR": 0.1869,
"predicted_OBP": 0.3462,
"predicted_R": 0.9441,
"predicted_RBI": 1.2445,
"predicted_SLG": 0.4191,
"predicted_SO": 1.4679
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4136,
"after": 0.4136,
"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.5468,
"after": 6.5468,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2782,
"after": 0.27,
"delta": -0.0082,
"percent_delta": -0.0295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7695,
"after": 0.763,
"delta": -0.0065,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.85,
"after": 1.7675,
"delta": -0.0825,
"percent_delta": -0.0446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.086,
"after": 0.086,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1964,
"after": 0.1869,
"delta": -0.0095,
"percent_delta": -0.0484,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3497,
"after": 0.3462,
"delta": -0.0035,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0204,
"after": 0.9441,
"delta": -0.0763,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3451,
"after": 1.2445,
"delta": -0.1006,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.4191,
"delta": -0.0229,
"percent_delta": -0.0518,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4555,
"after": 1.4679,
"delta": 0.0124,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.3451,
"after": 1.2445,
"delta": -0.1006,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.55), rates preserved: AVG=0.270 HR/AB=0.029",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4136,
"after": 0.0,
"delta": -0.4136,
"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.5468,
"after": 7.0,
"delta": 0.4532,
"percent_delta": 0.0692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.763,
"after": 1.0,
"delta": 0.237,
"percent_delta": 0.3106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7675,
"after": 2.0,
"delta": 0.2325,
"percent_delta": 0.1315,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.086,
"after": 0.0,
"delta": -0.086,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1869,
"after": 0.0,
"delta": -0.1869,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2445,
"after": 1.0,
"delta": -0.2445,
"percent_delta": -0.1965,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4679,
"after": 2.0,
"delta": 0.5321,
"percent_delta": 0.3625,
"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.4679,
"after": 2.0,
"delta": 0.5321,
"percent_delta": 0.3625,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4136,
"after": 0.0,
"delta": -0.4136,
"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.9441,
"after": 1.0,
"delta": 0.0559,
"percent_delta": 0.0592,
"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.9441,
"after": 1.0,
"delta": 0.0559,
"percent_delta": 0.0592,
"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.27,
"after": 0.286,
"delta": 0.016,
"percent_delta": 0.0593,
"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.3462,
"after": 0.375,
"delta": 0.0288,
"percent_delta": 0.0832,
"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.4191,
"after": 0.286,
"delta": -0.1331,
"percent_delta": -0.3176,
"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.3462,
"after": 0.375,
"delta": 0.0288,
"percent_delta": 0.0832,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4191,
"after": 0.286,
"delta": -0.1331,
"percent_delta": -0.3176,
"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": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 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": 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.27,
"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.3462,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4191,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.27,
"delta": -0.016,
"percent_delta": -0.056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3462,
"delta": -0.0288,
"percent_delta": -0.0769,
"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.4191,
"delta": 0.1331,
"percent_delta": 0.4652,
"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.4191,
"delta": 0.1331,
"percent_delta": 0.4652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3462,
"delta": -0.0288,
"percent_delta": -0.0769,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.619,
"after": 4.0,
"delta": 0.381,
"percent_delta": 0.1053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.27,
"delta": 0.009,
"percent_delta": 0.0345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.349,
"after": 0.0,
"delta": -0.349,
"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.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.3462,
"delta": 0.0052,
"percent_delta": 0.0152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.556,
"after": 0.0,
"delta": -0.556,
"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.439,
"after": 0.4191,
"delta": -0.0199,
"percent_delta": -0.0453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.857,
"after": 0.0,
"delta": -0.857,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.619,
"after": 4.0,
"delta": 0.381,
"percent_delta": 0.1053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.857,
"after": 0.0,
"delta": -0.857,
"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.230 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.619 | - |
| predicted_AVG | 0.261 | - |
| predicted_BB | 0.349 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.341 | - |
| predicted_R | 0.556 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.439 | - |
| predicted_SO | 0.857 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.414 | 0.184 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.547 | 2.928 |
| predicted_AVG | 0.278 | 0.017 |
| predicted_BB | 0.769 | 0.420 |
| predicted_H | 1.850 | 0.970 |
| predicted_HBP | 0.086 | - |
| predicted_HR | 0.196 | 0.066 |
| predicted_OBP | 0.350 | 0.009 |
| predicted_R | 1.020 | 0.464 |
| predicted_RBI | 1.345 | 0.765 |
| predicted_SLG | 0.442 | 0.003 |
| predicted_SO | 1.456 | 0.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.414 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.547 | 0.000 |
| predicted_AVG | 0.270 | -0.008 |
| predicted_BB | 0.763 | -0.006 |
| predicted_H | 1.768 | -0.083 |
| predicted_HBP | 0.086 | 0.000 |
| predicted_HR | 0.187 | -0.009 |
| predicted_OBP | 0.346 | -0.004 |
| predicted_R | 0.944 | -0.076 |
| predicted_RBI | 1.244 | -0.101 |
| predicted_SLG | 0.419 | -0.023 |
| predicted_SO | 1.468 | 0.012 |
AB rounded to 7 (raw=6.55), rates preserved: AVG=0.270 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=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.414 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | 0.453 |
| predicted_AVG | 0.286 | 0.016 |
| predicted_BB | 1.000 | 0.237 |
| predicted_H | 2.000 | 0.232 |
| predicted_HR | 0.000 | -0.187 |
| predicted_OBP | 0.375 | 0.029 |
| predicted_R | 1.000 | 0.056 |
| predicted_RBI | 1.000 | -0.244 |
| predicted_SLG | 0.286 | -0.133 |
| predicted_SO | 2.000 | 0.532 |
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 | 0.000 | -2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 14.000 | 6.000 | 1.000 | 0.000 | 0.000 | 6.000 | 2.000 | 3.000 | 2.000 | 0.4286 | 0.4737 | 0.5000 | 0.4286 | 0.0000 | 0.4286 | 0.2143 | 0.1429 |
| last_10 | 0.20 | 5 | - | 27.000 | 11.000 | 1.000 | 0.000 | 3.000 | 13.000 | 8.000 | 8.000 | 5.000 | 0.4074 | 0.4872 | 0.7778 | 0.4074 | 0.1111 | 0.4815 | 0.2963 | 0.1852 |
| season | 0.60 | 35 | - | 456.000 | 120.000 | 29.000 | 0.000 | 13.000 | 74.000 | 70.000 | 44.000 | 108.000 | 0.2632 | 0.3263 | 0.4123 | 0.2632 | 0.0285 | 0.1623 | 0.0965 | 0.2368 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6530 |
| predicted_3B | 0.0020 |
| predicted_AB | 10.3650 |
| predicted_AVG | 0.3006 |
| predicted_BB | 1.3180 |
| predicted_H | 3.1150 |
| predicted_HBP | 0.0860 |
| predicted_HR | 0.2830 |
| predicted_OBP | 0.3611 |
| predicted_R | 1.6260 |
| predicted_RBI | 2.3430 |
| predicted_SLG | 0.4459 |
| predicted_SO | 2.2360 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2300 | 0.6530 | 0.4136 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.6190 | 10.3650 | 6.5468 | model_form_blend |
| predicted_AVG | 0.2610 | 0.3006 | 0.2782 | model_form_blend |
| predicted_BB | 0.3490 | 1.3180 | 0.7695 | model_form_blend |
| predicted_H | 0.8800 | 3.1150 | 1.8500 | model_form_blend |
| predicted_HBP | - | 0.0860 | 0.0860 | form_only |
| predicted_HR | 0.1300 | 0.2830 | 0.1964 | model_form_blend |
| predicted_OBP | 0.3410 | 0.3611 | 0.3497 | model_form_blend |
| predicted_R | 0.5560 | 1.6260 | 1.0204 | model_form_blend |
| predicted_RBI | 0.5800 | 2.3430 | 1.3451 | model_form_blend |
| predicted_SLG | 0.4390 | 0.4459 | 0.4420 | model_form_blend |
| predicted_SO | 0.8570 | 2.2360 | 1.4555 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 126 |
| Season rows before report date | 126 |
| Report year | 2026 |
| Profile rows used | 126 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.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 | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-C |
| gameID | 20260531_ARI@SEA |
| game_type | ph |
| mlbID | 672515 |
| note | Singled for Garcia, A in the 8th. |
| playerID | 672515 |
| playerName | Gabriel Moreno |
| pos | C |
| started | False |
| startingPosition | PH |
| team | ARI |
| teamID | 1 |
| game_date | 2026-05-31 |
| sl_k_percent | 20.8 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.317 |
| sl_xwoba | 0.346 |
| sl_xba | 0.26 |
| sl_xslg | 0.454 |
| sl_sweet_spot_percent | 40.2 |
| sl_barrel_batted_rate | 12.0 |
| sl_hard_hit_percent | 43.5 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 14.4 |
| sl_whiff_percent | 19.4 |
| sl_swing_percent | 45.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.374 | 1.000 | 0.000 | Hitting_2B | 0.343 | 0.000 | 0.657 | 1.000 |
| predicted_3B | 0.044 | 0.000 | 0.000 | Hitting_3B | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_AB | 3.187 | 2.000 | 5.000 | Hitting_AB | 2.929 | 1.000 | -0.929 | 1.000 |
| predicted_AVG | 0.241 | 0.500 | 0.200 | Hitting_AVG | 0.193 | 0.000 | 0.307 | 0.500 |
| predicted_BB | 0.297 | 1.000 | 1.000 | Hitting_BB | 0.273 | 0.000 | 0.727 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.500 | 1.000 | 1.000 | Hitting_H | 0.566 | 0.000 | 0.434 | 1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_OBP | 0.277 | 0.750 | 0.333 | Hitting_OBP | 0.271 | 0.000 | 0.479 | 0.750 |
| predicted_R | 0.407 | 1.000 | 1.000 | Hitting_R | 0.374 | 0.000 | 0.626 | 1.000 |
| predicted_RBI | 0.240 | 0.000 | 0.000 | Hitting_RBI | 0.242 | 0.000 | -0.242 | 0.000 |
| predicted_SLG | 0.322 | 1.000 | 0.200 | Hitting_SLG | 0.359 | 0.000 | 0.641 | 1.000 |
| predicted_SO | 1.110 | 1.000 | 2.000 | Hitting_SO | 1.020 | 1.000 | -0.020 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_BB: 0.2970 -> 1.0000 (boost 0.7030, better) |
| Biggest Deboost | predicted_AB: 3.1870 -> 2.0000 (deboost -1.1870, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.1870 -> 5.2027 (boost 2.0157, better) | predicted_AVG: 0.2410 -> 0.2211 (deboost -0.0199, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_R: 0.7015 -> 0.6490 (deboost -0.0525, 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.5570 -> 1.0000 (boost 0.4430, better) | predicted_2B: 0.5002 -> 0.0000 (deboost -0.5002, worse) | AB rounded to 5 (raw=5.20), rates preserved: AVG=0.173 HR/AB=0.011 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6490 -> 1.0000 (boost 0.3510, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2529 -> 0.3330 (boost 0.0801, better) | predicted_SLG: 0.3244 -> 0.2000 (deboost -0.1244, 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: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 2.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.2000 -> 0.3244 (boost 0.1244, better) | predicted_OBP: 0.3330 -> 0.2529 (deboost -0.0801, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678489",
"player_name": "Jorge Barrosa",
"position": "CF",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.374,
"predicted_3B": 0.044,
"predicted_AB": 3.187,
"predicted_AVG": 0.241,
"predicted_BB": 0.297,
"predicted_H": 0.5,
"predicted_HR": 0.06,
"predicted_OBP": 0.277,
"predicted_R": 0.407,
"predicted_RBI": 0.24,
"predicted_SLG": 0.322,
"predicted_SO": 1.11
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.5002,
"predicted_3B": 0.0584,
"predicted_AB": 5.2027,
"predicted_AVG": 0.2211,
"predicted_BB": 0.5618,
"predicted_H": 0.9416,
"predicted_HBP": 0.081,
"predicted_HR": 0.06,
"predicted_OBP": 0.2801,
"predicted_R": 0.7015,
"predicted_RBI": 0.3671,
"predicted_SLG": 0.3216,
"predicted_SO": 1.8639
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.374,
"after": 0.5002,
"delta": 0.1262,
"percent_delta": 0.3374,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.044,
"after": 0.0584,
"delta": 0.0144,
"percent_delta": 0.3273,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.187,
"after": 5.2027,
"delta": 2.0157,
"percent_delta": 0.6325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2211,
"delta": -0.0199,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.297,
"after": 0.5618,
"delta": 0.2648,
"percent_delta": 0.8916,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5,
"after": 0.9416,
"delta": 0.4416,
"percent_delta": 0.8832,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.06,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2801,
"delta": 0.0031,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.407,
"after": 0.7015,
"delta": 0.2945,
"percent_delta": 0.7236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.3671,
"delta": 0.1271,
"percent_delta": 0.5296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.322,
"after": 0.3216,
"delta": -0.0004,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.11,
"after": 1.8639,
"delta": 0.7539,
"percent_delta": 0.6792,
"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.187,
"after": 5.2027,
"delta": 2.0157,
"percent_delta": 0.6325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2211,
"delta": -0.0199,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.5002,
"predicted_3B": 0.0584,
"predicted_AB": 5.2027,
"predicted_AVG": 0.1729,
"predicted_BB": 0.557,
"predicted_H": 0.8996,
"predicted_HBP": 0.081,
"predicted_HR": 0.0571,
"predicted_OBP": 0.2529,
"predicted_R": 0.649,
"predicted_RBI": 0.3396,
"predicted_SLG": 0.3244,
"predicted_SO": 1.8797
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5002,
"after": 0.5002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0584,
"after": 0.0584,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.2027,
"after": 5.2027,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2211,
"after": 0.1729,
"delta": -0.0482,
"percent_delta": -0.218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5618,
"after": 0.557,
"delta": -0.0048,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9416,
"after": 0.8996,
"delta": -0.042,
"percent_delta": -0.0446,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.081,
"after": 0.081,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0571,
"delta": -0.0029,
"percent_delta": -0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2801,
"after": 0.2529,
"delta": -0.0272,
"percent_delta": -0.0971,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7015,
"after": 0.649,
"delta": -0.0525,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3671,
"after": 0.3396,
"delta": -0.0275,
"percent_delta": -0.0749,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3216,
"after": 0.3244,
"delta": 0.0028,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.8639,
"after": 1.8797,
"delta": 0.0158,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.7015,
"after": 0.649,
"delta": -0.0525,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.20), rates preserved: AVG=0.173 HR/AB=0.011",
"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.5002,
"after": 0.0,
"delta": -0.5002,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0584,
"after": 0.0,
"delta": -0.0584,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 5.2027,
"after": 5.0,
"delta": -0.2027,
"percent_delta": -0.039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.557,
"after": 1.0,
"delta": 0.443,
"percent_delta": 0.7953,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8996,
"after": 1.0,
"delta": 0.1004,
"percent_delta": 0.1116,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.081,
"after": 0.0,
"delta": -0.081,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0571,
"after": 0.0,
"delta": -0.0571,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3396,
"after": 0.0,
"delta": -0.3396,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8797,
"after": 2.0,
"delta": 0.1203,
"percent_delta": 0.064,
"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.557,
"after": 1.0,
"delta": 0.443,
"percent_delta": 0.7953,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.5002,
"after": 0.0,
"delta": -0.5002,
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.649,
"after": 1.0,
"delta": 0.351,
"percent_delta": 0.5408,
"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.649,
"after": 1.0,
"delta": 0.351,
"percent_delta": 0.5408,
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.1729,
"after": 0.2,
"delta": 0.0271,
"percent_delta": 0.1567,
"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.2529,
"after": 0.333,
"delta": 0.0801,
"percent_delta": 0.3167,
"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.3244,
"after": 0.2,
"delta": -0.1244,
"percent_delta": -0.3835,
"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.2529,
"after": 0.333,
"delta": 0.0801,
"percent_delta": 0.3167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3244,
"after": 0.2,
"delta": -0.1244,
"percent_delta": -0.3835,
"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": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 2.0,
"delta": -3.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"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": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 2.0,
"delta": -3.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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_AVG": 0.1729,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2529,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3244,
"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": 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.2,
"after": 0.1729,
"delta": -0.0271,
"percent_delta": -0.1354,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2529,
"delta": -0.0801,
"percent_delta": -0.2405,
"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.2,
"after": 0.3244,
"delta": 0.1244,
"percent_delta": 0.6221,
"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.3244,
"delta": 0.1244,
"percent_delta": 0.6221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2529,
"delta": -0.0801,
"percent_delta": -0.2405,
"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": 1.0,
"delta": 0.626,
"percent_delta": 1.6738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.044,
"after": 0.0,
"delta": -0.044,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.187,
"after": 2.0,
"delta": -1.187,
"percent_delta": -0.3725,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.1729,
"delta": -0.0681,
"percent_delta": -0.2826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.297,
"after": 1.0,
"delta": 0.703,
"percent_delta": 2.367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.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.277,
"after": 0.2529,
"delta": -0.0241,
"percent_delta": -0.087,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.407,
"after": 1.0,
"delta": 0.593,
"percent_delta": 1.457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.322,
"after": 0.3244,
"delta": 0.0024,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.11,
"after": 1.0,
"delta": -0.11,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.297,
"after": 1.0,
"delta": 0.703,
"percent_delta": 2.367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.187,
"after": 2.0,
"delta": -1.187,
"percent_delta": -0.3725,
"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.374 | - |
| predicted_3B | 0.044 | - |
| predicted_AB | 3.187 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.297 | - |
| predicted_H | 0.500 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.277 | - |
| predicted_R | 0.407 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.322 | - |
| predicted_SO | 1.110 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.500 | 0.126 |
| predicted_3B | 0.058 | 0.014 |
| predicted_AB | 5.203 | 2.016 |
| predicted_AVG | 0.221 | -0.020 |
| predicted_BB | 0.562 | 0.265 |
| predicted_H | 0.942 | 0.442 |
| predicted_HBP | 0.081 | - |
| predicted_HR | 0.060 | 0.000 |
| predicted_OBP | 0.280 | 0.003 |
| predicted_R | 0.702 | 0.295 |
| predicted_RBI | 0.367 | 0.127 |
| predicted_SLG | 0.322 | -0.000 |
| predicted_SO | 1.864 | 0.754 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.500 | 0.000 |
| predicted_3B | 0.058 | 0.000 |
| predicted_AB | 5.203 | 0.000 |
| predicted_AVG | 0.173 | -0.048 |
| predicted_BB | 0.557 | -0.005 |
| predicted_H | 0.900 | -0.042 |
| predicted_HBP | 0.081 | 0.000 |
| predicted_HR | 0.057 | -0.003 |
| predicted_OBP | 0.253 | -0.027 |
| predicted_R | 0.649 | -0.052 |
| predicted_RBI | 0.340 | -0.027 |
| predicted_SLG | 0.324 | 0.003 |
| predicted_SO | 1.880 | 0.016 |
AB rounded to 5 (raw=5.20), rates preserved: AVG=0.173 HR/AB=0.011
| 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 | 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.500 |
| predicted_3B | 0.000 | -0.058 |
| predicted_AB | 5.000 | -0.203 |
| predicted_AVG | 0.200 | 0.027 |
| predicted_BB | 1.000 | 0.443 |
| predicted_H | 1.000 | 0.100 |
| predicted_HR | 0.000 | -0.057 |
| predicted_OBP | 0.333 | 0.080 |
| predicted_R | 1.000 | 0.351 |
| predicted_RBI | 0.000 | -0.340 |
| predicted_SLG | 0.200 | -0.124 |
| predicted_SO | 2.000 | 0.120 |
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 | 2.000 | -3.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 11.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 5.000 | 0.1818 | 0.3077 | 0.1818 | 0.1818 | 0.0000 | 0.0000 | 0.1818 | 0.4546 |
| last_10 | 0.20 | 5 | - | 26.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 7.000 | 13.000 | 0.1538 | 0.3333 | 0.1538 | 0.1538 | 0.0000 | 0.0000 | 0.2692 | 0.5000 |
| season | 0.60 | 29 | - | 290.000 | 56.000 | 34.000 | 4.000 | 2.000 | 24.000 | 37.000 | 27.000 | 101.000 | 0.1931 | 0.2710 | 0.3586 | 0.1931 | 0.0069 | 0.0828 | 0.0931 | 0.3483 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6710 |
| predicted_3B | 0.0780 |
| predicted_AB | 7.9300 |
| predicted_AVG | 0.1941 |
| predicted_BB | 0.9200 |
| predicted_H | 1.5390 |
| predicted_HBP | 0.0810 |
| predicted_HR | 0.0600 |
| predicted_OBP | 0.2842 |
| predicted_R | 1.1000 |
| predicted_RBI | 0.5390 |
| predicted_SLG | 0.3211 |
| predicted_SO | 2.8840 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3740 | 0.6710 | 0.5002 | model_form_blend |
| predicted_3B | 0.0440 | 0.0780 | 0.0584 | model_form_blend |
| predicted_AB | 3.1870 | 7.9300 | 5.2027 | model_form_blend |
| predicted_AVG | 0.2410 | 0.1941 | 0.2211 | model_form_blend |
| predicted_BB | 0.2970 | 0.9200 | 0.5618 | model_form_blend |
| predicted_H | 0.5000 | 1.5390 | 0.9416 | model_form_blend |
| predicted_HBP | - | 0.0810 | 0.0810 | form_only |
| predicted_HR | 0.0600 | 0.0600 | 0.0600 | model_form_blend |
| predicted_OBP | 0.2770 | 0.2842 | 0.2801 | model_form_blend |
| predicted_R | 0.4070 | 1.1000 | 0.7015 | model_form_blend |
| predicted_RBI | 0.2400 | 0.5390 | 0.3671 | model_form_blend |
| predicted_SLG | 0.3220 | 0.3211 | 0.3216 | model_form_blend |
| predicted_SO | 1.1100 | 2.8840 | 1.8639 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 99 |
| Season rows before report date | 99 |
| 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 | 2 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 1 |
| 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 | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | CF |
| gameID | 20260522_COL@ARI |
| game_type | short |
| mlbID | 678489 |
| playerID | 678489 |
| playerName | Jorge Barrosa |
| pos | CF |
| started | False |
| startingPosition | CF |
| team | ARI |
| teamID | 1 |
| game_date | 2026-05-22 |
| game_pk | 825082.0 |
| sl_k_percent | 31.3 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.267 |
| sl_xwoba | 0.222 |
| sl_xba | 0.156 |
| sl_xslg | 0.242 |
| sl_sweet_spot_percent | 36.8 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 21.1 |
| sl_exit_velocity_avg | 85.9 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 27.4 |
| sl_swing_percent | 44.2 |
| at_bat_number | 47.0 |
| ab_pitcher | 608372.0 |
| ab_pitcher_name | Sugano, Tomoyuki |
| ab_home_team | AZ |
| ab_away_team | COL |
| ab_game_type | R |
| ab_stand | L |
| 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 | 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 | Jorge Barrosa 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_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 | 1.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 5.0 |
| ab_delta_run_exp_avg | -0.052 |
| ab_delta_home_win_exp_avg | -0.0021999999999999 |
| ab_delta_pitcher_run_exp_avg | 0.052 |
| ab_delta_run_exp_sum | -0.26 |
| ab_delta_home_win_exp_sum | -0.011 |
| ab_delta_pitcher_run_exp_sum | 0.26 |
| 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.500 | 0.000 | 1.000 | Hitting_2B | 0.471 | 0.000 | -0.471 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.125 | 4.000 | 4.000 | Hitting_AB | 2.941 | 0.000 | 1.059 | 4.000 |
| predicted_AVG | 0.253 | 0.000 | 0.250 | Hitting_AVG | 0.360 | - | -0.360 | - |
| predicted_BB | 0.500 | 0.000 | 1.000 | Hitting_BB | 0.471 | 0.000 | -0.471 | 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 | 1.059 | 0.000 | -1.059 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.318 | 0.000 | 0.400 | Hitting_OBP | 0.448 | - | -0.448 | - |
| predicted_R | 1.125 | 0.000 | 1.000 | Hitting_R | 1.059 | 0.000 | -1.059 | 0.000 |
| predicted_RBI | 0.260 | 0.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.345 | 0.000 | 0.500 | Hitting_SLG | 0.520 | - | -0.520 | - |
| predicted_SO | 0.375 | 1.000 | 1.000 | Hitting_SO | 0.353 | 0.000 | 0.647 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.1250 -> 4.0000 (boost 0.8750, better) |
| Biggest Deboost | predicted_R: 1.1250 -> 0.0000 (deboost -1.1250, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.1250 -> 4.2491 (boost 1.1241, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3760 -> 0.4161 (boost 0.0401, better) | predicted_R: 1.3054 -> 1.2078 (deboost -0.0976, 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_2B: 0.5375 -> 1.0000 (boost 0.4625, better) | predicted_AB: 4.2491 -> 4.0000 (deboost -0.2491, worse) | AB rounded to 4 (raw=4.25), rates preserved: AVG=0.241 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2078 -> 1.0000 (deboost -0.2078, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4161 -> 0.5000 (boost 0.0839, better) | - | 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_2B: 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_SLG: 0.5000 -> 0.4161 (deboost -0.0839, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694371",
"player_name": "Tommy Troy",
"position": "LF",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.5,
"predicted_3B": 0.0,
"predicted_AB": 3.125,
"predicted_AVG": 0.253,
"predicted_BB": 0.5,
"predicted_H": 0.62,
"predicted_HR": 0.07,
"predicted_OBP": 0.318,
"predicted_R": 1.125,
"predicted_RBI": 0.26,
"predicted_SLG": 0.345,
"predicted_SO": 0.375
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.5375,
"predicted_3B": 0.0028,
"predicted_AB": 4.2491,
"predicted_AVG": 0.2697,
"predicted_BB": 0.604,
"predicted_H": 1.0698,
"predicted_HBP": 0.02,
"predicted_HR": 0.0711,
"predicted_OBP": 0.3393,
"predicted_R": 1.3054,
"predicted_RBI": 0.2681,
"predicted_SLG": 0.376,
"predicted_SO": 0.6556
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5,
"after": 0.5375,
"delta": 0.0375,
"percent_delta": 0.075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0028,
"delta": 0.0028,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.125,
"after": 4.2491,
"delta": 1.1241,
"percent_delta": 0.3597,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2697,
"delta": 0.0167,
"percent_delta": 0.066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.604,
"delta": 0.104,
"percent_delta": 0.208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 1.0698,
"delta": 0.4498,
"percent_delta": 0.7255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0711,
"delta": 0.0011,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3393,
"delta": 0.0213,
"percent_delta": 0.067,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.125,
"after": 1.3054,
"delta": 0.1804,
"percent_delta": 0.1604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.2681,
"delta": 0.0081,
"percent_delta": 0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.345,
"after": 0.376,
"delta": 0.031,
"percent_delta": 0.0899,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.375,
"after": 0.6556,
"delta": 0.2806,
"percent_delta": 0.7483,
"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.125,
"after": 4.2491,
"delta": 1.1241,
"percent_delta": 0.3597,
"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": 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.5375,
"predicted_3B": 0.0028,
"predicted_AB": 4.2491,
"predicted_AVG": 0.2405,
"predicted_BB": 0.5989,
"predicted_H": 1.0221,
"predicted_HBP": 0.02,
"predicted_HR": 0.0676,
"predicted_OBP": 0.3344,
"predicted_R": 1.2078,
"predicted_RBI": 0.248,
"predicted_SLG": 0.4161,
"predicted_SO": 0.6612
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5375,
"after": 0.5375,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0028,
"after": 0.0028,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2491,
"after": 4.2491,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2697,
"after": 0.2405,
"delta": -0.0292,
"percent_delta": -0.1083,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.604,
"after": 0.5989,
"delta": -0.0051,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0698,
"after": 1.0221,
"delta": -0.0477,
"percent_delta": -0.0446,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.02,
"after": 0.02,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0711,
"after": 0.0676,
"delta": -0.0035,
"percent_delta": -0.0492,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3393,
"after": 0.3344,
"delta": -0.0049,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.3054,
"after": 1.2078,
"delta": -0.0976,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2681,
"after": 0.248,
"delta": -0.0201,
"percent_delta": -0.075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.4161,
"delta": 0.0401,
"percent_delta": 0.1066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6556,
"after": 0.6612,
"delta": 0.0056,
"percent_delta": 0.0085,
"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.376,
"after": 0.4161,
"delta": 0.0401,
"percent_delta": 0.1066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.3054,
"after": 1.2078,
"delta": -0.0976,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.25), rates preserved: AVG=0.241 HR/AB=0.016",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5375,
"after": 1.0,
"delta": 0.4625,
"percent_delta": 0.8605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0028,
"after": 0.0,
"delta": -0.0028,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2491,
"after": 4.0,
"delta": -0.2491,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5989,
"after": 1.0,
"delta": 0.4011,
"percent_delta": 0.6697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0221,
"after": 1.0,
"delta": -0.0221,
"percent_delta": -0.0216,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0676,
"after": 0.0,
"delta": -0.0676,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.248,
"after": 0.0,
"delta": -0.248,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6612,
"after": 1.0,
"delta": 0.3388,
"percent_delta": 0.5124,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.5375,
"after": 1.0,
"delta": 0.4625,
"percent_delta": 0.8605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.2491,
"after": 4.0,
"delta": -0.2491,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.2078,
"after": 1.0,
"delta": -0.2078,
"percent_delta": -0.172,
"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.2078,
"after": 1.0,
"delta": -0.2078,
"percent_delta": -0.172,
"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": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.5,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2405,
"after": 0.25,
"delta": 0.0095,
"percent_delta": 0.0395,
"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.3344,
"after": 0.4,
"delta": 0.0656,
"percent_delta": 0.1962,
"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.4161,
"after": 0.5,
"delta": 0.0839,
"percent_delta": 0.2016,
"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.4161,
"after": 0.5,
"delta": 0.0839,
"percent_delta": 0.2016,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2405,
"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.3344,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4161,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2405,
"delta": -0.0095,
"percent_delta": -0.0378,
"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.3344,
"delta": -0.0656,
"percent_delta": -0.1641,
"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.5,
"after": 0.4161,
"delta": -0.0839,
"percent_delta": -0.1678,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.4161,
"delta": -0.0839,
"percent_delta": -0.1678,
"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.5,
"after": 0.0,
"delta": -0.5,
"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.125,
"after": 4.0,
"delta": 0.875,
"percent_delta": 0.28,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2405,
"delta": -0.0125,
"percent_delta": -0.0494,
"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.62,
"after": 0.0,
"delta": -0.62,
"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.318,
"after": 0.3344,
"delta": 0.0164,
"percent_delta": 0.0516,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.125,
"after": 0.0,
"delta": -1.125,
"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.345,
"after": 0.4161,
"delta": 0.0711,
"percent_delta": 0.2061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.375,
"after": 1.0,
"delta": 0.625,
"percent_delta": 1.6667,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.125,
"after": 4.0,
"delta": 0.875,
"percent_delta": 0.28,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.125,
"after": 0.0,
"delta": -1.125,
"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.500 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.125 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.500 | - |
| predicted_H | 0.620 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 1.125 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.345 | - |
| predicted_SO | 0.375 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.537 | 0.037 |
| predicted_3B | 0.003 | 0.003 |
| predicted_AB | 4.249 | 1.124 |
| predicted_AVG | 0.270 | 0.017 |
| predicted_BB | 0.604 | 0.104 |
| predicted_H | 1.070 | 0.450 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.071 | 0.001 |
| predicted_OBP | 0.339 | 0.021 |
| predicted_R | 1.305 | 0.180 |
| predicted_RBI | 0.268 | 0.008 |
| predicted_SLG | 0.376 | 0.031 |
| predicted_SO | 0.656 | 0.281 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.537 | 0.000 |
| predicted_3B | 0.003 | 0.000 |
| predicted_AB | 4.249 | 0.000 |
| predicted_AVG | 0.240 | -0.029 |
| predicted_BB | 0.599 | -0.005 |
| predicted_H | 1.022 | -0.048 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.068 | -0.004 |
| predicted_OBP | 0.334 | -0.005 |
| predicted_R | 1.208 | -0.098 |
| predicted_RBI | 0.248 | -0.020 |
| predicted_SLG | 0.416 | 0.040 |
| predicted_SO | 0.661 | 0.006 |
AB rounded to 4 (raw=4.25), rates preserved: AVG=0.241 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 1.000 | 0.463 |
| predicted_3B | 0.000 | -0.003 |
| predicted_AB | 4.000 | -0.249 |
| predicted_AVG | 0.250 | 0.010 |
| predicted_BB | 1.000 | 0.401 |
| predicted_H | 1.000 | -0.022 |
| predicted_HR | 0.000 | -0.068 |
| predicted_OBP | 0.400 | 0.066 |
| predicted_R | 1.000 | -0.208 |
| predicted_RBI | 0.000 | -0.248 |
| predicted_SLG | 0.500 | 0.084 |
| predicted_SO | 1.000 | 0.339 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 3 | - | 16.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 1.000 | 6.000 | 0.1875 | 0.2353 | 0.1875 | 0.1875 | 0.0000 | 0.0000 | 0.0625 | 0.3750 |
| last_10 | 0.20 | 5 | - | 28.000 | 8.000 | 0.000 | 0.000 | 0.000 | 0.000 | 8.000 | 6.000 | 6.000 | 0.2857 | 0.4118 | 0.2857 | 0.2857 | 0.0000 | 0.0000 | 0.2143 | 0.2143 |
| season | 0.60 | 6 | - | 50.000 | 18.000 | 8.000 | 0.000 | 0.000 | 0.000 | 18.000 | 8.000 | 6.000 | 0.3600 | 0.4483 | 0.5200 | 0.3600 | 0.0000 | 0.0000 | 0.1600 | 0.1200 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6070 |
| predicted_3B | 0.0080 |
| predicted_AB | 6.3340 |
| predicted_AVG | 0.3006 |
| predicted_BB | 0.7970 |
| predicted_H | 1.9040 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.0730 |
| predicted_OBP | 0.3789 |
| predicted_R | 1.6400 |
| predicted_RBI | 0.2830 |
| predicted_SLG | 0.4335 |
| predicted_SO | 1.1760 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.5000 | 0.6070 | 0.5375 | model_form_blend |
| predicted_3B | 0.0000 | 0.0080 | 0.0028 | model_form_blend |
| predicted_AB | 3.1250 | 6.3340 | 4.2491 | model_form_blend |
| predicted_AVG | 0.2530 | 0.3006 | 0.2697 | model_form_blend |
| predicted_BB | 0.5000 | 0.7970 | 0.6040 | model_form_blend |
| predicted_H | 0.6200 | 1.9040 | 1.0698 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.0700 | 0.0730 | 0.0711 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3789 | 0.3393 | model_form_blend |
| predicted_R | 1.1250 | 1.6400 | 1.3054 | model_form_blend |
| predicted_RBI | 0.2600 | 0.2830 | 0.2681 | model_form_blend |
| predicted_SLG | 0.3450 | 0.4335 | 0.3760 | model_form_blend |
| predicted_SO | 0.3750 | 1.1760 | 0.6556 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.36 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 2 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260531_ARI@SEA |
| game_type | short |
| mlbID | 694371 |
| playerID | 694371 |
| playerName | Tommy Troy |
| pos | OF |
| started | False |
| startingPosition | LF |
| team | ARI |
| teamID | 1 |
| game_date | 2026-05-31 |
| sl_k_percent | 18.2 |
| sl_bb_percent | 13.6 |
| sl_woba | 0.334 |
| sl_xwoba | 0.312 |
| sl_xba | 0.245 |
| sl_xslg | 0.332 |
| sl_sweet_spot_percent | 20.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 26.7 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 12.1 |
| sl_whiff_percent | 24.4 |
| sl_swing_percent | 43.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 2.273 | 2.000 | -2.273 | -2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 1.545 | 2.000 | -1.545 | -2.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 5.000 | 6.000 | -1.000 | -2.000 |
| predicted_IP | 6.200 | 6.200 | 6.200 | Pitching_InningsPitched | 5.945 | 6.000 | 0.255 | 0.200 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 4.455 | 6.000 | 1.545 | 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: 8.0000 -> 6.2000 (deboost -1.8000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 8.0000 -> 6.2000 (deboost -1.8000, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | pitcher_quality_guardrail | 0 | 0 | 0 | 0 | 0 | - | - | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 4 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "593958",
"player_name": "Eduardo Rodriguez",
"position": "Starter",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 8.0,
"predicted_SO": 6.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 6.2,
"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": 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": 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": 8.0,
"after": 6.2,
"delta": -1.8,
"percent_delta": -0.225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 8.0,
"after": 6.2,
"delta": -1.8,
"percent_delta": -0.225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "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": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 6.2,
"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": 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": 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": 6.2,
"after": 6.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"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": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 6.2,
"predicted_R": 0.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": 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": 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": 6.2,
"after": 6.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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": 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": 8.0,
"after": 6.2,
"delta": -1.8,
"percent_delta": -0.225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 8.0,
"after": 6.2,
"delta": -1.8,
"percent_delta": -0.225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 8.000 | - |
| predicted_SO | 6.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 |
| predicted_H | 4.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.200 | -1.800 |
| predicted_SO | 6.000 | 0.000 |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 |
| predicted_H | 4.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.200 | 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 | 33.200 | 6.000 | 25.000 | 9.000 | 27.000 | 1.000 | 1.6040 | 1.0099 | 0.1782 | 0.7426 | 0.2673 | 0.8020 | 0.0297 |
| last_10 | 0.35 | 10 | 61.100 | 17.000 | 51.000 | 23.000 | 44.000 | 5.000 | 2.4946 | 1.2065 | 0.2772 | 0.8315 | 0.3750 | 0.7174 | 0.0815 |
| season | 0.20 | 11 | 66.100 | 17.000 | 55.000 | 25.000 | 49.000 | 5.000 | 2.3065 | 1.2060 | 0.2563 | 0.8292 | 0.3769 | 0.7387 | 0.0754 |
| Metric | Value |
|---|---|
| predicted_BB | 2.3220 |
| predicted_ER | 2.0900 |
| predicted_ERA | 2.7535 |
| predicted_H | 5.7430 |
| predicted_HR | 0.5530 |
| predicted_IP | 6.2000 |
| predicted_SO | 5.5760 |
| predicted_WHIP | 1.1807 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 2.3220 | 1.2027 | model_form_blend |
| predicted_ER | 0.0000 | 2.0900 | 1.0826 | model_form_blend |
| predicted_ERA | - | 2.7535 | 2.7535 | form_only |
| predicted_H | 4.0000 | 5.7430 | 4.9028 | model_form_blend |
| predicted_HR | 0.0000 | 0.5530 | 0.2864 | model_form_blend |
| predicted_IP | 8.0000 | 6.2000 | 7.1000 | model_form_blend |
| predicted_SO | 6.0000 | 5.5760 | 5.7804 | model_form_blend |
| predicted_WHIP | - | 1.1807 | 1.1807 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 11 |
| Season rows before report date | 11 |
| Report year | 2026 |
| Profile rows used | 11 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.2 |
| H | 4 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 6 |
| HR | 0 |
| BF | 25 |
| Pitches | 101 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 25 |
| Pitching_ER | 2 |
| Pitching_ERA | 2.31 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 2 |
| Pitching_H | 6 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 94 |
| Pitching_R | 2 |
| Pitching_SO | 6 |
| Pitching_Strikes | 60 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260526_ARI@SF |
| game_type | full |
| mlbID | 593958 |
| playerID | 593958 |
| playerName | Eduardo Rodriguez |
| pos | P |
| started | True |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-05-26 |
| game_pk | 823216.0 |
| sl_k_percent | 18.0 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.29 |
| sl_xwoba | 0.332 |
| sl_sweet_spot_percent | 35.9 |
| sl_barrel_batted_rate | 7.6 |
| sl_hard_hit_percent | 35.9 |
| sl_whiff_percent | 19.2 |
| sl_swing_percent | 46.2 |
| sv_pitch_count | 94.0 |
| sv_outs_recorded_est | 18.0 |
| sv_release_speed | 86.93829787234043 |
| sv_release_spin_rate | 2189.106382978724 |
| sv_effective_speed | 87.47978723404256 |
| sv_launch_speed | 84.69666666666667 |
| sv_launch_angle | 17.8 |
| sv_woba_value | 8.95 |
| sv_woba_denom | 25.0 |
| sv_delta_run_exp | 1.086 |
| sv_delta_home_win_exp | -0.165 |
| sl_avg_best_speed | 78.343759184 |
| sl_avg_hyper_speed | 93.726907692 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 1.050 | 1.000 | -0.850 | -0.800 |
| 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: 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": "642528",
"player_name": "Jonathan Loáisiga",
"position": "Middle Reliever",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 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 | 2.100 | 0.000 | 1.000 | 0.000 | 2.000 | 0.000 | 0.0000 | 0.4286 | 0.0000 | 0.4286 | 0.0000 | 0.8571 | 0.0000 |
| last_10 | 0.35 | 2 | 2.100 | 0.000 | 1.000 | 0.000 | 2.000 | 0.000 | 0.0000 | 0.4286 | 0.0000 | 0.4286 | 0.0000 | 0.8571 | 0.0000 |
| season | 0.20 | 2 | 2.100 | 0.000 | 1.000 | 0.000 | 2.000 | 0.000 | 0.0000 | 0.4286 | 0.0000 | 0.4286 | 0.0000 | 0.8571 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1410 |
| predicted_ER | 0.1820 |
| predicted_ERA | 3.9262 |
| predicted_H | 0.3780 |
| predicted_HR | 0.0510 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3900 |
| predicted_WHIP | 1.2436 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1410 | 0.0371 | model_form_blend |
| predicted_ER | 0.0000 | 0.1820 | 0.0479 | model_form_blend |
| predicted_ERA | - | 3.9262 | 3.9262 | form_only |
| predicted_H | 0.0000 | 0.3780 | 0.0995 | model_form_blend |
| predicted_HR | 0.0000 | 0.0510 | 0.0134 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.3900 | 0.1026 | model_form_blend |
| predicted_WHIP | - | 1.2436 | 1.2436 | 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.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 2 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260328_ARI@LAD |
| game_type | full |
| mlbID | 642528 |
| playerID | 642528 |
| playerName | Jonathan Loáisiga |
| pos | P |
| started | False |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-03-28 |
| game_pk | 823973.0 |
| sl_k_percent | 15.7 |
| sl_bb_percent | 3.6 |
| sl_woba | 0.261 |
| sl_xwoba | 0.3 |
| sl_sweet_spot_percent | 27.3 |
| sl_barrel_batted_rate | 4.5 |
| sl_hard_hit_percent | 40.9 |
| sl_whiff_percent | 20.8 |
| sl_swing_percent | 51.5 |
| sv_pitch_count | 18.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 92.73888888888888 |
| sv_release_spin_rate | 2386.833333333333 |
| sv_effective_speed | 92.84444444444443 |
| sv_launch_speed | 82.26666666666667 |
| sv_launch_angle | 12.833333333333334 |
| sv_woba_value | 1.25 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | 0.1770000000000001 |
| sv_delta_home_win_exp | -0.0119999999999999 |
| sl_avg_best_speed | 77.319524242 |
| sl_avg_hyper_speed | 94.148351846 |
| 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.000 | 0.000 | 3.000 | 3.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.100 | 0.100 | 0.100 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.000 | 0.000 | 1.000 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 0.2000 (boost 0.1000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 0.2000 (boost 0.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "623149",
"player_name": "Paul Sewald",
"position": "Middle Reliever",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 1.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 1.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 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 | 3.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 1 | 0.100 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| last_10 | 0.35 | 1 | 0.100 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| season | 0.20 | 1 | 0.100 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1210 |
| predicted_ER | 0.1570 |
| predicted_ERA | 4.2319 |
| predicted_H | 0.3130 |
| predicted_HR | 0.0440 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3090 |
| predicted_WHIP | 1.3015 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 0.1210 | 2.3292 | model_form_blend |
| predicted_ER | 1.0000 | 0.1570 | 0.8036 | model_form_blend |
| predicted_ERA | - | 4.2319 | 4.2319 | form_only |
| predicted_H | 0.0000 | 0.3130 | 0.0729 | model_form_blend |
| predicted_HR | 0.0000 | 0.0440 | 0.0103 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.3090 | 0.8390 | model_form_blend |
| predicted_WHIP | - | 1.3015 | 1.3015 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 1 |
| Season rows before report date | 1 |
| Report year | 2026 |
| Profile rows used | 1 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 1 |
| ER | 1 |
| BB | 3 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 1 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 5 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260328_ARI@LAD |
| game_type | full |
| mlbID | 623149 |
| playerID | 623149 |
| playerName | Paul Sewald |
| pos | P |
| started | False |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-03-28 |
| game_pk | 823973.0 |
| sl_k_percent | 29.6 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.247 |
| sl_xwoba | 0.27 |
| sl_sweet_spot_percent | 42.0 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 40.0 |
| sl_whiff_percent | 27.2 |
| sl_swing_percent | 53.0 |
| sv_pitch_count | 5.0 |
| sv_outs_recorded_est | 1.0 |
| sv_release_speed | 88.6 |
| sv_release_spin_rate | 2524.2 |
| sv_effective_speed | 88.5 |
| sv_launch_speed | 79.85 |
| sv_launch_angle | 22.5 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 1.0 |
| sv_delta_run_exp | -0.26 |
| sv_delta_home_win_exp | -0.008 |
| sl_avg_best_speed | 81.2359812 |
| sl_avg_hyper_speed | 94.206414286 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 4.000 | 4.000 | -3.000 | -3.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 3.000 | 3.000 | -1.000 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.100 | 0.100 | 0.900 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.000 | 0.000 | 1.000 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "664199",
"player_name": "Taylor Clarke",
"position": "Middle Reliever",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 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": 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": 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": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 1 | 0.100 | 4.000 | 3.000 | 0.000 | 0.000 | 1.000 | 108.0000 | 9.0000 | 12.0000 | 9.0000 | 0.0000 | 0.0000 | 3.0000 |
| last_10 | 0.35 | 1 | 0.100 | 4.000 | 3.000 | 0.000 | 0.000 | 1.000 | 108.0000 | 9.0000 | 12.0000 | 9.0000 | 0.0000 | 0.0000 | 3.0000 |
| season | 0.20 | 1 | 0.100 | 4.000 | 3.000 | 0.000 | 0.000 | 1.000 | 108.0000 | 9.0000 | 12.0000 | 9.0000 | 0.0000 | 0.0000 | 3.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1210 |
| predicted_ER | 0.2090 |
| predicted_ERA | 5.6359 |
| predicted_H | 0.3520 |
| predicted_HR | 0.0570 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3090 |
| predicted_WHIP | 1.4185 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.1210 | 0.7952 | model_form_blend |
| predicted_ER | 1.0000 | 0.2090 | 0.8157 | model_form_blend |
| predicted_ERA | - | 5.6359 | 5.6359 | form_only |
| predicted_H | 2.0000 | 0.3520 | 1.6160 | model_form_blend |
| predicted_HR | 1.0000 | 0.0570 | 0.7803 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.3090 | 0.8390 | model_form_blend |
| predicted_WHIP | - | 1.4185 | 1.4185 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 1 |
| Season rows before report date | 1 |
| Report year | 2026 |
| Profile rows used | 1 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 1 |
| 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 | 5 |
| Pitching_ER | 4 |
| Pitching_ERA | 108.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 3 |
| Pitching_HBP | 1 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 16 |
| Pitching_R | 4 |
| Pitching_SO | 0 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260326_ARI@LAD |
| game_type | full |
| mlbID | 664199 |
| playerID | 664199 |
| playerName | Taylor Clarke |
| pos | P |
| started | False |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-03-26 |
| game_pk | 823974.0 |
| sl_k_percent | 11.1 |
| sl_bb_percent | 3.3 |
| sl_woba | 0.201 |
| sl_xwoba | 0.272 |
| sl_sweet_spot_percent | 25.3 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 29.3 |
| sl_whiff_percent | 18.6 |
| sl_swing_percent | 48.6 |
| sv_pitch_count | 16.0 |
| sv_outs_recorded_est | 1.0 |
| sv_release_speed | 90.64375 |
| sv_release_spin_rate | 2063.3125 |
| sv_effective_speed | 90.75 |
| sv_launch_speed | 94.02 |
| sv_launch_angle | 22.0 |
| sv_woba_value | 4.85 |
| sv_woba_denom | 5.0 |
| sv_delta_run_exp | 2.918 |
| sv_delta_home_win_exp | 0.105 |
| sl_avg_best_speed | 73.913218649 |
| sl_avg_hyper_speed | 92.763755405 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | MIA 2 - 3 WAS | WAS | 0.548 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | MIA 2 - 3 WAS | WAS | - | 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 | 9.8000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5481 |
| 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.403 | 3.917 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 4 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 2 | 3 | 0.5481 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 2 | 3 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 2 | 3 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 2 | 3 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.43640243902439024,
"base_low_score_probability": 0.42784552845528456,
"low_score_signal_threshold": 0.5078455284552845,
"low_score_signal_strength": 0.00855691056910568,
"confidence": 0.61,
"factors": {
"environmental": 1.02,
"pitcher_form": 1.0,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.02
},
"prediction": "normal_scoring",
"expected_total_runs": 5,
"pre_simulation_expected_total_runs": 9.8,
"low_score_model_expected_total_runs": 9.8,
"final_simulation_total_runs": 5,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 73,
"near_bucket_sample_size": 73,
"medium_bucket_sample_size": 74,
"wide_bucket_sample_size": 74,
"global_sample_size": 74,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5616,
"bayesian_hit_rate": 0.5495,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8022,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5594,
"calibrated_pick_probability": 0.5481,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "WAS",
"games": 60,
"wins": 31,
"losses": 29,
"win_pct": 0.5166666666666667,
"runs_scored": 324,
"runs_allowed": 323,
"run_differential": 1,
"run_differential_per_game": 0.016666666666666666,
"available": true
},
"away": {
"team": "MIA",
"games": 60,
"wins": 26,
"losses": 34,
"win_pct": 0.43333333333333335,
"runs_scored": 250,
"runs_allowed": 279,
"run_differential": -29,
"run_differential_per_game": -0.48333333333333334,
"available": true
},
"run_differential_edge_per_game": 0.5,
"win_pct_edge": 0.0833,
"quality_edge": 0.625,
"margin_adjustment": 0.2625,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 1.993,
"home_runs": 2.692,
"home_win_probability": 0.5594
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "WAS",
"guardrail_predicted_team": "WAS",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "WAS",
"output_opponent_team": "MIA",
"final_score_winner": "WAS",
"pre_simulation_winner": "WAS",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 3,
"score_text": "MIA 2 - 3 WAS",
"winner": "WAS"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 3,
"score_text": "MIA 2 - 3 WAS",
"winner": "WAS"
},
"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": "WAS",
"games": 60,
"wins": 31,
"losses": 29,
"win_pct": 0.5166666666666667,
"runs_scored": 324,
"runs_allowed": 323,
"run_differential": 1,
"run_differential_per_game": 0.016666666666666666,
"available": true
},
"away": {
"team": "MIA",
"games": 60,
"wins": 26,
"losses": 34,
"win_pct": 0.43333333333333335,
"runs_scored": 250,
"runs_allowed": 279,
"run_differential": -29,
"run_differential_per_game": -0.48333333333333334,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.6984,
"final_margin": 0.6984,
"margin_cap": 1.5,
"season_quality_edge": 0.625,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.548073,
"final_confidence": 0.548073,
"confidence_cap": 0.66,
"score_gap": 0.6984,
"calibration_sample_size": 73,
"calibration_empirical_hit_rate": 0.5616,
"calibration_bayesian_hit_rate": 0.5495,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.625,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is close",
"local calibration sample has at least 30 games",
"local calibration sample has at least 60 games",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 3,
"score_text": "MIA 2 - 3 WAS",
"winner": "WAS"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 3,
"score_text": "MIA 2 - 3 WAS",
"winner": "WAS"
},
"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": 2,
"home_runs": 3,
"confidence": 0.548073,
"home_win_probability": 0.548073,
"away_win_probability": 0.45192699999999997,
"predicted_score_text": "MIA 2 - 3 WAS",
"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": "MIA",
"original_runs": 2,
"run_delta": -0.057,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 60.0,
"quality": -0.045798634108710656,
"contact": -0.02364965355287662,
"power": -0.1528865735493573,
"discipline": 0.08251921086998444,
"xwoba": 0.31176666666666664,
"recent_xwoba": 0.31176666666666664,
"barrel": 6.758333333333334,
"ab_hard_contact": -0.10160448686017977,
"ab_bat_speed": 69.91353369560763,
"ab_strikeout_rate": 0.21213847311269957,
"available_players": 9,
"top_players": [
{
"player_id": "681393",
"player_name": "Connor Norby",
"position": "1B",
"weight": 7.0,
"quality": -0.5826777854473344,
"contact": -0.9944688927352318,
"power": -0.5650051322680821,
"discipline": -0.26500711193568327,
"xwoba": 0.285,
"recent_xwoba": 0.285,
"barrel": 7.3,
"ab_hard_contact": -0.17857883583785353,
"ab_bat_speed": 68.98895011337868,
"ab_strikeout_rate": 0.2744897959183673,
"available": 1.0
},
{
"player_id": "805300",
"player_name": "Jakob Marsee",
"position": "CF",
"weight": 8.0,
"quality": -0.48627046813963,
"contact": -0.5195523344261941,
"power": -0.8290334422397079,
"discipline": 0.5786190476190476,
"xwoba": 0.297,
"recent_xwoba": 0.297,
"barrel": 4.0,
"ab_hard_contact": -0.9391450352703624,
"ab_bat_speed": 68.07094100091827,
"ab_strikeout_rate": 0.24636363636363637,
"available": 1.0
},
{
"player_id": "672640",
"player_name": "Otto Lopez",
"position": "SS",
"weight": 8.0,
"quality": 0.4565848417052782,
"contact": 0.8029800577815986,
"power": 0.48211738328451603,
"discipline": -0.30199134199134203,
"xwoba": 0.333,
"recent_xwoba": 0.333,
"barrel": 7.9,
"ab_hard_contact": 0.31701433235696175,
"ab_bat_speed": 70.77178737373738,
"ab_strikeout_rate": 0.15454545454545454,
"available": 1.0
},
{
"player_id": "691788",
"player_name": "Joe Mack",
"position": "C",
"weight": 5.0,
"quality": -0.2867556819337417,
"contact": -1.4233047542256925,
"power": -0.8630556171331953,
"discipline": -0.7888669400774664,
"xwoba": 0.22200000000000003,
"recent_xwoba": 0.22200000000000003,
"barrel": 4.8,
"ab_hard_contact": -0.12625519980678107,
"ab_bat_speed": 73.64769736842106,
"ab_strikeout_rate": 0.26842105263157895,
"available": 1.0
},
{
"player_id": "669364",
"player_name": "Xavier Edwards",
"position": "2B",
"weight": 8.0,
"quality": 0.35753634008135976,
"contact": 0.6712866596214246,
"power": 0.013974656958757756,
"discipline": 1.102982683982684,
"xwoba": 0.355,
"recent_xwoba": 0.355,
"barrel": 6.8,
"ab_hard_contact": -0.3071735274915241,
"ab_bat_speed": 66.34345808080808,
"ab_strikeout_rate": 0.11964285714285715,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "676917",
"player_name": "Cade Cavalli",
"quality": -0.12146391872479424,
"contact": -0.43912822546660757,
"command": 0.25813412980239364,
"movement": 0.2589752083922915,
"xwoba": 0.315,
"whiff": 25.2,
"faced_est_woba": 0.3257125837429529,
"faced_launch_speed": 85.05233907672122,
"faced_strikeout_rate": 0.24463908358755335,
"faced_run_exp": -0.021348560145560715
}
},
"home": {
"team": "WAS",
"original_runs": 3,
"run_delta": 0.2924,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 66.0,
"quality": 0.24600579648837892,
"contact": 0.29846861063789126,
"power": 0.2560207895615496,
"discipline": 0.08277175883455574,
"xwoba": 0.3310757575757576,
"recent_xwoba": 0.3310757575757576,
"barrel": 9.365151515151515,
"ab_hard_contact": 0.11422957502340066,
"ab_bat_speed": 70.06751425552201,
"ab_strikeout_rate": 0.1984749944121975,
"available_players": 9,
"top_players": [
{
"player_id": "695578",
"player_name": "James Wood",
"position": "RF",
"weight": 9.0,
"quality": 1.5842590501303508,
"contact": 1.5919895484698208,
"power": 2.0,
"discipline": 0.592213976499691,
"xwoba": 0.439,
"recent_xwoba": 0.43899999999999995,
"barrel": 25.5,
"ab_hard_contact": 1.3424016102449685,
"ab_bat_speed": 74.21144047619048,
"ab_strikeout_rate": 0.2949829931972789,
"available": 1.0
},
{
"player_id": "683083",
"player_name": "Nasim Nuñez",
"position": "2B",
"weight": 7.0,
"quality": -0.8952756403886408,
"contact": -1.1552661458936375,
"power": -1.6872256559728536,
"discipline": 0.362234384662956,
"xwoba": 0.27,
"recent_xwoba": 0.27,
"barrel": 0.0,
"ab_hard_contact": -1.2085131194570986,
"ab_bat_speed": 63.84837018140589,
"ab_strikeout_rate": 0.19931972789115648,
"available": 1.0
},
{
"player_id": "682928",
"player_name": "CJ Abrams",
"position": "SS",
"weight": 8.0,
"quality": 0.6411242142649086,
"contact": 0.8061491373115922,
"power": 0.7993893638714695,
"discipline": 0.14911904761904762,
"xwoba": 0.374,
"recent_xwoba": 0.374,
"barrel": 11.1,
"ab_hard_contact": 0.6483587060008076,
"ab_bat_speed": 71.01854023569024,
"ab_strikeout_rate": 0.2077922077922078,
"available": 1.0
},
{
"player_id": "678554",
"player_name": "Curtis Mead",
"position": "3B",
"weight": 6.0,
"quality": 0.5717800624941681,
"contact": 0.9911777213229355,
"power": 0.8963545362149187,
"discipline": 1.1412370393833808,
"xwoba": 0.377,
"recent_xwoba": 0.377,
"barrel": 11.7,
"ab_hard_contact": 0.32366215286978095,
"ab_bat_speed": 71.61702574525745,
"ab_strikeout_rate": 0.1573170731707317,
"available": 1.0
},
{
"player_id": "699912",
"player_name": "Jose Fernandez",
"position": "DH",
"weight": 7.0,
"quality": -0.33473834903716926,
"contact": -0.4430269466939057,
"power": -0.553773032023371,
"discipline": -0.724839615668884,
"xwoba": 0.275,
"recent_xwoba": 0.275,
"barrel": 3.4,
"ab_hard_contact": -0.29336540237220154,
"ab_bat_speed": 72.45649122807018,
"ab_strikeout_rate": 0.25853658536585367,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "645261",
"player_name": "Sandy Alcantara",
"quality": -0.16493107168928953,
"contact": -0.18158779586278614,
"command": -0.4124630233778103,
"movement": 0.3183017493896326,
"xwoba": 0.309,
"whiff": 21.8,
"faced_est_woba": 0.2965442871910698,
"faced_launch_speed": 84.5527378582187,
"faced_strikeout_rate": 0.16472675472675471,
"faced_run_exp": -0.004483363007142773
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 2,
"home_runs": 3,
"predicted_score_text": "MIA 2 - 3 WAS",
"confidence": 0.548073,
"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": 2,
"home_runs": 3,
"score_text": "MIA 2 - 3 WAS",
"winner": "WAS"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 3,
"score_text": "MIA 2 - 3 WAS",
"winner": "WAS"
},
"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 MIA | True | 1.0021 | 1.0021 | 1 | 9 | 0 |
| Home WAS | True | 1.0260 | 1.0260 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LF | Kyle Stowers | 488 | 1.0103 | 0.1373 | neutral | 0.3090 | 0.2410 | 0.3760 | 6.70 | 50 | 90.50 | 15.90 | 34.80 | 28.40 | 9.50 | 0.3714 |
| DH | Liam Hicks | 50 | 0.9966 | -0.0458 | negative_batter_regression | 0.3240 | 0.2590 | 0.3860 | 4.70 | 33.90 | 86.50 | 14.60 | 10.50 | 8.90 | 8.90 | -1.0286 |
| 2B | Xavier Edwards | 14 | 1.0422 | 0.5633 | negative_batter_regression | 0.3550 | 0.2860 | 0.4370 | 6.80 | 33.50 | 87.60 | 11.20 | 14.20 | 11.60 | 12 | -1.0571 |
| 3B | Leo Jiménez | 480 | 1.0440 | 0.5860 | positive_batter_regression | 0.3800 | 0.2990 | 0.4270 | 7.70 | 41 | 91 | 3.70 | 18.40 | 16.10 | 10.70 | 2 |
| SS | Otto Lopez | 9 | 1.0378 | 0.5044 | neutral | 0.3330 | 0.2910 | 0.4480 | 7.90 | 44.80 | 90.40 | 7.30 | 20.60 | 16 | 3.70 | -0.7429 |
| RF | Owen Caissie | 445 | 0.9956 | -0.0590 | neutral | 0.2780 | 0.2010 | 0.3660 | 12.50 | 46.30 | 91.50 | 15 | 35.50 | 41.80 | 6.30 | -0.4000 |
| CF | Jakob Marsee | 297 | 0.9720 | -0.3735 | neutral | 0.2970 | 0.2120 | 0.3080 | 4 | 37.30 | 87.30 | 19.40 | 19.50 | 23.40 | 12.70 | 0.1143 |
| C | Joe Mack | 420 | 0.9582 | -0.5573 | neutral | 0.2220 | 0.1830 | 0.2650 | 4.80 | 35.70 | 89.30 | 10.30 | 27.20 | 32.40 | 5.90 | -0.2000 |
| 1B | Connor Norby | 355 | 0.9624 | -0.5015 | neutral | 0.2850 | 0.1880 | 0.3220 | 7.30 | 34.50 | 86.80 | 18.40 | 30.70 | 29 | 10.40 | -0.5429 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Luis García Jr. | 214 | 1.0267 | 0.3557 | neutral | 0.3140 | 0.2800 | 0.4220 | 6.90 | 48 | 92.50 | 11.60 | 19.20 | 15.80 | 3.30 | 0.1714 |
| RF | James Wood | 13 | 1.1500 | 2 | positive_batter_regression | 0.4390 | 0.2840 | 0.6340 | 25.50 | 60.70 | 96.60 | 10.40 | 31.50 | 28.80 | 17.60 | 0.8857 |
| 3B | Curtis Mead | 91 | 1.0547 | 0.7293 | neutral | 0.3770 | 0.2620 | 0.4820 | 11.70 | 46.60 | 89.40 | 15.20 | 17.50 | 16.40 | 14.50 | -0.2286 |
| SS | CJ Abrams | 12 | 1.0720 | 0.9603 | neutral | 0.3740 | 0.2720 | 0.4790 | 11.10 | 41.10 | 89.80 | 16.30 | 28.70 | 20.10 | 10.80 | -0.7714 |
| C | Keibert Ruiz | 143 | 0.9734 | -0.3550 | negative_batter_regression | 0.2560 | 0.2130 | 0.3590 | 7.40 | 42.10 | 90.20 | 16.80 | 14.60 | 15.50 | 1.70 | -2 |
| CF | Jacob Young | 101 | 1.0198 | 0.2645 | neutral | 0.3180 | 0.2680 | 0.4040 | 6 | 36.70 | 89.10 | 11.10 | 19.90 | 16.80 | 5.10 | 0.4571 |
| LF | Daylen Lile | 156 | 1.0190 | 0.2528 | neutral | 0.3190 | 0.2530 | 0.4210 | 7.90 | 36.50 | 87.70 | 17 | 24.40 | 18.30 | 7.40 | 0.0857 |
| DH | Jose Fernandez | 265 | 0.9737 | -0.3503 | neutral | 0.2750 | 0.2410 | 0.3490 | 3.40 | 39.80 | 88 | 11.90 | 24.80 | 22.80 | 3.70 | -0.6000 |
| 2B | Nasim Nuñez | 215 | 0.9445 | -0.7404 | positive_batter_regression | 0.2700 | 0.2160 | 0.2630 | 0 | 19.50 | 84.70 | 8.90 | 23 | 21.20 | 11.10 | 0.8571 |
{
"home": {
"applied": true,
"offense_factor": 1.026,
"raw_average_factor": 1.026,
"team_espn_average_rank": 134.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "671277",
"player_name": "Luis García Jr.",
"offense_factor": 1.0267,
"quality_score": 0.3557,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671277",
"espn_id": 40459,
"player_name": "Luis Garcia Jr.",
"team": "WSH",
"role": "batter",
"espn_rank": 214,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 214,
"gp_value": 54.0,
"gp_rank": 119,
"ab_value": 179.0,
"ab_rank": 135,
"r_value": 21.0,
"r_rank": 154,
"h_value": 48.0,
"h_rank": 102,
"avg_value": 0.2681564,
"avg_rank": 56.0,
"2b_value": 10.0,
"2b_rank": 72,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 5.0,
"hr_rank": 133,
"rbi_value": 30.0,
"rbi_rank": 56,
"tb_value": 77.0,
"tb_rank": 593,
"bb_value": 6.0,
"bb_rank": 315,
"so_value": 29.0,
"so_rank": 225,
"sb_value": 2.0,
"sb_rank": 160,
"obp_value": 0.2903225,
"obp_rank": "141",
"slg_value": 0.4301675,
"slg_rank": "74",
"ops_value": 0.72049,
"ops_rank": 100.0,
"war_value": 0.34,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 169.0,
"k_percent": 15.8,
"bb_percent": 3.3,
"woba": 0.308,
"xwoba": 0.314,
"xba": 0.28,
"xslg": 0.422,
"sweet_spot_percent": 31.1,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 48.0,
"exit_velocity_avg": 92.5,
"launch_angle_avg": 11.6,
"whiff_percent": 19.2,
"swing_percent": 56.5
},
"components": {
"expected_quality": 0.5105,
"regression_edge": 0.1714,
"xwoba_edge": 0.2571,
"xba_edge": 1.1714,
"xslg_edge": 0.6857,
"barrel_edge": 0.0,
"hard_hit_edge": 1.2857,
"exit_velocity_edge": 1.48,
"sweet_spot_edge": -0.3667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "695578",
"player_name": "James Wood",
"offense_factor": 1.15,
"quality_score": 2.0,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "695578",
"espn_id": 4918256,
"player_name": "James Wood",
"team": "WSH",
"role": "batter",
"espn_rank": 13,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 13,
"gp_value": 60.0,
"gp_rank": 2,
"ab_value": 228.0,
"ab_rank": 18,
"r_value": 52.0,
"r_rank": 1,
"h_value": 62.0,
"h_rank": 19,
"avg_value": 0.2719298,
"avg_rank": 49.0,
"2b_value": 15.0,
"2b_rank": 8,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 16.0,
"hr_rank": 7,
"rbi_value": 39.0,
"rbi_rank": 12,
"tb_value": 125.0,
"tb_rank": 364,
"bb_value": 50.0,
"bb_rank": 4,
"so_value": 81.0,
"so_rank": 4,
"sb_value": 10.0,
"sb_rank": 18,
"obp_value": 0.4113475,
"obp_rank": "3",
"slg_value": 0.5482456,
"slg_rank": "8",
"ops_value": 0.9595931,
"ops_rank": 4.0,
"war_value": 2.54,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 255.0,
"k_percent": 28.8,
"bb_percent": 17.6,
"woba": 0.408,
"xwoba": 0.439,
"xba": 0.284,
"xslg": 0.634,
"sweet_spot_percent": 41.4,
"barrel_batted_rate": 25.5,
"hard_hit_percent": 60.7,
"exit_velocity_avg": 96.6,
"launch_angle_avg": 10.4,
"whiff_percent": 31.5,
"swing_percent": 37.6
},
"components": {
"expected_quality": 2.2157,
"regression_edge": 0.8857,
"xwoba_edge": 2.5,
"xba_edge": 1.2857,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.5,
"sweet_spot_edge": 1.35,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "678554",
"player_name": "Curtis Mead",
"offense_factor": 1.0547,
"quality_score": 0.7293,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678554",
"espn_id": 42360,
"player_name": "Curtis Mead",
"team": "WSH",
"role": "batter",
"espn_rank": 91,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 91,
"gp_value": 45.0,
"gp_rank": 207,
"ab_value": 132.0,
"ab_rank": 217,
"r_value": 26.0,
"r_rank": 93,
"h_value": 32.0,
"h_rank": 202,
"avg_value": 0.2424242,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 97,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 8.0,
"hr_rank": 61,
"rbi_value": 25.0,
"rbi_rank": 101,
"tb_value": 65.0,
"tb_rank": 798,
"bb_value": 22.0,
"bb_rank": 75,
"so_value": 26.0,
"so_rank": 247,
"sb_value": 3.0,
"sb_rank": 126,
"obp_value": 0.3589743,
"obp_rank": "-",
"slg_value": 0.4924242,
"slg_rank": "-",
"ops_value": 0.8513985,
"ops_rank": null,
"war_value": 1.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 141.0,
"k_percent": 16.4,
"bb_percent": 14.5,
"woba": 0.385,
"xwoba": 0.377,
"xba": 0.262,
"xslg": 0.482,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 11.7,
"hard_hit_percent": 46.6,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 15.2,
"whiff_percent": 17.5,
"swing_percent": 40.9
},
"components": {
"expected_quality": 1.3604,
"regression_edge": -0.2286,
"xwoba_edge": 2.0571,
"xba_edge": 0.6571,
"xslg_edge": 1.5429,
"barrel_edge": 1.0667,
"hard_hit_edge": 1.0857,
"exit_velocity_edge": 0.24,
"sweet_spot_edge": -0.05,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "682928",
"player_name": "CJ Abrams",
"offense_factor": 1.072,
"quality_score": 0.9603,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682928",
"espn_id": 42402,
"player_name": "CJ Abrams",
"team": "WSH",
"role": "batter",
"espn_rank": 12,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 12,
"gp_value": 59.0,
"gp_rank": 19,
"ab_value": 214.0,
"ab_rank": 46,
"r_value": 36.0,
"r_rank": 29,
"h_value": 63.0,
"h_rank": 14,
"avg_value": 0.2943925,
"avg_rank": 20.0,
"2b_value": 13.0,
"2b_rank": 22,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 12.0,
"hr_rank": 28,
"rbi_value": 47.0,
"rbi_rank": 2,
"tb_value": 116.0,
"tb_rank": 140,
"bb_value": 27.0,
"bb_rank": 42,
"so_value": 50.0,
"so_rank": 78,
"sb_value": 9.0,
"sb_rank": 28,
"obp_value": 0.3913043,
"obp_rank": "14",
"slg_value": 0.542056,
"slg_rank": "13",
"ops_value": 0.9333603,
"ops_rank": 8.0,
"war_value": 2.56,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 233.0,
"k_percent": 20.1,
"bb_percent": 10.8,
"woba": 0.401,
"xwoba": 0.374,
"xba": 0.272,
"xslg": 0.479,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 11.1,
"hard_hit_percent": 41.1,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 16.3,
"whiff_percent": 28.7,
"swing_percent": 49.3
},
"components": {
"expected_quality": 1.2422,
"regression_edge": -0.7714,
"xwoba_edge": 1.9714,
"xba_edge": 0.9429,
"xslg_edge": 1.5,
"barrel_edge": 0.9333,
"hard_hit_edge": 0.3,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": 0.1833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "660688",
"player_name": "Keibert Ruiz",
"offense_factor": 0.9734,
"quality_score": -0.355,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "660688",
"espn_id": 38827,
"player_name": "Keibert Ruiz",
"team": "WSH",
"role": "batter",
"espn_rank": 143,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 143,
"gp_value": 36.0,
"gp_rank": 283,
"ab_value": 114.0,
"ab_rank": 248,
"r_value": 15.0,
"r_rank": 229,
"h_value": 32.0,
"h_rank": 202,
"avg_value": 0.2807017,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 32,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 5.0,
"hr_rank": 133,
"rbi_value": 25.0,
"rbi_rank": 101,
"tb_value": 59.0,
"tb_rank": 949,
"bb_value": 2.0,
"bb_rank": 415,
"so_value": 18.0,
"so_rank": 337,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.2941176,
"obp_rank": "-",
"slg_value": 0.5175438,
"slg_rank": "-",
"ops_value": 0.8116614,
"ops_rank": null,
"war_value": 0.72,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 109.0,
"k_percent": 15.5,
"bb_percent": 1.7,
"woba": 0.341,
"xwoba": 0.256,
"xba": 0.213,
"xslg": 0.359,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 42.1,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 16.8,
"whiff_percent": 14.6,
"swing_percent": 48.0
},
"components": {
"expected_quality": -0.5076,
"regression_edge": -2.0,
"xwoba_edge": -1.4,
"xba_edge": -0.7429,
"xslg_edge": -0.2143,
"barrel_edge": 0.1111,
"hard_hit_edge": 0.4429,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": 0.0667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "696285",
"player_name": "Jacob Young",
"offense_factor": 1.0198,
"quality_score": 0.2645,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696285",
"espn_id": 4414210,
"player_name": "Jacob Young",
"team": "WSH",
"role": "batter",
"espn_rank": 101,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 101,
"gp_value": 58.0,
"gp_rank": 37,
"ab_value": 185.0,
"ab_rank": 126,
"r_value": 25.0,
"r_rank": 108,
"h_value": 43.0,
"h_rank": 131,
"avg_value": 0.2324324,
"avg_rank": 118.0,
"2b_value": 6.0,
"2b_rank": 195,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 7.0,
"hr_rank": 73,
"rbi_value": 25.0,
"rbi_rank": 101,
"tb_value": 70.0,
"tb_rank": 861,
"bb_value": 11.0,
"bb_rank": 230,
"so_value": 33.0,
"so_rank": 190,
"sb_value": 4.0,
"sb_rank": 95,
"obp_value": 0.29,
"obp_rank": "141",
"slg_value": 0.3783783,
"slg_rank": "117",
"ops_value": 0.6683783,
"ops_rank": 127.0,
"war_value": 1.08,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 187.0,
"k_percent": 16.8,
"bb_percent": 5.1,
"woba": 0.302,
"xwoba": 0.318,
"xba": 0.268,
"xslg": 0.404,
"sweet_spot_percent": 36.7,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 36.7,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 11.1,
"whiff_percent": 19.9,
"swing_percent": 43.5
},
"components": {
"expected_quality": 0.2875,
"regression_edge": 0.4571,
"xwoba_edge": 0.3714,
"xba_edge": 0.8286,
"xslg_edge": 0.4286,
"barrel_edge": -0.2,
"hard_hit_edge": -0.3286,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 0.5667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "695734",
"player_name": "Daylen Lile",
"offense_factor": 1.019,
"quality_score": 0.2528,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695734",
"espn_id": 4917889,
"player_name": "Daylen Lile",
"team": "WSH",
"role": "batter",
"espn_rank": 156,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 156,
"gp_value": 59.0,
"gp_rank": 19,
"ab_value": 237.0,
"ab_rank": 6,
"r_value": 35.0,
"r_rank": 37,
"h_value": 59.0,
"h_rank": 35,
"avg_value": 0.2489451,
"avg_rank": 89.0,
"2b_value": 15.0,
"2b_rank": 8,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 7.0,
"hr_rank": 73,
"rbi_value": 28.0,
"rbi_rank": 71,
"tb_value": 97.0,
"tb_rank": 360,
"bb_value": 19.0,
"bb_rank": 115,
"so_value": 48.0,
"so_rank": 86,
"sb_value": 4.0,
"sb_rank": 95,
"obp_value": 0.3026819,
"obp_rank": "128",
"slg_value": 0.4092827,
"slg_rank": "90",
"ops_value": 0.7119646,
"ops_rank": 105.0,
"war_value": 0.65,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 241.0,
"k_percent": 18.3,
"bb_percent": 7.4,
"woba": 0.316,
"xwoba": 0.319,
"xba": 0.253,
"xslg": 0.421,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 36.5,
"exit_velocity_avg": 87.7,
"launch_angle_avg": 17.0,
"whiff_percent": 24.4,
"swing_percent": 55.0
},
"components": {
"expected_quality": 0.28,
"regression_edge": 0.0857,
"xwoba_edge": 0.4,
"xba_edge": 0.4,
"xslg_edge": 0.6714,
"barrel_edge": 0.2222,
"hard_hit_edge": -0.3571,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": 0.15,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "699912",
"player_name": "Jose Fernandez",
"offense_factor": 0.9737,
"quality_score": -0.3503,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "699912",
"espn_id": 5010500,
"player_name": "Jose Fernandez",
"team": "ARI",
"role": "batter",
"espn_rank": 265,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 265,
"gp_value": 51.0,
"gp_rank": 155,
"ab_value": 155.0,
"ab_rank": 181,
"r_value": 23.0,
"r_rank": 124,
"h_value": 40.0,
"h_rank": 154,
"avg_value": 0.2580645,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 170,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 3.0,
"hr_rank": 201,
"rbi_value": 15.0,
"rbi_rank": 220,
"tb_value": 56.0,
"tb_rank": 1243,
"bb_value": 6.0,
"bb_rank": 315,
"so_value": 37.0,
"so_rank": 161,
"sb_value": 6.0,
"sb_rank": 58,
"obp_value": 0.2901234,
"obp_rank": "-",
"slg_value": 0.3612903,
"slg_rank": "-",
"ops_value": 0.6514137,
"ops_rank": null,
"war_value": 0.16,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 141.0,
"k_percent": 22.8,
"bb_percent": 3.7,
"woba": 0.296,
"xwoba": 0.275,
"xba": 0.241,
"xslg": 0.349,
"sweet_spot_percent": 28.0,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 39.8,
"exit_velocity_avg": 88.0,
"launch_angle_avg": 11.9,
"whiff_percent": 24.8,
"swing_percent": 46.6
},
"components": {
"expected_quality": -0.5379,
"regression_edge": -0.6,
"xwoba_edge": -0.8571,
"xba_edge": 0.0571,
"xslg_edge": -0.3571,
"barrel_edge": -0.7778,
"hard_hit_edge": 0.1143,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": -0.8833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "683083",
"player_name": "Nasim Nuñez",
"offense_factor": 0.9445,
"quality_score": -0.7404,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "683083",
"espn_id": 4728688,
"player_name": "Nasim Nunez",
"team": "WSH",
"role": "batter",
"espn_rank": 215,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 215,
"gp_value": 56.0,
"gp_rank": 72,
"ab_value": 169.0,
"ab_rank": 150,
"r_value": 22.0,
"r_rank": 134,
"h_value": 32.0,
"h_rank": 202,
"avg_value": 0.1893491,
"avg_rank": 165.0,
"2b_value": 2.0,
"2b_rank": 353,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 0.0,
"hr_rank": 401,
"rbi_value": 16.0,
"rbi_rank": 208,
"tb_value": 36.0,
"tb_rank": 1856,
"bb_value": 22.0,
"bb_rank": 75,
"so_value": 42.0,
"so_rank": 127,
"sb_value": 22.0,
"sb_rank": 1,
"obp_value": 0.284974,
"obp_rank": "147",
"slg_value": 0.2130177,
"slg_rank": "174",
"ops_value": 0.4979917,
"ops_rank": 174.0,
"war_value": 0.34,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 183.0,
"k_percent": 21.2,
"bb_percent": 11.1,
"woba": 0.24,
"xwoba": 0.27,
"xba": 0.216,
"xslg": 0.263,
"sweet_spot_percent": 30.8,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 19.5,
"exit_velocity_avg": 84.7,
"launch_angle_avg": 8.9,
"whiff_percent": 23.0,
"swing_percent": 47.1
},
"components": {
"expected_quality": -1.1745,
"regression_edge": 0.8571,
"xwoba_edge": -1.0,
"xba_edge": -0.6571,
"xslg_edge": -1.5857,
"barrel_edge": -1.5333,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.64,
"sweet_spot_edge": -0.4167,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0021,
"raw_average_factor": 1.0021,
"team_espn_average_rank": 284.22,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "LF",
"player_id": "669065",
"player_name": "Kyle Stowers",
"offense_factor": 1.0103,
"quality_score": 0.1373,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669065",
"espn_id": 42796,
"player_name": "Kyle Stowers",
"team": "MIA",
"role": "batter",
"espn_rank": 488,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 488,
"gp_value": 37.0,
"gp_rank": 272,
"ab_value": 136.0,
"ab_rank": 213,
"r_value": 17.0,
"r_rank": 199,
"h_value": 30.0,
"h_rank": 216,
"avg_value": 0.2205882,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 72,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 3.0,
"hr_rank": 201,
"rbi_value": 11.0,
"rbi_rank": 269,
"tb_value": 49.0,
"tb_rank": 1207,
"bb_value": 14.0,
"bb_rank": 178,
"so_value": 44.0,
"so_rank": 113,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.3026315,
"obp_rank": "-",
"slg_value": 0.3602941,
"slg_rank": "-",
"ops_value": 0.6629256,
"ops_rank": null,
"war_value": -0.45,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 138.0,
"k_percent": 28.4,
"bb_percent": 9.5,
"woba": 0.296,
"xwoba": 0.309,
"xba": 0.241,
"xslg": 0.376,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 15.9,
"whiff_percent": 34.8,
"swing_percent": 54.0
},
"components": {
"expected_quality": 0.1941,
"regression_edge": 0.3714,
"xwoba_edge": 0.1143,
"xba_edge": 0.0571,
"xslg_edge": 0.0286,
"barrel_edge": -0.0444,
"hard_hit_edge": 1.5714,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": -0.1833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "689414",
"player_name": "Liam Hicks",
"offense_factor": 0.9966,
"quality_score": -0.0458,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "689414",
"espn_id": 4725251,
"player_name": "Liam Hicks",
"team": "MIA",
"role": "batter",
"espn_rank": 50,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 50,
"gp_value": 57.0,
"gp_rank": 55,
"ab_value": 190.0,
"ab_rank": 117,
"r_value": 27.0,
"r_rank": 84,
"h_value": 51.0,
"h_rank": 81,
"avg_value": 0.268421,
"avg_rank": 56.0,
"2b_value": 5.0,
"2b_rank": 228,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 11.0,
"hr_rank": 35,
"rbi_value": 45.0,
"rbi_rank": 3,
"tb_value": 89.0,
"tb_rank": 730,
"bb_value": 20.0,
"bb_rank": 98,
"so_value": 20.0,
"so_rank": 315,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.3440366,
"obp_rank": "62",
"slg_value": 0.468421,
"slg_rank": "43",
"ops_value": 0.8124576,
"ops_rank": 50.0,
"war_value": 1.67,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 199.0,
"k_percent": 8.9,
"bb_percent": 8.9,
"woba": 0.36,
"xwoba": 0.324,
"xba": 0.259,
"xslg": 0.386,
"sweet_spot_percent": 26.9,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 33.9,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 14.6,
"whiff_percent": 10.5,
"swing_percent": 42.6
},
"components": {
"expected_quality": 0.1086,
"regression_edge": -1.0286,
"xwoba_edge": 0.5429,
"xba_edge": 0.5714,
"xslg_edge": 0.1714,
"barrel_edge": -0.4889,
"hard_hit_edge": -0.7286,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": -1.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "669364",
"player_name": "Xavier Edwards",
"offense_factor": 1.0422,
"quality_score": 0.5633,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "669364",
"espn_id": 41326,
"player_name": "Xavier Edwards",
"team": "MIA",
"role": "batter",
"espn_rank": 14,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 14,
"gp_value": 60.0,
"gp_rank": 2,
"ab_value": 223.0,
"ab_rank": 23,
"r_value": 41.0,
"r_rank": 10,
"h_value": 70.0,
"h_rank": 2,
"avg_value": 0.3139013,
"avg_rank": 5.0,
"2b_value": 11.0,
"2b_rank": 51,
"3b_value": 4.0,
"3b_rank": 2,
"hr_value": 6.0,
"hr_rank": 107,
"rbi_value": 20.0,
"rbi_rank": 155,
"tb_value": 107.0,
"tb_rank": 378,
"bb_value": 31.0,
"bb_rank": 29,
"so_value": 29.0,
"so_rank": 225,
"sb_value": 8.0,
"sb_rank": 37,
"obp_value": 0.3976377,
"obp_rank": "7",
"slg_value": 0.4798206,
"slg_rank": "33",
"ops_value": 0.8774583,
"ops_rank": 24.0,
"war_value": 2.53,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 235.0,
"k_percent": 11.6,
"bb_percent": 12.0,
"woba": 0.392,
"xwoba": 0.355,
"xba": 0.286,
"xslg": 0.437,
"sweet_spot_percent": 40.8,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 33.5,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 11.2,
"whiff_percent": 14.2,
"swing_percent": 39.8
},
"components": {
"expected_quality": 0.8271,
"regression_edge": -1.0571,
"xwoba_edge": 1.4286,
"xba_edge": 1.3429,
"xslg_edge": 0.9,
"barrel_edge": -0.0222,
"hard_hit_edge": -0.7857,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": 1.25,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "677870",
"player_name": "Leo Jiménez",
"offense_factor": 1.044,
"quality_score": 0.586,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "677870",
"espn_id": 41397,
"player_name": "Leo Jimenez",
"team": "MIA",
"role": "batter",
"espn_rank": 480,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 480,
"gp_value": 20.0,
"gp_rank": 379,
"ab_value": 47.0,
"ab_rank": 390,
"r_value": 4.0,
"r_rank": 397,
"h_value": 11.0,
"h_rank": 373,
"avg_value": 0.2340425,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 402,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 0.0,
"hr_rank": 401,
"rbi_value": 1.0,
"rbi_rank": 463,
"tb_value": 12.0,
"tb_rank": 2294,
"bb_value": 6.0,
"bb_rank": 315,
"so_value": 9.0,
"so_rank": 413,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.3392857,
"obp_rank": "-",
"slg_value": 0.2553191,
"slg_rank": "-",
"ops_value": 0.5946048,
"ops_rank": null,
"war_value": -0.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 48.0,
"k_percent": 16.1,
"bb_percent": 10.7,
"woba": 0.284,
"xwoba": 0.38,
"xba": 0.299,
"xslg": 0.427,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 41.0,
"exit_velocity_avg": 91.0,
"launch_angle_avg": 3.7,
"whiff_percent": 18.4,
"swing_percent": 44.8
},
"components": {
"expected_quality": 1.1887,
"regression_edge": 2.0,
"xwoba_edge": 2.1429,
"xba_edge": 1.7143,
"xslg_edge": 0.7571,
"barrel_edge": 0.1778,
"hard_hit_edge": 0.2857,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "672640",
"player_name": "Otto Lopez",
"offense_factor": 1.0378,
"quality_score": 0.5044,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672640",
"espn_id": 41917,
"player_name": "Otto Lopez",
"team": "MIA",
"role": "batter",
"espn_rank": 9,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 9,
"gp_value": 59.0,
"gp_rank": 19,
"ab_value": 230.0,
"ab_rank": 16,
"r_value": 32.0,
"r_rank": 52,
"h_value": 75.0,
"h_rank": 1,
"avg_value": 0.3260869,
"avg_rank": 1.0,
"2b_value": 14.0,
"2b_rank": 18,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 4.0,
"hr_rank": 163,
"rbi_value": 24.0,
"rbi_rank": 115,
"tb_value": 105.0,
"tb_rank": 526,
"bb_value": 9.0,
"bb_rank": 264,
"so_value": 40.0,
"so_rank": 140,
"sb_value": 10.0,
"sb_rank": 18,
"obp_value": 0.3562753,
"obp_rank": "44",
"slg_value": 0.4565217,
"slg_rank": "52",
"ops_value": 0.812797,
"ops_rank": 49.0,
"war_value": 2.58,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 229.0,
"k_percent": 16.0,
"bb_percent": 3.7,
"woba": 0.359,
"xwoba": 0.333,
"xba": 0.291,
"xslg": 0.448,
"sweet_spot_percent": 29.7,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 44.8,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 7.3,
"whiff_percent": 20.6,
"swing_percent": 48.1
},
"components": {
"expected_quality": 0.7074,
"regression_edge": -0.7429,
"xwoba_edge": 0.8,
"xba_edge": 1.4857,
"xslg_edge": 1.0571,
"barrel_edge": 0.2222,
"hard_hit_edge": 0.8286,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": -0.6,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "683357",
"player_name": "Owen Caissie",
"offense_factor": 0.9956,
"quality_score": -0.059,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683357",
"espn_id": 4917685,
"player_name": "Owen Caissie",
"team": "MIA",
"role": "batter",
"espn_rank": 445,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 445,
"gp_value": 51.0,
"gp_rank": 155,
"ab_value": 144.0,
"ab_rank": 198,
"r_value": 17.0,
"r_rank": 199,
"h_value": 34.0,
"h_rank": 191,
"avg_value": 0.2361111,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 97,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 5.0,
"hr_rank": 133,
"rbi_value": 29.0,
"rbi_rank": 62,
"tb_value": 58.0,
"tb_rank": 1003,
"bb_value": 10.0,
"bb_rank": 247,
"so_value": 66.0,
"so_rank": 21,
"sb_value": 3.0,
"sb_rank": 126,
"obp_value": 0.2875,
"obp_rank": "-",
"slg_value": 0.4027777,
"slg_rank": "-",
"ops_value": 0.6902777,
"ops_rank": null,
"war_value": -0.29,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 147.0,
"k_percent": 41.8,
"bb_percent": 6.3,
"woba": 0.292,
"xwoba": 0.278,
"xba": 0.201,
"xslg": 0.366,
"sweet_spot_percent": 47.5,
"barrel_batted_rate": 12.5,
"hard_hit_percent": 46.3,
"exit_velocity_avg": 91.5,
"launch_angle_avg": 15.0,
"whiff_percent": 35.5,
"swing_percent": 45.7
},
"components": {
"expected_quality": -0.0376,
"regression_edge": -0.4,
"xwoba_edge": -0.7714,
"xba_edge": -1.0857,
"xslg_edge": -0.1143,
"barrel_edge": 1.2444,
"hard_hit_edge": 1.0429,
"exit_velocity_edge": 1.08,
"sweet_spot_edge": 2.3667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "805300",
"player_name": "Jakob Marsee",
"offense_factor": 0.972,
"quality_score": -0.3735,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805300",
"espn_id": 4866735,
"player_name": "Jakob Marsee",
"team": "MIA",
"role": "batter",
"espn_rank": 297,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 297,
"gp_value": 58.0,
"gp_rank": 37,
"ab_value": 208.0,
"ab_rank": 65,
"r_value": 32.0,
"r_rank": 52,
"h_value": 41.0,
"h_rank": 147,
"avg_value": 0.1971153,
"avg_rank": 162.0,
"2b_value": 7.0,
"2b_rank": 170,
"3b_value": 3.0,
"3b_rank": 4,
"hr_value": 3.0,
"hr_rank": 201,
"rbi_value": 16.0,
"rbi_rank": 208,
"tb_value": 63.0,
"tb_rank": 928,
"bb_value": 32.0,
"bb_rank": 27,
"so_value": 58.0,
"so_rank": 36,
"sb_value": 14.0,
"sb_rank": 6,
"obp_value": 0.319838,
"obp_rank": "102",
"slg_value": 0.3028846,
"slg_rank": "163",
"ops_value": 0.6227226,
"ops_rank": 149.0,
"war_value": 0.07,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 233.0,
"k_percent": 23.4,
"bb_percent": 12.7,
"woba": 0.293,
"xwoba": 0.297,
"xba": 0.212,
"xslg": 0.308,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 4.0,
"hard_hit_percent": 37.3,
"exit_velocity_avg": 87.3,
"launch_angle_avg": 19.4,
"whiff_percent": 19.5,
"swing_percent": 39.8
},
"components": {
"expected_quality": -0.4529,
"regression_edge": 0.1143,
"xwoba_edge": -0.2286,
"xba_edge": -0.7714,
"xslg_edge": -0.9429,
"barrel_edge": -0.6444,
"hard_hit_edge": -0.2429,
"exit_velocity_edge": -0.6,
"sweet_spot_edge": -0.55,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "691788",
"player_name": "Joe Mack",
"offense_factor": 0.9582,
"quality_score": -0.5573,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691788",
"espn_id": 4872695,
"player_name": "Joe Mack",
"team": "MIA",
"role": "batter",
"espn_rank": 420,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 420,
"gp_value": 21.0,
"gp_rank": 370,
"ab_value": 64.0,
"ab_rank": 356,
"r_value": 7.0,
"r_rank": 355,
"h_value": 13.0,
"h_rank": 364,
"avg_value": 0.203125,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 298,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 0.0,
"hr_rank": 401,
"rbi_value": 6.0,
"rbi_rank": 352,
"tb_value": 16.0,
"tb_rank": 2181,
"bb_value": 4.0,
"bb_rank": 373,
"so_value": 22.0,
"so_rank": 293,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.25,
"obp_rank": "-",
"slg_value": 0.25,
"slg_rank": "-",
"ops_value": 0.5,
"ops_rank": null,
"war_value": -0.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 61.0,
"k_percent": 32.4,
"bb_percent": 5.9,
"woba": 0.229,
"xwoba": 0.222,
"xba": 0.183,
"xslg": 0.265,
"sweet_spot_percent": 28.6,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 35.7,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 10.3,
"whiff_percent": 27.2,
"swing_percent": 47.6
},
"components": {
"expected_quality": -1.4076,
"regression_edge": -0.2,
"xwoba_edge": -2.3714,
"xba_edge": -1.6,
"xslg_edge": -1.5571,
"barrel_edge": -0.4667,
"hard_hit_edge": -0.4714,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": -0.7833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "681393",
"player_name": "Connor Norby",
"offense_factor": 0.9624,
"quality_score": -0.5015,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681393",
"espn_id": 4417606,
"player_name": "Connor Norby",
"team": "MIA",
"role": "batter",
"espn_rank": 355,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 355,
"gp_value": 52.0,
"gp_rank": 149,
"ab_value": 169.0,
"ab_rank": 150,
"r_value": 16.0,
"r_rank": 213,
"h_value": 35.0,
"h_rank": 185,
"avg_value": 0.2071005,
"avg_rank": 155.0,
"2b_value": 9.0,
"2b_rank": 97,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 4.0,
"hr_rank": 163,
"rbi_value": 14.0,
"rbi_rank": 232,
"tb_value": 56.0,
"tb_rank": 1087,
"bb_value": 20.0,
"bb_rank": 98,
"so_value": 56.0,
"so_rank": 49,
"sb_value": 6.0,
"sb_rank": 58,
"obp_value": 0.3147208,
"obp_rank": "114",
"slg_value": 0.3313609,
"slg_rank": "151",
"ops_value": 0.6460817,
"ops_rank": 138.0,
"war_value": -0.03,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 184.0,
"k_percent": 29.0,
"bb_percent": 10.4,
"woba": 0.304,
"xwoba": 0.285,
"xba": 0.188,
"xslg": 0.322,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 34.5,
"exit_velocity_avg": 86.8,
"launch_angle_avg": 18.4,
"whiff_percent": 30.7,
"swing_percent": 48.7
},
"components": {
"expected_quality": -0.6088,
"regression_edge": -0.5429,
"xwoba_edge": -0.5714,
"xba_edge": -1.4571,
"xslg_edge": -0.7429,
"barrel_edge": 0.0889,
"hard_hit_edge": -0.6429,
"exit_velocity_edge": -0.8,
"sweet_spot_edge": -0.55,
"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 MIA | True | 184 | -0.0381 | 1 | 1.0032 | 0.9400 | 0.9440 | 0.9782 | neutral | 0.3090 | 0.3310 | 16.10 | 6.50 | 21.80 | 6.60 | 37.10 | |
| Home WAS | True | 153 | -0.0305 | 0.9720 | 1.0026 | 1.0122 | 0.9708 | 1.0234 | neutral | 0.3150 | 0.3220 | 25.40 | 7.80 | 25.20 | 7.70 | 40.80 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away MIA | True | None | 98 | 92.03 | 2250 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1305 | |
| Home WAS | True | None | 89 | 91.10 | 2214 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0784 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0025 |
| home_runs_vs_away_pitcher | 1.0032 |
| home_pitcher_quality_edge | 0.0076 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "676917",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 243.0,
"k_percent": 25.4,
"bb_percent": 7.8,
"woba": 0.322,
"xwoba": 0.315,
"sweet_spot_percent": 36.1,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 40.8,
"avg_best_speed": 78.6167,
"avg_hyper_speed": 94.3901,
"whiff_percent": 25.2,
"swing_percent": 46.0
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.2074,
"command_and_miss": 0.225,
"regression_edge": 0.2,
"xwoba_edge": -0.0857,
"barrel_edge": -0.1111,
"hard_hit_edge": -0.3143,
"whiff_edge": -0.0857,
"bb_edge": 0.375,
"pitch_design_score": 0.0784
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676917",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 89,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 91.09523400835752,
"release_spin_rate": 2214.0149825208573,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 91.09523400835752,
"release_spin_rate": 2214.0149825208573,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0952,
"release_spin_rate": 2214.015,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0784,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.56,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0305,
"sample_weight": 0.972,
"run_prevention_factor": 1.0026,
"strikeout_factor": 1.0122,
"walk_factor": 0.9708,
"homer_factor": 1.0234,
"woba_minus_xwoba": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676917",
"espn_id": 4308037,
"player_name": "Cade Cavalli",
"team": "WSH",
"role": "pitcher",
"espn_rank": 153,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 153,
"gp_value": 12.0,
"gp_rank": 227,
"gs_value": 12.0,
"gs_rank": 2,
"qs_value": 5.0,
"qs_rank": 33,
"era_value": 3.6201,
"era_rank": null,
"w_value": 3.0,
"w_rank": 74,
"l_value": 3.0,
"l_rank": 75,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 59.2,
"ip_rank": 67,
"h_value": 63.0,
"h_rank": 25,
"er_value": 24.0,
"er_rank": 81,
"hr_value": 3.0,
"hr_rank": 198,
"bb_value": 21.0,
"bb_rank": 53,
"k_value": 68.0,
"k_rank": 26,
"k_per_9_value": 10.256983,
"k_per_9_rank": 10,
"whip_value": 1.4078,
"whip_rank": null,
"war_value": 0.56,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "645261",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 290.0,
"k_percent": 16.1,
"bb_percent": 6.5,
"woba": 0.331,
"xwoba": 0.309,
"sweet_spot_percent": 29.4,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 37.1,
"avg_best_speed": 77.8321,
"avg_hyper_speed": 93.7665,
"whiff_percent": 21.8,
"swing_percent": 50.9
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.0229,
"command_and_miss": -0.4779,
"regression_edge": 0.6286,
"xwoba_edge": 0.0857,
"barrel_edge": 0.1333,
"hard_hit_edge": 0.2143,
"whiff_edge": -0.5714,
"bb_edge": 0.7,
"pitch_design_score": 0.1305
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "645261",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 98,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 92.02610939321791,
"release_spin_rate": 2250.0540613534813,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 92.02610939321791,
"release_spin_rate": 2250.0540613534813,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0261,
"release_spin_rate": 2250.0541,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1305,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9324,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0381,
"sample_weight": 1.0,
"run_prevention_factor": 1.0032,
"strikeout_factor": 0.94,
"walk_factor": 0.944,
"homer_factor": 0.9782,
"woba_minus_xwoba": 0.022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "645261",
"espn_id": 35241,
"player_name": "Sandy Alcantara",
"team": "MIA",
"role": "pitcher",
"espn_rank": 184,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 184,
"gp_value": 12.0,
"gp_rank": 227,
"gs_value": 12.0,
"gs_rank": 2,
"qs_value": 7.0,
"qs_rank": 12,
"era_value": 4.6592,
"era_rank": 65.0,
"w_value": 3.0,
"w_rank": 74,
"l_value": 4.0,
"l_rank": 34,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 75.1,
"ip_rank": 3,
"h_value": 79.0,
"h_rank": 2,
"er_value": 39.0,
"er_rank": 3,
"hr_value": 9.0,
"hr_rank": 35,
"bb_value": 21.0,
"bb_rank": 53,
"k_value": 52.0,
"k_rank": 67,
"k_per_9_value": 6.21239,
"k_per_9_rank": 603,
"whip_value": 1.3274,
"whip_rank": 59.0,
"war_value": 0.43,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0025,
"home_runs_vs_away_pitcher": 1.0032,
"home_pitcher_quality_edge": 0.0076
},
"score_before": {
"away_runs": 2.106,
"home_runs": 2.5391
},
"score_after": {
"away_runs": 2.1113,
"home_runs": 2.5472,
"home_win_probability": 0.5372
},
"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 MIA | 16-40 | 0.286 | 1 | 3.60 | -145 | cold | average | |
| Home WAS | 16-43 | 0.271 | 1.20 | 3.50 | -135 | cold | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away MIA | 26-34 | 0.433 | -29 | -0.483 | True |
| Home WAS | 31-29 | 0.517 | 1 | 0.017 | True |
| Signal | - | - | 0.500 | 0.625 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target MIA | - | - | 2 | - | - | - | - |
| Game target WAS | - | - | 3 | - | - | - | - |
| Player finalized MIA | 60 | 16 | 8 | 0 | 7 | 6 | 14 |
| Player finalized WAS | 66 | 15 | 10 | 1 | 11 | 6 | 15 |
| Player model fractional MIA | 59.89 | 14.61 | 7.43 | 1.27 | 6.22 | 6.02 | 15.06 |
| Player model fractional WAS | 64.41 | 15.84 | 10.81 | 2.31 | 9.60 | 6.38 | 14.26 |
| Simulation box MIA | 35 | 8 | 2 | 1 | 2 | 1 | 6 |
| Simulation box WAS | 31 | 7 | 3 | 0 | 3 | 5 | 7 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away MIA | Starter | Sandy Alcantara | 6 | 1 | 5 | 6 | 1 | 5.73 | 1.46 | True |
| Away MIA | Middle Reliever | Anthony Bender | 1.10 | 1 | 0 | 1 | 3 | 3.46 | 0.92 | True |
| Away MIA | Middle Reliever | Pete Fairbanks | 0.20 | 1 | 2 | 0 | 1 | 4.78 | 1.31 | True |
| Home WAS | Starter | Cade Cavalli | 5 | 2 | 4 | 6 | 1 | 3.79 | 1.30 | True |
| Home WAS | Middle Reliever | Clayton Beeter | 1.10 | 0 | 1 | 1 | 0 | 3.07 | 1.27 | True |
| Home WAS | Middle Reliever | Gus Varland | 1.10 | 0 | 1 | 1 | 0 | 4.32 | 1.50 | True |
| Home WAS | Middle Reliever | Richard Lovelady | 1.10 | 0 | 0 | 0 | 0 | 3.52 | 1.50 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | WAS | batter | 3B | Curtis Mead | worse | 10 | 3 | 7 | 4 | 6 | predicted_H | 1.7000 | boost | better |
| home | WAS | batter | LF | Daylen Lile | worse | 9 | 5 | 4 | 4 | 5 | predicted_RBI | 1.5600 | boost | better |
| away | MIA | batter | 1B | Connor Norby | better | 10 | 5 | 5 | 6 | 4 | predicted_H | 1.3800 | boost | better |
| home | WAS | batter | RF | James Wood | worse | 11 | 4 | 7 | 5 | 6 | predicted_AB | -1.2900 | deboost | worse |
| away | MIA | batter | C | Joe Mack | worse | 11 | 2 | 9 | 3 | 8 | predicted_SO | -1.2060 | deboost | better |
| away | MIA | batter | 2B | Xavier Edwards | better | 11 | 5 | 6 | 6 | 5 | predicted_H | 0.9600 | boost | better |
| away | MIA | batter | LF | Kyle Stowers | worse | 8 | 1 | 7 | 0 | 8 | predicted_H | -0.9100 | deboost | worse |
| home | WAS | batter | SS | CJ Abrams | better | 10 | 5 | 5 | 6 | 4 | predicted_SO | -0.8840 | deboost | better |
| away | MIA | batter | 3B | Leo Jiménez | worse | 10 | 3 | 7 | 2 | 8 | predicted_AB | 0.8820 | boost | better |
| home | WAS | batter | DH | Jose Fernandez | worse | 9 | 3 | 6 | 2 | 7 | predicted_BB | 0.8570 | boost | better |
| away | MIA | batter | RF | Owen Caissie | worse | 10 | 3 | 7 | 4 | 6 | predicted_AB | 0.8410 | boost | better |
| home | WAS | batter | CF | Jacob Young | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -0.8000 | deboost | worse |
| away | MIA | batter | CF | Jakob Marsee | worse | 11 | 1 | 10 | 1 | 10 | predicted_H | -0.7700 | deboost | worse |
| home | WAS | batter | 1B | Luis García Jr. | worse | 11 | 4 | 7 | 3 | 8 | predicted_2B | 0.7390 | boost | better |
| home | WAS | batter | 2B | Nasim Nuñez | worse | 9 | 3 | 6 | 2 | 7 | predicted_H | -0.6400 | deboost | worse |
| away | MIA | batter | SS | Otto Lopez | worse | 11 | 4 | 7 | 3 | 8 | predicted_R | -0.5960 | deboost | worse |
| away | MIA | batter | DH | Liam Hicks | better | 11 | 5 | 6 | 6 | 5 | predicted_R | -0.5630 | deboost | worse |
| home | WAS | batter | C | Keibert Ruiz | better | 11 | 7 | 4 | 6 | 5 | predicted_R | 0.5130 | boost | better |
| home | WAS | pitcher | Middle Reliever | Richard Lovelady | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.4333 | boost | better |
| home | WAS | pitcher | Starter | Cade Cavalli | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.3333 | deboost | worse |
| away | MIA | pitcher | Middle Reliever | Anthony Bender | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
| away | MIA | pitcher | Middle Reliever | Pete Fairbanks | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
| home | WAS | pitcher | Middle Reliever | Clayton Beeter | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
| home | WAS | pitcher | Middle Reliever | Gus Varland | 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 | Sandy Alcantara |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0381 |
| ESPN Rank | 184 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1305 |
| Avg Velo | 92.0261 |
| Avg Spin | 2250.0541 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 1 |
| Pre H | 6 |
| Pre BB | 1 |
| Pre SO | 5 |
| Season ERA | 4.6593 |
| Season WHIP | 1.3274 |
| Role Avg IP | 6.2780 |
| Recent Avg IP | 5.6000 |
| Last Start IP | 5.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIA",
"games": 65,
"wins": 29,
"losses": 36,
"win_pct": 0.4462,
"runs_scored": 268.0,
"runs_allowed": 295.0,
"run_differential": -27.0,
"run_differential_per_game": -0.4154,
"avg_runs_scored": 4.1231,
"avg_runs_allowed": 4.5385,
"offense_index": 0.9291,
"defense_index": 0.9779,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 4.8,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.1322
},
"opponent": {
"team": "WAS",
"games": 66,
"wins": 32,
"losses": 34,
"win_pct": 0.4848,
"runs_scored": 331.0,
"runs_allowed": 342.0,
"run_differential": -11.0,
"run_differential_per_game": -0.1667,
"avg_runs_scored": 5.0152,
"avg_runs_allowed": 5.1818,
"offense_index": 1.1301,
"defense_index": 0.8564,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 2.9,
"run_differential": 16.0
},
"available": true,
"quality_score": 0.0014
},
"edges": {
"quality_edge": -0.1336,
"offense_edge": -0.0709,
"opponent_offense_edge": 0.1301,
"defense_strength": -0.0221,
"opponent_defense_weakness": 0.1436,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9888,
"run_prevention": 1.0297,
"strikeout": 0.9856
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "645261",
"profile": {
"available": true,
"pitcher_id": "645261",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 290.0,
"k_percent": 16.1,
"bb_percent": 6.5,
"woba": 0.331,
"xwoba": 0.309,
"sweet_spot_percent": 29.4,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 37.1,
"avg_best_speed": 77.8321,
"avg_hyper_speed": 93.7665,
"whiff_percent": 21.8,
"swing_percent": 50.9
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.0229,
"command_and_miss": -0.4779,
"regression_edge": 0.6286,
"xwoba_edge": 0.0857,
"barrel_edge": 0.1333,
"hard_hit_edge": 0.2143,
"whiff_edge": -0.5714,
"bb_edge": 0.7,
"pitch_design_score": 0.1305
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "645261",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 98,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 92.02610939321791,
"release_spin_rate": 2250.0540613534813,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 92.02610939321791,
"release_spin_rate": 2250.0540613534813,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0261,
"release_spin_rate": 2250.0541,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1305,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9324,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0381,
"sample_weight": 1.0,
"run_prevention_factor": 1.0032,
"strikeout_factor": 0.94,
"walk_factor": 0.944,
"homer_factor": 0.9782,
"woba_minus_xwoba": 0.022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "645261",
"espn_id": 35241,
"player_name": "Sandy Alcantara",
"team": "MIA",
"role": "pitcher",
"espn_rank": 184,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 184,
"gp_value": 12.0,
"gp_rank": 227,
"gs_value": 12.0,
"gs_rank": 2,
"qs_value": 7.0,
"qs_rank": 12,
"era_value": 4.6592,
"era_rank": 65.0,
"w_value": 3.0,
"w_rank": 74,
"l_value": 4.0,
"l_rank": 34,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 75.1,
"ip_rank": 3,
"h_value": 79.0,
"h_rank": 2,
"er_value": 39.0,
"er_rank": 3,
"hr_value": 9.0,
"hr_rank": 35,
"bb_value": 21.0,
"bb_rank": 53,
"k_value": 52.0,
"k_rank": 67,
"k_per_9_value": 6.21239,
"k_per_9_rank": 603,
"whip_value": 1.3274,
"whip_rank": 59.0,
"war_value": 0.43,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 4.0,
"factor": 1.0032,
"adjusted": 4
},
"predicted_H": {
"original": 8.0,
"factor": 1.0032,
"adjusted": 8
},
"predicted_BB": {
"original": 1.0,
"factor": 0.944,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9782,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.94,
"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": 59.1,
"ER": 39,
"H": 72,
"BB": 19,
"SO": 40,
"HR": 9,
"ERA": 5.915730337078651,
"WHIP": 1.5337078651685392,
"K9": 6.067415730337078,
"HR9": 1.3651685393258426,
"games_pitched": 10,
"quality_starts": 5,
"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": "645261",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 98,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 92.02610939321791,
"release_spin_rate": 2250.0540613534813,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 92.02610939321791,
"release_spin_rate": 2250.0540613534813,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0261,
"release_spin_rate": 2250.0541,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1305,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9324,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7059,
"prior_weight": 0.2941
},
"role": "pitcher",
"player_id": "645261",
"report_date": "20260601_M",
"season_year": 2026,
"rows_used": 12,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.0,
"ER": 23.0,
"R": 24.0,
"H": 39.0,
"BB": 6.0,
"SO": 21.0,
"HR": 5.0,
"BF": 130.0,
"Pitches": 485.0
},
"per_game": {
"IP": 5.2,
"ER": 4.6,
"R": 4.8,
"H": 7.8,
"BB": 1.2,
"SO": 4.2,
"HR": 1.0,
"BF": 26.0,
"Pitches": 97.0
},
"rates": {
"ERA": 7.3929,
"WHIP": 1.6071,
"ER_per_IP": 0.82143,
"H_per_IP": 1.39286,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.75,
"HR_per_IP": 0.17857
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 59.1,
"ER": 39.0,
"R": 41.0,
"H": 72.0,
"BB": 19.0,
"SO": 40.0,
"HR": 9.0,
"BF": 267.0,
"Pitches": 989.0
},
"per_game": {
"IP": 6.0,
"ER": 3.9,
"R": 4.1,
"H": 7.2,
"BB": 1.9,
"SO": 4.0,
"HR": 0.9,
"BF": 26.7,
"Pitches": 98.9
},
"rates": {
"ERA": 5.9157,
"WHIP": 1.5337,
"ER_per_IP": 0.6573,
"H_per_IP": 1.21348,
"BB_per_IP": 0.32022,
"SO_per_IP": 0.67416,
"HR_per_IP": 0.15169
}
},
"season": {
"games": 12,
"totals": {
"IP": 75.1,
"ER": 39.0,
"R": 42.0,
"H": 79.0,
"BB": 21.0,
"SO": 52.0,
"HR": 9.0,
"BF": 323.0,
"Pitches": 1155.0
},
"per_game": {
"IP": 6.1,
"ER": 3.25,
"R": 3.5,
"H": 6.5833,
"BB": 1.75,
"SO": 4.3333,
"HR": 0.75,
"BF": 26.9167,
"Pitches": 96.25
},
"rates": {
"ERA": 4.6593,
"WHIP": 1.3274,
"ER_per_IP": 0.5177,
"H_per_IP": 1.04867,
"BB_per_IP": 0.27876,
"SO_per_IP": 0.69027,
"HR_per_IP": 0.11947
}
}
},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 3.782,
"predicted_H": 6.95,
"predicted_BB": 1.752,
"predicted_SO": 4.628,
"predicted_HR": 0.894,
"predicted_ERA": 5.7288,
"predicted_WHIP": 1.4646
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4743,
"form_weight": 0.5257,
"form_reliability": 0.7059,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7059,
"prior_weight": 0.2941
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 3.782,
"final": 2.4626,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 6.95,
"final": 6.4995,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.752,
"final": 1.3954,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 4.628,
"final": 4.8044,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.894,
"final": 0.47,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.7288,
"final": 5.7288,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4646,
"final": 1.4646,
"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 Bender |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1927 |
| ESPN Rank | 186 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0532 |
| Avg Velo | 88.7457 |
| Avg Spin | 2625.6834 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 3 |
| Pre SO | 0 |
| Season ERA | 3.4225 |
| Season WHIP | 0.9296 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIA",
"games": 65,
"wins": 29,
"losses": 36,
"win_pct": 0.4462,
"runs_scored": 268.0,
"runs_allowed": 295.0,
"run_differential": -27.0,
"run_differential_per_game": -0.4154,
"avg_runs_scored": 4.1231,
"avg_runs_allowed": 4.5385,
"offense_index": 0.9291,
"defense_index": 0.9779,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 4.8,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.1322
},
"opponent": {
"team": "WAS",
"games": 66,
"wins": 32,
"losses": 34,
"win_pct": 0.4848,
"runs_scored": 331.0,
"runs_allowed": 342.0,
"run_differential": -11.0,
"run_differential_per_game": -0.1667,
"avg_runs_scored": 5.0152,
"avg_runs_allowed": 5.1818,
"offense_index": 1.1301,
"defense_index": 0.8564,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 2.9,
"run_differential": 16.0
},
"available": true,
"quality_score": 0.0014
},
"edges": {
"quality_edge": -0.1336,
"offense_edge": -0.0709,
"opponent_offense_edge": 0.1301,
"defense_strength": -0.0221,
"opponent_defense_weakness": 0.1436,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9888,
"run_prevention": 1.0297,
"strikeout": 0.9856
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669622",
"profile": {
"available": true,
"pitcher_id": "669622",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 86.0,
"k_percent": 26.7,
"bb_percent": 10.0,
"woba": 0.213,
"xwoba": 0.269,
"sweet_spot_percent": 27.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 30.9,
"avg_best_speed": 78.1323,
"avg_hyper_speed": 93.3224,
"whiff_percent": 19.4,
"swing_percent": 39.0
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.1006,
"command_and_miss": -0.0914,
"regression_edge": -1.6,
"xwoba_edge": 1.2286,
"barrel_edge": -0.0222,
"hard_hit_edge": 1.1,
"whiff_edge": -0.9143,
"bb_edge": -0.175,
"pitch_design_score": -0.0532
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669622",
"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.74570275191358,
"release_spin_rate": 2625.683352834163,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.74570275191358,
"release_spin_rate": 2625.683352834163,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.7457,
"release_spin_rate": 2625.6834,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0532,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3798,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1927,
"sample_weight": 0.45,
"run_prevention_factor": 0.9836,
"strikeout_factor": 0.9941,
"walk_factor": 1.0063,
"homer_factor": 0.9644,
"woba_minus_xwoba": -0.056,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "669622",
"espn_id": 42171,
"player_name": "Anthony Bender",
"team": "MIA",
"role": "pitcher",
"espn_rank": 186,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 186,
"gp_value": 24.0,
"gp_rank": 72,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 3.4225,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 0.0,
"l_rank": 390,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 4.0,
"hld_rank": 94,
"ip_value": 23.2,
"ip_rank": 265,
"h_value": 13.0,
"h_rank": 392,
"er_value": 9.0,
"er_rank": 287,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 9.0,
"bb_rank": 272,
"k_value": 25.0,
"k_rank": 236,
"k_per_9_value": 9.507042,
"k_per_9_rank": 24,
"whip_value": 0.9295,
"whip_rank": null,
"war_value": 0.42,
"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": 1.0028,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.984,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9973,
"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": 2,
"H": 2,
"BB": 1,
"SO": 11,
"HR": 1,
"ERA": 1.542857142857143,
"WHIP": 0.2571428571428572,
"K9": 8.485714285714286,
"HR9": 0.7714285714285715,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-31T00:00:00"
}{
"available": true,
"pitcher_id": "669622",
"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.74570275191358,
"release_spin_rate": 2625.683352834163,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.74570275191358,
"release_spin_rate": 2625.683352834163,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.7457,
"release_spin_rate": 2625.6834,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0532,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3798,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.671,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.483,
"prior_weight": 0.517
},
"role": "pitcher",
"player_id": "669622",
"report_date": "20260601_M",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 2.0,
"R": 2.0,
"H": 2.0,
"BB": 1.0,
"SO": 6.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 80.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.4,
"H": 0.4,
"BB": 0.2,
"SO": 1.2,
"HR": 0.2,
"BF": 4.2,
"Pitches": 16.0
},
"rates": {
"ERA": 3.0,
"WHIP": 0.5,
"ER_per_IP": 0.33333,
"H_per_IP": 0.33333,
"BB_per_IP": 0.16667,
"SO_per_IP": 1.0,
"HR_per_IP": 0.16667
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.2,
"ER": 2.0,
"R": 2.0,
"H": 2.0,
"BB": 1.0,
"SO": 11.0,
"HR": 1.0,
"BF": 38.0,
"Pitches": 144.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 0.2,
"BB": 0.1,
"SO": 1.1,
"HR": 0.1,
"BF": 3.8,
"Pitches": 14.4
},
"rates": {
"ERA": 1.5429,
"WHIP": 0.2571,
"ER_per_IP": 0.17143,
"H_per_IP": 0.17143,
"BB_per_IP": 0.08571,
"SO_per_IP": 0.94286,
"HR_per_IP": 0.08571
}
},
"season": {
"games": 24,
"totals": {
"IP": 23.2,
"ER": 9.0,
"R": 9.0,
"H": 13.0,
"BB": 9.0,
"SO": 25.0,
"HR": 1.0,
"BF": 95.0,
"Pitches": 361.0
},
"per_game": {
"IP": 1.0,
"ER": 0.375,
"R": 0.375,
"H": 0.5417,
"BB": 0.375,
"SO": 1.0417,
"HR": 0.0417,
"BF": 3.9583,
"Pitches": 15.0417
},
"rates": {
"ERA": 3.4225,
"WHIP": 0.9296,
"ER_per_IP": 0.38028,
"H_per_IP": 0.5493,
"BB_per_IP": 0.38028,
"SO_per_IP": 1.05634,
"HR_per_IP": 0.04225
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.434,
"predicted_H": 0.729,
"predicted_BB": 0.314,
"predicted_SO": 1.089,
"predicted_HR": 0.14,
"predicted_ERA": 3.4602,
"predicted_WHIP": 0.9237
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5684,
"form_weight": 0.4316,
"form_reliability": 0.483,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.671,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.483,
"prior_weight": 0.517
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.434,
"final": 0.7557,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.729,
"final": 0.883,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 0.314,
"final": 1.8408,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.089,
"final": 0.47,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.14,
"final": 0.0604,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4602,
"final": 3.4602,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9237,
"final": 0.9237,
"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 | Pete Fairbanks |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0500 |
| ESPN Rank | 646 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1323 |
| Avg Velo | 92.0580 |
| Avg Spin | 2472.8230 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 1 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 2 |
| Season ERA | 7.5349 |
| Season WHIP | 1.3953 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIA",
"games": 65,
"wins": 29,
"losses": 36,
"win_pct": 0.4462,
"runs_scored": 268.0,
"runs_allowed": 295.0,
"run_differential": -27.0,
"run_differential_per_game": -0.4154,
"avg_runs_scored": 4.1231,
"avg_runs_allowed": 4.5385,
"offense_index": 0.9291,
"defense_index": 0.9779,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 4.8,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.1322
},
"opponent": {
"team": "WAS",
"games": 66,
"wins": 32,
"losses": 34,
"win_pct": 0.4848,
"runs_scored": 331.0,
"runs_allowed": 342.0,
"run_differential": -11.0,
"run_differential_per_game": -0.1667,
"avg_runs_scored": 5.0152,
"avg_runs_allowed": 5.1818,
"offense_index": 1.1301,
"defense_index": 0.8564,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 2.9,
"run_differential": 16.0
},
"available": true,
"quality_score": 0.0014
},
"edges": {
"quality_edge": -0.1336,
"offense_edge": -0.0709,
"opponent_offense_edge": 0.1301,
"defense_strength": -0.0221,
"opponent_defense_weakness": 0.1436,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9888,
"run_prevention": 1.0297,
"strikeout": 0.9856
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "664126",
"profile": {
"available": true,
"pitcher_id": "664126",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 59.0,
"k_percent": 33.3,
"bb_percent": 11.1,
"woba": 0.349,
"xwoba": 0.289,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 15.2,
"hard_hit_percent": 47.1,
"avg_best_speed": 84.6507,
"avg_hyper_speed": 96.373,
"whiff_percent": 29.7,
"swing_percent": 45.0
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.4948,
"command_and_miss": 0.7929,
"regression_edge": 1.7143,
"xwoba_edge": 0.6571,
"barrel_edge": -1.7778,
"hard_hit_edge": -1.2143,
"whiff_edge": 0.5571,
"bb_edge": -0.45,
"pitch_design_score": 0.1323
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "664126",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.05802095120745,
"release_spin_rate": 2472.823008273191,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.05802095120745,
"release_spin_rate": 2472.823008273191,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.058,
"release_spin_rate": 2472.823,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1323,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9451,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.05,
"sample_weight": 0.45,
"run_prevention_factor": 0.9958,
"strikeout_factor": 1.0375,
"walk_factor": 1.0162,
"homer_factor": 1.077,
"woba_minus_xwoba": 0.06,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "664126",
"espn_id": 42180,
"player_name": "Pete Fairbanks",
"team": "MIA",
"role": "pitcher",
"espn_rank": 646,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 646,
"gp_value": 16.0,
"gp_rank": 185,
"gs_value": 1.0,
"gs_rank": 220,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 7.5348,
"era_rank": null,
"w_value": 2.0,
"w_rank": 141,
"l_value": 3.0,
"l_rank": 75,
"sv_value": 6.0,
"sv_rank": 20,
"hld_value": 1.0,
"hld_rank": 184,
"ip_value": 14.1,
"ip_rank": 400,
"h_value": 13.0,
"h_rank": 392,
"er_value": 12.0,
"er_rank": 210,
"hr_value": 3.0,
"hr_rank": 198,
"bb_value": 7.0,
"bb_rank": 340,
"k_value": 21.0,
"k_rank": 288,
"k_per_9_value": 13.186047,
"k_per_9_rank": 19,
"whip_value": 1.3953,
"whip_rank": null,
"war_value": -0.79,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9981,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9981,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0073,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0347,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0169,
"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": 6,
"H": 6,
"BB": 6,
"SO": 13,
"HR": 2,
"ERA": 6.480000000000001,
"WHIP": 1.4400000000000002,
"K9": 14.040000000000003,
"HR9": 2.16,
"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-29T00:00:00"
}{
"available": true,
"pitcher_id": "664126",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.05802095120745,
"release_spin_rate": 2472.823008273191,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.05802095120745,
"release_spin_rate": 2472.823008273191,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.058,
"release_spin_rate": 2472.823,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1323,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9451,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.829,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3613,
"prior_weight": 0.6387
},
"role": "pitcher",
"player_id": "664126",
"report_date": "20260601_M",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 2.0,
"R": 3.0,
"H": 3.0,
"BB": 2.0,
"SO": 6.0,
"HR": 2.0,
"BF": 17.0,
"Pitches": 70.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.6,
"H": 0.6,
"BB": 0.4,
"SO": 1.2,
"HR": 0.4,
"BF": 3.4,
"Pitches": 14.0
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.1538,
"ER_per_IP": 0.46154,
"H_per_IP": 0.69231,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.46154
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 6.0,
"R": 8.0,
"H": 6.0,
"BB": 6.0,
"SO": 13.0,
"HR": 2.0,
"BF": 36.0,
"Pitches": 161.0
},
"per_game": {
"IP": 0.2,
"ER": 0.6,
"R": 0.8,
"H": 0.6,
"BB": 0.6,
"SO": 1.3,
"HR": 0.2,
"BF": 3.6,
"Pitches": 16.1
},
"rates": {
"ERA": 6.48,
"WHIP": 1.44,
"ER_per_IP": 0.72,
"H_per_IP": 0.72,
"BB_per_IP": 0.72,
"SO_per_IP": 1.56,
"HR_per_IP": 0.24
}
},
"season": {
"games": 16,
"totals": {
"IP": 14.1,
"ER": 12.0,
"R": 14.0,
"H": 13.0,
"BB": 7.0,
"SO": 21.0,
"HR": 3.0,
"BF": 63.0,
"Pitches": 262.0
},
"per_game": {
"IP": 1.0,
"ER": 0.75,
"R": 0.875,
"H": 0.8125,
"BB": 0.4375,
"SO": 1.3125,
"HR": 0.1875,
"BF": 3.9375,
"Pitches": 16.375
},
"rates": {
"ERA": 7.5349,
"WHIP": 1.3953,
"ER_per_IP": 0.83721,
"H_per_IP": 0.90698,
"BB_per_IP": 0.48837,
"SO_per_IP": 1.46512,
"HR_per_IP": 0.2093
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.282,
"predicted_H": 0.466,
"predicted_BB": 0.232,
"predicted_SO": 0.601,
"predicted_HR": 0.11,
"predicted_ERA": 4.7778,
"predicted_WHIP": 1.3127
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6199,
"form_weight": 0.3801,
"form_reliability": 0.3613,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.829,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3613,
"prior_weight": 0.6387
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.282,
"final": 0.7271,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.466,
"final": 0.1771,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.232,
"final": 0.708,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.601,
"final": 1.4682,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.11,
"final": 0.0418,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.7778,
"final": 4.7778,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3127,
"final": 1.3127,
"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.232 | 0.000 | 1.000 | Hitting_2B | 0.232 | 1.000 | -0.232 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.970 | 4.000 | 7.000 | Hitting_AB | 3.775 | 4.000 | 0.225 | 0.000 |
| predicted_AVG | 0.228 | 0.000 | 0.286 | Hitting_AVG | 0.209 | 0.250 | -0.209 | -0.250 |
| predicted_BB | 0.437 | 0.000 | 1.000 | Hitting_BB | 0.437 | 0.000 | -0.437 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_H | 0.910 | 0.000 | 2.000 | Hitting_H | 0.789 | 1.000 | -0.789 | -1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.085 | 0.000 | -0.085 | 0.000 |
| predicted_OBP | 0.297 | 0.000 | 0.375 | Hitting_OBP | 0.300 | 0.250 | -0.300 | -0.250 |
| predicted_R | 0.500 | 0.000 | 1.000 | Hitting_R | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 1.000 | Hitting_RBI | 0.296 | 0.000 | -0.296 | 0.000 |
| predicted_SLG | 0.391 | 0.000 | 0.429 | Hitting_SLG | 0.338 | 0.500 | -0.338 | -0.500 |
| predicted_SO | 1.225 | 2.000 | 2.000 | Hitting_SO | 1.225 | 2.000 | 0.775 | 0.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.2250 -> 2.0000 (boost 0.7750, worse) |
| Biggest Deboost | predicted_H: 0.9100 -> 0.0000 (deboost -0.9100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 8 | 7 | 1 | 6 | 2 | predicted_AB: 3.9700 -> 7.4277 (boost 3.4577, better) | predicted_SLG: 0.3910 -> 0.3757 (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 | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3757 -> 0.3588 (deboost -0.0169, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 5 | 3 | predicted_2B: 0.5321 -> 1.0000 (boost 0.4679, better) | predicted_AB: 7.4277 -> 7.0000 (deboost -0.4277, worse) | AB rounded to 7 (raw=7.43), rates preserved: AVG=0.225 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8454 -> 1.0000 (boost 0.1546, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.2927 -> 0.3750 (boost 0.0823, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 0 | 6 | 0 | 6 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3750 -> 0.2927 (deboost -0.0823, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669065",
"player_name": "Kyle Stowers",
"position": "LF",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.232,
"predicted_3B": 0.0,
"predicted_AB": 3.97,
"predicted_AVG": 0.228,
"predicted_BB": 0.437,
"predicted_H": 0.91,
"predicted_HR": 0.11,
"predicted_OBP": 0.297,
"predicted_R": 0.5,
"predicted_RBI": 0.39,
"predicted_SLG": 0.391,
"predicted_SO": 1.225
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.5321,
"predicted_3B": 0.0009,
"predicted_AB": 7.4277,
"predicted_AVG": 0.227,
"predicted_BB": 0.714,
"predicted_H": 1.6838,
"predicted_HBP": 0.132,
"predicted_HR": 0.1532,
"predicted_OBP": 0.2968,
"predicted_R": 0.8581,
"predicted_RBI": 0.5963,
"predicted_SLG": 0.3757,
"predicted_SO": 2.4097
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.232,
"after": 0.5321,
"delta": 0.3001,
"percent_delta": 1.2935,
"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.97,
"after": 7.4277,
"delta": 3.4577,
"percent_delta": 0.871,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.227,
"delta": -0.001,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.437,
"after": 0.714,
"delta": 0.277,
"percent_delta": 0.6339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 1.6838,
"delta": 0.7738,
"percent_delta": 0.8503,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1532,
"delta": 0.0432,
"percent_delta": 0.3927,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2968,
"delta": -0.0002,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.8581,
"delta": 0.3581,
"percent_delta": 0.7162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.5963,
"delta": 0.2063,
"percent_delta": 0.529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.3757,
"delta": -0.0153,
"percent_delta": -0.0391,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.225,
"after": 2.4097,
"delta": 1.1847,
"percent_delta": 0.9671,
"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.97,
"after": 7.4277,
"delta": 3.4577,
"percent_delta": 0.871,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.3757,
"delta": -0.0153,
"percent_delta": -0.0391,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.5321,
"predicted_3B": 0.0009,
"predicted_AB": 7.4277,
"predicted_AVG": 0.2251,
"predicted_BB": 0.7091,
"predicted_H": 1.6722,
"predicted_HBP": 0.132,
"predicted_HR": 0.1531,
"predicted_OBP": 0.2927,
"predicted_R": 0.8454,
"predicted_RBI": 0.5875,
"predicted_SLG": 0.3588,
"predicted_SO": 2.4261
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5321,
"after": 0.5321,
"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.4277,
"after": 7.4277,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2251,
"delta": -0.0019,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.714,
"after": 0.7091,
"delta": -0.0049,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.6838,
"after": 1.6722,
"delta": -0.0116,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.132,
"after": 0.132,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1532,
"after": 0.1531,
"delta": -0.0001,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2968,
"after": 0.2927,
"delta": -0.0041,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8581,
"after": 0.8454,
"delta": -0.0127,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5963,
"after": 0.5875,
"delta": -0.0088,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3757,
"after": 0.3588,
"delta": -0.0169,
"percent_delta": -0.045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.4097,
"after": 2.4261,
"delta": 0.0164,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3757,
"after": 0.3588,
"delta": -0.0169,
"percent_delta": -0.045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.43), rates preserved: AVG=0.225 HR/AB=0.021",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5321,
"after": 1.0,
"delta": 0.4679,
"percent_delta": 0.8793,
"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.4277,
"after": 7.0,
"delta": -0.4277,
"percent_delta": -0.0576,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7091,
"after": 1.0,
"delta": 0.2909,
"percent_delta": 0.4102,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6722,
"after": 2.0,
"delta": 0.3278,
"percent_delta": 0.196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.132,
"after": 0.0,
"delta": -0.132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1531,
"after": 0.0,
"delta": -0.1531,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5875,
"after": 1.0,
"delta": 0.4125,
"percent_delta": 0.7021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.4261,
"after": 2.0,
"delta": -0.4261,
"percent_delta": -0.1756,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.5321,
"after": 1.0,
"delta": 0.4679,
"percent_delta": 0.8793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.4277,
"after": 7.0,
"delta": -0.4277,
"percent_delta": -0.0576,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8454,
"after": 1.0,
"delta": 0.1546,
"percent_delta": 0.1829,
"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.8454,
"after": 1.0,
"delta": 0.1546,
"percent_delta": 0.1829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.429,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2251,
"after": 0.286,
"delta": 0.0609,
"percent_delta": 0.2705,
"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.2927,
"after": 0.375,
"delta": 0.0823,
"percent_delta": 0.2812,
"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.3588,
"after": 0.429,
"delta": 0.0702,
"percent_delta": 0.1957,
"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.2927,
"after": 0.375,
"delta": 0.0823,
"percent_delta": 0.2812,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"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.2251,
"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.2927,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3588,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2251,
"delta": -0.0609,
"percent_delta": -0.2128,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.2927,
"delta": -0.0823,
"percent_delta": -0.2196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.3588,
"delta": -0.0702,
"percent_delta": -0.1636,
"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.375,
"after": 0.2927,
"delta": -0.0823,
"percent_delta": -0.2196,
"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.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.228,
"after": 0.2251,
"delta": -0.0029,
"percent_delta": -0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.437,
"after": 0.0,
"delta": -0.437,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 0.0,
"delta": -0.91,
"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.297,
"after": 0.2927,
"delta": -0.0043,
"percent_delta": -0.0145,
"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.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.3588,
"delta": -0.0322,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.225,
"after": 2.0,
"delta": 0.775,
"percent_delta": 0.6327,
"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.225,
"after": 2.0,
"delta": 0.775,
"percent_delta": 0.6327,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.91,
"after": 0.0,
"delta": -0.91,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.232 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.970 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.437 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.297 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.391 | - |
| predicted_SO | 1.225 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.532 | 0.300 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 7.428 | 3.458 |
| predicted_AVG | 0.227 | -0.001 |
| predicted_BB | 0.714 | 0.277 |
| predicted_H | 1.684 | 0.774 |
| predicted_HBP | 0.132 | - |
| predicted_HR | 0.153 | 0.043 |
| predicted_OBP | 0.297 | -0.000 |
| predicted_R | 0.858 | 0.358 |
| predicted_RBI | 0.596 | 0.206 |
| predicted_SLG | 0.376 | -0.015 |
| predicted_SO | 2.410 | 1.185 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.532 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 7.428 | 0.000 |
| predicted_AVG | 0.225 | -0.002 |
| predicted_BB | 0.709 | -0.005 |
| predicted_H | 1.672 | -0.012 |
| predicted_HBP | 0.132 | 0.000 |
| predicted_HR | 0.153 | -0.000 |
| predicted_OBP | 0.293 | -0.004 |
| predicted_R | 0.845 | -0.013 |
| predicted_RBI | 0.588 | -0.009 |
| predicted_SLG | 0.359 | -0.017 |
| predicted_SO | 2.426 | 0.016 |
AB rounded to 7 (raw=7.43), rates preserved: AVG=0.225 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 1.000 | 0.468 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | -0.428 |
| predicted_AVG | 0.286 | 0.061 |
| predicted_BB | 1.000 | 0.291 |
| predicted_H | 2.000 | 0.328 |
| predicted_HR | 0.000 | -0.153 |
| predicted_OBP | 0.375 | 0.082 |
| predicted_R | 1.000 | 0.155 |
| predicted_RBI | 1.000 | 0.412 |
| predicted_SLG | 0.429 | 0.070 |
| predicted_SO | 2.000 | -0.426 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 21.000 | 6.000 | 3.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 8.000 | 0.2857 | 0.2857 | 0.4286 | 0.2857 | 0.0000 | 0.0476 | 0.0000 | 0.3810 |
| last_10 | 0.20 | 5 | - | 38.000 | 8.000 | 3.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 13.000 | 0.2105 | 0.2683 | 0.2895 | 0.2105 | 0.0000 | 0.0263 | 0.0790 | 0.3421 |
| season | 0.60 | 37 | - | 536.000 | 112.000 | 33.000 | 0.000 | 12.000 | 42.000 | 71.000 | 62.000 | 174.000 | 0.2090 | 0.3003 | 0.3377 | 0.2090 | 0.0224 | 0.0784 | 0.1157 | 0.3246 |
| Metric | Value |
|---|---|
| predicted_2B | 0.9200 |
| predicted_3B | 0.0020 |
| predicted_AB | 11.8970 |
| predicted_AVG | 0.2256 |
| predicted_BB | 1.0720 |
| predicted_H | 2.6840 |
| predicted_HBP | 0.1320 |
| predicted_HR | 0.2090 |
| predicted_OBP | 0.2966 |
| predicted_R | 1.3210 |
| predicted_RBI | 0.8630 |
| predicted_SLG | 0.3560 |
| predicted_SO | 3.9410 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2320 | 0.9200 | 0.5321 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.9700 | 11.8970 | 7.4277 | model_form_blend |
| predicted_AVG | 0.2280 | 0.2256 | 0.2270 | model_form_blend |
| predicted_BB | 0.4370 | 1.0720 | 0.7140 | model_form_blend |
| predicted_H | 0.9100 | 2.6840 | 1.6838 | model_form_blend |
| predicted_HBP | - | 0.1320 | 0.1320 | form_only |
| predicted_HR | 0.1100 | 0.2090 | 0.1532 | model_form_blend |
| predicted_OBP | 0.2970 | 0.2966 | 0.2968 | model_form_blend |
| predicted_R | 0.5000 | 1.3210 | 0.8581 | model_form_blend |
| predicted_RBI | 0.3900 | 0.8630 | 0.5963 | model_form_blend |
| predicted_SLG | 0.3910 | 0.3560 | 0.3757 | model_form_blend |
| predicted_SO | 1.2250 | 3.9410 | 2.4097 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 142 |
| Season rows before report date | 142 |
| Report year | 2026 |
| Profile rows used | 142 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20260531_MIA@NYM |
| game_type | full |
| mlbID | 669065 |
| playerID | 669065 |
| playerName | Kyle Stowers |
| pos | LF |
| started | True |
| startingPosition | DH |
| team | MIA |
| teamID | 15 |
| game_date | 2026-05-31 |
| sl_k_percent | 28.4 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.296 |
| sl_xwoba | 0.309 |
| sl_xba | 0.241 |
| sl_xslg | 0.376 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 15.9 |
| sl_whiff_percent | 34.8 |
| sl_swing_percent | 54.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.092 | 0.000 | 0.000 | Hitting_2B | 0.092 | 0.000 | -0.092 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.800 | 4.000 | 7.000 | Hitting_AB | 3.583 | 4.000 | 0.417 | 0.000 |
| predicted_AVG | 0.236 | 0.250 | 0.286 | Hitting_AVG | 0.280 | 0.000 | -0.030 | 0.250 |
| predicted_BB | 0.379 | 0.000 | 1.000 | Hitting_BB | 0.379 | 1.000 | -0.379 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.900 | 1.000 | 2.000 | Hitting_H | 1.005 | 0.000 | -0.005 | 1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.228 | 0.000 | -0.228 | 0.000 |
| predicted_OBP | 0.324 | 0.250 | 0.375 | Hitting_OBP | 0.356 | 0.200 | -0.106 | 0.050 |
| predicted_R | 0.563 | 0.000 | 1.000 | Hitting_R | 0.563 | 0.000 | -0.563 | 0.000 |
| predicted_RBI | 0.550 | 0.000 | 1.000 | Hitting_RBI | 0.961 | 0.000 | -0.961 | 0.000 |
| predicted_SLG | 0.396 | 0.250 | 0.286 | Hitting_SLG | 0.497 | 0.000 | -0.247 | 0.250 |
| predicted_SO | 0.359 | 0.000 | 1.000 | Hitting_SO | 0.359 | 1.000 | -0.359 | -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.8000 -> 4.0000 (boost 0.2000, better) |
| Biggest Deboost | predicted_R: 0.5630 -> 0.0000 (deboost -0.5630, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.8000 -> 6.8491 (boost 3.0491, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_H: 1.7198 -> 2.0000 (boost 0.2802, better) | predicted_HR: 0.3013 -> 0.0000 (deboost -0.3013, worse) | AB rounded to 7 (raw=6.85), rates preserved: AVG=0.251 HR/AB=0.044 |
| 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.8603 -> 1.0000 (boost 0.1397, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3313 -> 0.3750 (boost 0.0437, better) | predicted_SLG: 0.4131 -> 0.2860 (deboost -0.1271, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.4131 (boost 0.1271, better) | predicted_OBP: 0.3750 -> 0.3313 (deboost -0.0437, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "689414",
"player_name": "Liam Hicks",
"position": "DH",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.092,
"predicted_3B": 0.0,
"predicted_AB": 3.8,
"predicted_AVG": 0.236,
"predicted_BB": 0.379,
"predicted_H": 0.9,
"predicted_HR": 0.14,
"predicted_OBP": 0.324,
"predicted_R": 0.563,
"predicted_RBI": 0.55,
"predicted_SLG": 0.396,
"predicted_SO": 0.359
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2047,
"predicted_3B": 0.0004,
"predicted_AB": 6.8491,
"predicted_AVG": 0.2466,
"predicted_BB": 0.827,
"predicted_H": 1.7317,
"predicted_HBP": 0.193,
"predicted_HR": 0.3015,
"predicted_OBP": 0.3354,
"predicted_R": 0.8732,
"predicted_RBI": 1.3038,
"predicted_SLG": 0.4129,
"predicted_SO": 0.763
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.092,
"after": 0.2047,
"delta": 0.1127,
"percent_delta": 1.225,
"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.8,
"after": 6.8491,
"delta": 3.0491,
"percent_delta": 0.8024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2466,
"delta": 0.0106,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.379,
"after": 0.827,
"delta": 0.448,
"percent_delta": 1.1821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 1.7317,
"delta": 0.8317,
"percent_delta": 0.9241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.3015,
"delta": 0.1615,
"percent_delta": 1.1536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3354,
"delta": 0.0114,
"percent_delta": 0.0352,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.563,
"after": 0.8732,
"delta": 0.3102,
"percent_delta": 0.551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 1.3038,
"delta": 0.7538,
"percent_delta": 1.3705,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.4129,
"delta": 0.0169,
"percent_delta": 0.0427,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.359,
"after": 0.763,
"delta": 0.404,
"percent_delta": 1.1253,
"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.8,
"after": 6.8491,
"delta": 3.0491,
"percent_delta": 0.8024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 57
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2047,
"predicted_3B": 0.0004,
"predicted_AB": 6.8491,
"predicted_AVG": 0.2511,
"predicted_BB": 0.8214,
"predicted_H": 1.7198,
"predicted_HBP": 0.193,
"predicted_HR": 0.3013,
"predicted_OBP": 0.3313,
"predicted_R": 0.8603,
"predicted_RBI": 1.2845,
"predicted_SLG": 0.4131,
"predicted_SO": 0.7682
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2047,
"after": 0.2047,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.8491,
"after": 6.8491,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2466,
"after": 0.2511,
"delta": 0.0045,
"percent_delta": 0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.827,
"after": 0.8214,
"delta": -0.0056,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7317,
"after": 1.7198,
"delta": -0.0119,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.193,
"after": 0.193,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3015,
"after": 0.3013,
"delta": -0.0002,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3354,
"after": 0.3313,
"delta": -0.0041,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8732,
"after": 0.8603,
"delta": -0.0129,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.3038,
"after": 1.2845,
"delta": -0.0193,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4129,
"after": 0.4131,
"delta": 0.0002,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.763,
"after": 0.7682,
"delta": 0.0052,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.85), rates preserved: AVG=0.251 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.2047,
"after": 0.0,
"delta": -0.2047,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.8491,
"after": 7.0,
"delta": 0.1509,
"percent_delta": 0.022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8214,
"after": 1.0,
"delta": 0.1786,
"percent_delta": 0.2174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7198,
"after": 2.0,
"delta": 0.2802,
"percent_delta": 0.1629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.193,
"after": 0.0,
"delta": -0.193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3013,
"after": 0.0,
"delta": -0.3013,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2845,
"after": 1.0,
"delta": -0.2845,
"percent_delta": -0.2215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7682,
"after": 1.0,
"delta": 0.2318,
"percent_delta": 0.3017,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.7198,
"after": 2.0,
"delta": 0.2802,
"percent_delta": 0.1629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3013,
"after": 0.0,
"delta": -0.3013,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.8603,
"after": 1.0,
"delta": 0.1397,
"percent_delta": 0.1624,
"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.8603,
"after": 1.0,
"delta": 0.1397,
"percent_delta": 0.1624,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2511,
"after": 0.286,
"delta": 0.0349,
"percent_delta": 0.139,
"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.3313,
"after": 0.375,
"delta": 0.0437,
"percent_delta": 0.1319,
"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.4131,
"after": 0.286,
"delta": -0.1271,
"percent_delta": -0.3077,
"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.3313,
"after": 0.375,
"delta": 0.0437,
"percent_delta": 0.1319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4131,
"after": 0.286,
"delta": -0.1271,
"percent_delta": -0.3077,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 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.2511,
"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.3313,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4131,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2511,
"delta": -0.0349,
"percent_delta": -0.1221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3313,
"delta": -0.0437,
"percent_delta": -0.1166,
"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.4131,
"delta": 0.1271,
"percent_delta": 0.4442,
"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.4131,
"delta": 0.1271,
"percent_delta": 0.4442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3313,
"delta": -0.0437,
"percent_delta": -0.1166,
"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.092,
"after": 0.0,
"delta": -0.092,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8,
"after": 4.0,
"delta": 0.2,
"percent_delta": 0.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2511,
"delta": 0.0151,
"percent_delta": 0.064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.379,
"after": 0.0,
"delta": -0.379,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 1.0,
"delta": 0.1,
"percent_delta": 0.1111,
"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.324,
"after": 0.3313,
"delta": 0.0073,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.563,
"after": 0.0,
"delta": -0.563,
"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.396,
"after": 0.4131,
"delta": 0.0171,
"percent_delta": 0.0432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.359,
"after": 0.0,
"delta": -0.359,
"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.8,
"after": 4.0,
"delta": 0.2,
"percent_delta": 0.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.563,
"after": 0.0,
"delta": -0.563,
"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.092 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.800 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.379 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.324 | - |
| predicted_R | 0.563 | - |
| predicted_RBI | 0.550 | - |
| predicted_SLG | 0.396 | - |
| predicted_SO | 0.359 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.205 | 0.113 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.849 | 3.049 |
| predicted_AVG | 0.247 | 0.011 |
| predicted_BB | 0.827 | 0.448 |
| predicted_H | 1.732 | 0.832 |
| predicted_HBP | 0.193 | - |
| predicted_HR | 0.301 | 0.161 |
| predicted_OBP | 0.335 | 0.011 |
| predicted_R | 0.873 | 0.310 |
| predicted_RBI | 1.304 | 0.754 |
| predicted_SLG | 0.413 | 0.017 |
| predicted_SO | 0.763 | 0.404 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.205 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.849 | 0.000 |
| predicted_AVG | 0.251 | 0.004 |
| predicted_BB | 0.821 | -0.006 |
| predicted_H | 1.720 | -0.012 |
| predicted_HBP | 0.193 | 0.000 |
| predicted_HR | 0.301 | -0.000 |
| predicted_OBP | 0.331 | -0.004 |
| predicted_R | 0.860 | -0.013 |
| predicted_RBI | 1.284 | -0.019 |
| predicted_SLG | 0.413 | 0.000 |
| predicted_SO | 0.768 | 0.005 |
AB rounded to 7 (raw=6.85), rates preserved: AVG=0.251 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=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 | 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.205 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 7.000 | 0.151 |
| predicted_AVG | 0.286 | 0.035 |
| predicted_BB | 1.000 | 0.179 |
| predicted_H | 2.000 | 0.280 |
| predicted_HR | 0.000 | -0.301 |
| predicted_OBP | 0.375 | 0.044 |
| predicted_R | 1.000 | 0.140 |
| predicted_RBI | 1.000 | -0.284 |
| predicted_SLG | 0.286 | -0.127 |
| predicted_SO | 1.000 | 0.232 |
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 | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 18.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 | 4.000 | 3.000 | 0.2222 | 0.3636 | 0.2778 | 0.2222 | 0.0000 | 0.0556 | 0.2222 | 0.1667 |
| last_10 | 0.20 | 5 | - | 36.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 | 6.000 | 5.000 | 0.1111 | 0.2381 | 0.1389 | 0.1111 | 0.0000 | 0.0278 | 0.1667 | 0.1389 |
| season | 0.60 | 57 | - | 738.000 | 207.000 | 19.000 | 0.000 | 47.000 | 198.000 | 116.000 | 78.000 | 74.000 | 0.2805 | 0.3556 | 0.4973 | 0.2805 | 0.0637 | 0.2683 | 0.1057 | 0.1003 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3480 |
| predicted_3B | 0.0010 |
| predicted_AB | 10.7290 |
| predicted_AVG | 0.2600 |
| predicted_BB | 1.3970 |
| predicted_H | 2.7900 |
| predicted_HBP | 0.1930 |
| predicted_HR | 0.5070 |
| predicted_OBP | 0.3500 |
| predicted_R | 1.2680 |
| predicted_RBI | 2.2630 |
| predicted_SLG | 0.4345 |
| predicted_SO | 1.2770 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0920 | 0.3480 | 0.2047 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8000 | 10.7290 | 6.8491 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2600 | 0.2466 | model_form_blend |
| predicted_BB | 0.3790 | 1.3970 | 0.8270 | model_form_blend |
| predicted_H | 0.9000 | 2.7900 | 1.7317 | model_form_blend |
| predicted_HBP | - | 0.1930 | 0.1930 | form_only |
| predicted_HR | 0.1400 | 0.5070 | 0.3015 | model_form_blend |
| predicted_OBP | 0.3240 | 0.3500 | 0.3354 | model_form_blend |
| predicted_R | 0.5630 | 1.2680 | 0.8732 | model_form_blend |
| predicted_RBI | 0.5500 | 2.2630 | 1.3038 | model_form_blend |
| predicted_SLG | 0.3960 | 0.4345 | 0.4129 | model_form_blend |
| predicted_SO | 0.3590 | 1.2770 | 0.7630 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.28 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | C |
| gameID | 20260531_MIA@NYM |
| game_type | full |
| mlbID | 689414 |
| playerID | 689414 |
| playerName | Liam Hicks |
| pos | C |
| started | True |
| startingPosition | C |
| team | MIA |
| teamID | 15 |
| game_date | 2026-05-31 |
| sl_k_percent | 8.9 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.36 |
| sl_xwoba | 0.324 |
| sl_xba | 0.259 |
| sl_xslg | 0.386 |
| sl_sweet_spot_percent | 26.9 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 33.9 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 14.6 |
| sl_whiff_percent | 10.5 |
| sl_swing_percent | 42.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.216 | 0.000 | 1.000 | Hitting_2B | 0.216 | 0.000 | -0.216 | 0.000 |
| predicted_3B | 0.062 | 1.000 | 0.000 | Hitting_3B | 0.062 | 0.000 | 0.938 | 1.000 |
| predicted_AB | 3.990 | 4.000 | 8.000 | Hitting_AB | 3.797 | 4.000 | 0.203 | 0.000 |
| predicted_AVG | 0.261 | 0.500 | 0.375 | Hitting_AVG | 0.321 | 0.000 | 0.179 | 0.500 |
| predicted_BB | 0.548 | 0.000 | 1.000 | Hitting_BB | 0.548 | 1.000 | -0.548 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_H | 1.040 | 2.000 | 3.000 | Hitting_H | 1.220 | 0.000 | 0.780 | 2.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.108 | 0.000 | -0.108 | 0.000 |
| predicted_OBP | 0.374 | 0.500 | 0.444 | Hitting_OBP | 0.407 | 0.200 | 0.093 | 0.300 |
| predicted_R | 0.747 | 0.000 | 1.000 | Hitting_R | 0.747 | 0.000 | -0.747 | 0.000 |
| predicted_RBI | 0.360 | 0.000 | 1.000 | Hitting_RBI | 0.353 | 0.000 | -0.353 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.145 | 0.000 | -0.145 | 0.000 |
| predicted_SLG | 0.438 | 1.000 | 0.500 | Hitting_SLG | 0.496 | 0.000 | 0.504 | 1.000 |
| predicted_SO | 0.502 | 0.000 | 1.000 | Hitting_SO | 0.502 | 0.000 | -0.502 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 1.0400 -> 2.0000 (boost 0.9600, better) |
| Biggest Deboost | predicted_R: 0.7470 -> 0.0000 (deboost -0.7470, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.9900 -> 7.6900 (boost 3.7000, 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.3078 -> 0.3338 (boost 0.0260, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 5 | 3 | 4 | 4 | predicted_2B: 0.5125 -> 1.0000 (boost 0.4875, better) | predicted_BB: 1.2543 -> 1.0000 (deboost -0.2543, worse) | AB rounded to 8 (raw=7.69), rates preserved: AVG=0.334 HR/AB=0.022 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.4272 -> 1.0000 (deboost -0.4272, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.3338 -> 0.3750 (boost 0.0412, better) | predicted_SLG: 0.5107 -> 0.5000 (deboost -0.0107, 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_3B: 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 | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.5000 -> 0.5107 (boost 0.0107, better) | predicted_AVG: 0.3750 -> 0.3338 (deboost -0.0412, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669364",
"player_name": "Xavier Edwards",
"position": "2B",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.216,
"predicted_3B": 0.062,
"predicted_AB": 3.99,
"predicted_AVG": 0.261,
"predicted_BB": 0.548,
"predicted_H": 1.04,
"predicted_HR": 0.09,
"predicted_OBP": 0.374,
"predicted_R": 0.747,
"predicted_RBI": 0.36,
"predicted_SLG": 0.438,
"predicted_SO": 0.502
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.5125,
"predicted_3B": 0.1711,
"predicted_AB": 7.69,
"predicted_AVG": 0.3078,
"predicted_BB": 1.2629,
"predicted_H": 2.5851,
"predicted_HBP": 0.003,
"predicted_HR": 0.1686,
"predicted_OBP": 0.4105,
"predicted_R": 1.4486,
"predicted_RBI": 0.6618,
"predicted_SLG": 0.4891,
"predicted_SO": 0.9363
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.216,
"after": 0.5125,
"delta": 0.2965,
"percent_delta": 1.3727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.062,
"after": 0.1711,
"delta": 0.1091,
"percent_delta": 1.7597,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.99,
"after": 7.69,
"delta": 3.7,
"percent_delta": 0.9273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.3078,
"delta": 0.0468,
"percent_delta": 0.1793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.548,
"after": 1.2629,
"delta": 0.7149,
"percent_delta": 1.3046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 2.5851,
"delta": 1.5451,
"percent_delta": 1.4857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1686,
"delta": 0.0786,
"percent_delta": 0.8733,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.374,
"after": 0.4105,
"delta": 0.0365,
"percent_delta": 0.0976,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.747,
"after": 1.4486,
"delta": 0.7016,
"percent_delta": 0.9392,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.6618,
"delta": 0.3018,
"percent_delta": 0.8383,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.4891,
"delta": 0.0511,
"percent_delta": 0.1167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.502,
"after": 0.9363,
"delta": 0.4343,
"percent_delta": 0.8651,
"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.99,
"after": 7.69,
"delta": 3.7,
"percent_delta": 0.9273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 60
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.5125,
"predicted_3B": 0.1711,
"predicted_AB": 7.69,
"predicted_AVG": 0.3338,
"predicted_BB": 1.2543,
"predicted_H": 2.5673,
"predicted_HBP": 0.003,
"predicted_HR": 0.1685,
"predicted_OBP": 0.4273,
"predicted_R": 1.4272,
"predicted_RBI": 0.652,
"predicted_SLG": 0.5107,
"predicted_SO": 0.9427
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5125,
"after": 0.5125,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1711,
"after": 0.1711,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.69,
"after": 7.69,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3078,
"after": 0.3338,
"delta": 0.026,
"percent_delta": 0.0845,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.2629,
"after": 1.2543,
"delta": -0.0086,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.5851,
"after": 2.5673,
"delta": -0.0178,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1686,
"after": 0.1685,
"delta": -0.0001,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4105,
"after": 0.4273,
"delta": 0.0168,
"percent_delta": 0.0409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.4486,
"after": 1.4272,
"delta": -0.0214,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6618,
"after": 0.652,
"delta": -0.0098,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4891,
"after": 0.5107,
"delta": 0.0216,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9363,
"after": 0.9427,
"delta": 0.0064,
"percent_delta": 0.0068,
"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.3078,
"after": 0.3338,
"delta": 0.026,
"percent_delta": 0.0845,
"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.69), rates preserved: AVG=0.334 HR/AB=0.022",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5125,
"after": 1.0,
"delta": 0.4875,
"percent_delta": 0.9512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1711,
"after": 0.0,
"delta": -0.1711,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.69,
"after": 8.0,
"delta": 0.31,
"percent_delta": 0.0403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.2543,
"after": 1.0,
"delta": -0.2543,
"percent_delta": -0.2027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.5673,
"after": 3.0,
"delta": 0.4327,
"percent_delta": 0.1685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1685,
"after": 0.0,
"delta": -0.1685,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.652,
"after": 1.0,
"delta": 0.348,
"percent_delta": 0.5337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9427,
"after": 1.0,
"delta": 0.0573,
"percent_delta": 0.0608,
"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_2B",
"before": 0.5125,
"after": 1.0,
"delta": 0.4875,
"percent_delta": 0.9512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.2543,
"after": 1.0,
"delta": -0.2543,
"percent_delta": -0.2027,
"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.222)",
"stats": {
"predicted_2B": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 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": 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.4272,
"after": 1.0,
"delta": -0.4272,
"percent_delta": -0.2993,
"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.4272,
"after": 1.0,
"delta": -0.4272,
"percent_delta": -0.2993,
"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.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.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": 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.3338,
"after": 0.375,
"delta": 0.0412,
"percent_delta": 0.1234,
"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.4273,
"after": 0.444,
"delta": 0.0167,
"percent_delta": 0.0391,
"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.5107,
"after": 0.5,
"delta": -0.0107,
"percent_delta": -0.021,
"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.3338,
"after": 0.375,
"delta": 0.0412,
"percent_delta": 0.1234,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5107,
"after": 0.5,
"delta": -0.0107,
"percent_delta": -0.021,
"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": 1.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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 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": 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": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_3B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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": 1.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.3338,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4273,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5107,
"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": 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.375,
"after": 0.3338,
"delta": -0.0412,
"percent_delta": -0.1097,
"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.444,
"after": 0.4273,
"delta": -0.0167,
"percent_delta": -0.0377,
"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.5,
"after": 0.5107,
"delta": 0.0107,
"percent_delta": 0.0214,
"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.5,
"after": 0.5107,
"delta": 0.0107,
"percent_delta": 0.0214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.375,
"after": 0.3338,
"delta": -0.0412,
"percent_delta": -0.1097,
"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.216,
"after": 0.0,
"delta": -0.216,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.062,
"after": 1.0,
"delta": 0.938,
"percent_delta": 15.129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.261,
"after": 0.3338,
"delta": 0.0728,
"percent_delta": 0.2789,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.548,
"after": 0.0,
"delta": -0.548,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 2.0,
"delta": 0.96,
"percent_delta": 0.9231,
"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.4273,
"delta": 0.0533,
"percent_delta": 0.1425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.747,
"after": 0.0,
"delta": -0.747,
"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.438,
"after": 0.5107,
"delta": 0.0727,
"percent_delta": 0.166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.502,
"after": 0.0,
"delta": -0.502,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.04,
"after": 2.0,
"delta": 0.96,
"percent_delta": 0.9231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.747,
"after": 0.0,
"delta": -0.747,
"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.216 | - |
| predicted_3B | 0.062 | - |
| predicted_AB | 3.990 | - |
| predicted_AVG | 0.261 | - |
| predicted_BB | 0.548 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.374 | - |
| predicted_R | 0.747 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.438 | - |
| predicted_SO | 0.502 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.296 |
| predicted_3B | 0.171 | 0.109 |
| predicted_AB | 7.690 | 3.700 |
| predicted_AVG | 0.308 | 0.047 |
| predicted_BB | 1.263 | 0.715 |
| predicted_H | 2.585 | 1.545 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.169 | 0.079 |
| predicted_OBP | 0.410 | 0.036 |
| predicted_R | 1.449 | 0.702 |
| predicted_RBI | 0.662 | 0.302 |
| predicted_SLG | 0.489 | 0.051 |
| predicted_SO | 0.936 | 0.434 |
Step 3: 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.171 | 0.000 |
| predicted_AB | 7.690 | 0.000 |
| predicted_AVG | 0.334 | 0.026 |
| predicted_BB | 1.254 | -0.009 |
| predicted_H | 2.567 | -0.018 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.169 | -0.000 |
| predicted_OBP | 0.427 | 0.017 |
| predicted_R | 1.427 | -0.021 |
| predicted_RBI | 0.652 | -0.010 |
| predicted_SLG | 0.511 | 0.022 |
| predicted_SO | 0.943 | 0.006 |
AB rounded to 8 (raw=7.69), rates preserved: AVG=0.334 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 3.000 | - |
| HBP | 0.000 | - |
| HR | 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.222)
| 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 | 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 | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 3.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 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.171 |
| predicted_AB | 8.000 | 0.310 |
| predicted_AVG | 0.375 | 0.041 |
| predicted_BB | 1.000 | -0.254 |
| predicted_H | 3.000 | 0.433 |
| predicted_HR | 0.000 | -0.169 |
| predicted_OBP | 0.444 | 0.017 |
| predicted_R | 1.000 | -0.427 |
| predicted_RBI | 1.000 | 0.348 |
| predicted_SLG | 0.500 | -0.011 |
| predicted_SO | 1.000 | 0.057 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 1.000 | 1.000 |
| AB | 4.000 | -4.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 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 17.000 | 9.000 | 2.000 | 1.000 | 0.000 | 1.000 | 3.000 | 5.000 | 1.000 | 0.5294 | 0.6364 | 0.7647 | 0.5294 | 0.0000 | 0.0588 | 0.2941 | 0.0588 |
| last_10 | 0.20 | 5 | - | 32.000 | 15.000 | 4.000 | 1.000 | 0.000 | 1.000 | 5.000 | 7.000 | 4.000 | 0.4688 | 0.5641 | 0.6562 | 0.4688 | 0.0000 | 0.0312 | 0.2188 | 0.1250 |
| season | 0.60 | 60 | - | 915.000 | 294.000 | 52.000 | 15.000 | 26.000 | 85.000 | 180.000 | 132.000 | 121.000 | 0.3213 | 0.4069 | 0.4962 | 0.3213 | 0.0284 | 0.0929 | 0.1443 | 0.1322 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8870 |
| predicted_3B | 0.3090 |
| predicted_AB | 12.3640 |
| predicted_AVG | 0.3669 |
| predicted_BB | 2.1660 |
| predicted_H | 4.5370 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.2680 |
| predicted_OBP | 0.4566 |
| predicted_R | 2.3350 |
| predicted_RBI | 1.0430 |
| predicted_SLG | 0.5537 |
| predicted_SO | 1.4850 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2160 | 0.8870 | 0.5125 | model_form_blend |
| predicted_3B | 0.0620 | 0.3090 | 0.1711 | model_form_blend |
| predicted_AB | 3.9900 | 12.3640 | 7.6900 | model_form_blend |
| predicted_AVG | 0.2610 | 0.3669 | 0.3078 | model_form_blend |
| predicted_BB | 0.5480 | 2.1660 | 1.2629 | model_form_blend |
| predicted_H | 1.0400 | 4.5370 | 2.5851 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0900 | 0.2680 | 0.1686 | model_form_blend |
| predicted_OBP | 0.3740 | 0.4566 | 0.4105 | model_form_blend |
| predicted_R | 0.7470 | 2.3350 | 1.4486 | model_form_blend |
| predicted_RBI | 0.3600 | 1.0430 | 0.6618 | model_form_blend |
| predicted_SLG | 0.4380 | 0.5537 | 0.4891 | model_form_blend |
| predicted_SO | 0.5020 | 1.4850 | 0.9363 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 1 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.321 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260531_MIA@NYM |
| game_type | full |
| mlbID | 669364 |
| playerID | 669364 |
| playerName | Xavier Edwards |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | MIA |
| teamID | 15 |
| game_date | 2026-05-31 |
| sl_k_percent | 11.6 |
| sl_bb_percent | 12.0 |
| sl_woba | 0.392 |
| sl_xwoba | 0.355 |
| sl_xba | 0.286 |
| sl_xslg | 0.437 |
| sl_sweet_spot_percent | 40.8 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 33.5 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 11.2 |
| sl_whiff_percent | 14.2 |
| sl_swing_percent | 39.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.118 | 0.000 | 0.000 | Hitting_2B | 0.109 | 0.000 | -0.109 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.118 | 4.000 | 5.000 | Hitting_AB | 2.891 | 0.000 | 1.109 | 4.000 |
| predicted_AVG | 0.257 | 0.250 | 0.200 | Hitting_AVG | 0.258 | - | -0.008 | - |
| predicted_BB | 0.275 | 0.000 | 1.000 | Hitting_BB | 0.291 | 0.000 | -0.291 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.240 | 1.000 | 1.000 | Hitting_H | 0.745 | 0.000 | 0.255 | 1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.295 | 0.250 | 0.333 | Hitting_OBP | 0.341 | - | -0.091 | - |
| predicted_R | 0.314 | 0.000 | 0.000 | Hitting_R | 0.327 | 0.000 | -0.327 | 0.000 |
| predicted_RBI | 0.120 | 0.000 | 0.000 | Hitting_RBI | 0.073 | 0.000 | -0.073 | 0.000 |
| predicted_SLG | 0.330 | 0.250 | 0.200 | Hitting_SLG | 0.296 | - | -0.046 | - |
| predicted_SO | 0.706 | 1.000 | 1.000 | Hitting_SO | 0.655 | 0.000 | 0.345 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.1180 -> 4.0000 (boost 0.8820, better) |
| Biggest Deboost | predicted_R: 0.3140 -> 0.0000 (deboost -0.3140, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.1180 -> 4.9820 (boost 1.8640, better) | predicted_SLG: 0.3300 -> 0.3099 (deboost -0.0201, 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.2289 (deboost -0.0810, 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.5316 -> 1.0000 (boost 0.4684, better) | predicted_RBI: 0.1777 -> 0.0000 (deboost -0.1777, worse) | AB rounded to 5 (raw=4.98), rates preserved: AVG=0.175 HR/AB=0.007 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4393 -> 0.0000 (deboost -0.4393, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2543 -> 0.3330 (boost 0.0787, better) | predicted_SLG: 0.2289 -> 0.2000 (deboost -0.0289, 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2000 -> 0.2289 (boost 0.0289, better) | predicted_OBP: 0.3330 -> 0.2543 (deboost -0.0787, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677870",
"player_name": "Leo Jiménez",
"position": "3B",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.118,
"predicted_3B": 0.0,
"predicted_AB": 3.118,
"predicted_AVG": 0.257,
"predicted_BB": 0.275,
"predicted_H": 0.24,
"predicted_HR": 0.03,
"predicted_OBP": 0.295,
"predicted_R": 0.314,
"predicted_RBI": 0.12,
"predicted_SLG": 0.33,
"predicted_SO": 0.706
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1678,
"predicted_3B": 0.0016,
"predicted_AB": 4.982,
"predicted_AVG": 0.2477,
"predicted_BB": 0.5352,
"predicted_H": 0.8767,
"predicted_HBP": 0.134,
"predicted_HR": 0.0329,
"predicted_OBP": 0.3059,
"predicted_R": 0.4459,
"predicted_RBI": 0.1804,
"predicted_SLG": 0.3099,
"predicted_SO": 1.1226
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.1678,
"delta": 0.0498,
"percent_delta": 0.422,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0016,
"delta": 0.0016,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.118,
"after": 4.982,
"delta": 1.864,
"percent_delta": 0.5978,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2477,
"delta": -0.0093,
"percent_delta": -0.0362,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.275,
"after": 0.5352,
"delta": 0.2602,
"percent_delta": 0.9462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.24,
"after": 0.8767,
"delta": 0.6367,
"percent_delta": 2.6529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0329,
"delta": 0.0029,
"percent_delta": 0.0967,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.3059,
"delta": 0.0109,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.314,
"after": 0.4459,
"delta": 0.1319,
"percent_delta": 0.4201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 0.1804,
"delta": 0.0604,
"percent_delta": 0.5033,
"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.706,
"after": 1.1226,
"delta": 0.4166,
"percent_delta": 0.5901,
"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.118,
"after": 4.982,
"delta": 1.864,
"percent_delta": 0.5978,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.33,
"after": 0.3099,
"delta": -0.0201,
"percent_delta": -0.0609,
"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": 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.1678,
"predicted_3B": 0.0016,
"predicted_AB": 4.982,
"predicted_AVG": 0.1748,
"predicted_BB": 0.5316,
"predicted_H": 0.8707,
"predicted_HBP": 0.134,
"predicted_HR": 0.0329,
"predicted_OBP": 0.2543,
"predicted_R": 0.4393,
"predicted_RBI": 0.1777,
"predicted_SLG": 0.2289,
"predicted_SO": 1.1302
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1678,
"after": 0.1678,
"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": 4.982,
"after": 4.982,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2477,
"after": 0.1748,
"delta": -0.0729,
"percent_delta": -0.2943,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5352,
"after": 0.5316,
"delta": -0.0036,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8767,
"after": 0.8707,
"delta": -0.006,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.134,
"after": 0.134,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0329,
"after": 0.0329,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3059,
"after": 0.2543,
"delta": -0.0516,
"percent_delta": -0.1687,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4459,
"after": 0.4393,
"delta": -0.0066,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1804,
"after": 0.1777,
"delta": -0.0027,
"percent_delta": -0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3099,
"after": 0.2289,
"delta": -0.081,
"percent_delta": -0.2614,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1226,
"after": 1.1302,
"delta": 0.0076,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2289,
"delta": -0.081,
"percent_delta": -0.2614,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.98), rates preserved: AVG=0.175 HR/AB=0.007",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1678,
"after": 0.0,
"delta": -0.1678,
"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": 4.982,
"after": 5.0,
"delta": 0.018,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5316,
"after": 1.0,
"delta": 0.4684,
"percent_delta": 0.8811,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8707,
"after": 1.0,
"delta": 0.1293,
"percent_delta": 0.1485,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.134,
"after": 0.0,
"delta": -0.134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0329,
"after": 0.0,
"delta": -0.0329,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1777,
"after": 0.0,
"delta": -0.1777,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1302,
"after": 1.0,
"delta": -0.1302,
"percent_delta": -0.1152,
"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.5316,
"after": 1.0,
"delta": 0.4684,
"percent_delta": 0.8811,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.1777,
"after": 0.0,
"delta": -0.1777,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.4393,
"after": 0.0,
"delta": -0.4393,
"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.4393,
"after": 0.0,
"delta": -0.4393,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1748,
"after": 0.2,
"delta": 0.0252,
"percent_delta": 0.1442,
"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.2543,
"after": 0.333,
"delta": 0.0787,
"percent_delta": 0.3095,
"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.2289,
"after": 0.2,
"delta": -0.0289,
"percent_delta": -0.1263,
"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.2543,
"after": 0.333,
"delta": 0.0787,
"percent_delta": 0.3095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2289,
"after": 0.2,
"delta": -0.0289,
"percent_delta": -0.1263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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.1748,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2543,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2289,
"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.2,
"after": 0.1748,
"delta": -0.0252,
"percent_delta": -0.1262,
"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.2543,
"delta": -0.0787,
"percent_delta": -0.2363,
"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.2289,
"delta": 0.0289,
"percent_delta": 0.1444,
"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.2289,
"delta": 0.0289,
"percent_delta": 0.1444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2543,
"delta": -0.0787,
"percent_delta": -0.2363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.118,
"after": 4.0,
"delta": 0.882,
"percent_delta": 0.2829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.1748,
"delta": -0.0822,
"percent_delta": -0.3198,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.275,
"after": 0.0,
"delta": -0.275,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.24,
"after": 1.0,
"delta": 0.76,
"percent_delta": 3.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.2543,
"delta": -0.0407,
"percent_delta": -0.138,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.314,
"after": 0.0,
"delta": -0.314,
"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.33,
"after": 0.2289,
"delta": -0.1011,
"percent_delta": -0.3064,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.706,
"after": 1.0,
"delta": 0.294,
"percent_delta": 0.4164,
"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.118,
"after": 4.0,
"delta": 0.882,
"percent_delta": 0.2829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.314,
"after": 0.0,
"delta": -0.314,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.118 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.118 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.275 | - |
| predicted_H | 0.240 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.295 | - |
| predicted_R | 0.314 | - |
| predicted_RBI | 0.120 | - |
| predicted_SLG | 0.330 | - |
| predicted_SO | 0.706 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.168 | 0.050 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 4.982 | 1.864 |
| predicted_AVG | 0.248 | -0.009 |
| predicted_BB | 0.535 | 0.260 |
| predicted_H | 0.877 | 0.637 |
| predicted_HBP | 0.134 | - |
| predicted_HR | 0.033 | 0.003 |
| predicted_OBP | 0.306 | 0.011 |
| predicted_R | 0.446 | 0.132 |
| predicted_RBI | 0.180 | 0.060 |
| predicted_SLG | 0.310 | -0.020 |
| predicted_SO | 1.123 | 0.417 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.168 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 4.982 | 0.000 |
| predicted_AVG | 0.175 | -0.073 |
| predicted_BB | 0.532 | -0.004 |
| predicted_H | 0.871 | -0.006 |
| predicted_HBP | 0.134 | 0.000 |
| predicted_HR | 0.033 | 0.000 |
| predicted_OBP | 0.254 | -0.052 |
| predicted_R | 0.439 | -0.007 |
| predicted_RBI | 0.178 | -0.003 |
| predicted_SLG | 0.229 | -0.081 |
| predicted_SO | 1.130 | 0.008 |
AB rounded to 5 (raw=4.98), rates preserved: AVG=0.175 HR/AB=0.007
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.168 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 5.000 | 0.018 |
| predicted_AVG | 0.200 | 0.025 |
| predicted_BB | 1.000 | 0.468 |
| predicted_H | 1.000 | 0.129 |
| predicted_HR | 0.000 | -0.033 |
| predicted_OBP | 0.333 | 0.079 |
| predicted_R | 0.000 | -0.439 |
| predicted_RBI | 0.000 | -0.178 |
| predicted_SLG | 0.200 | -0.029 |
| predicted_SO | 1.000 | -0.130 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | - | 14.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 3.000 | 0.1429 | 0.3333 | 0.1429 | 0.1429 | 0.0000 | 0.0000 | 0.2857 | 0.2143 |
| last_10 | 0.20 | 5 | - | 30.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 5.000 | 7.000 | 0.1667 | 0.2857 | 0.1667 | 0.1667 | 0.0000 | 0.0000 | 0.1667 | 0.2333 |
| season | 0.60 | 17 | - | 159.000 | 41.000 | 6.000 | 0.000 | 0.000 | 4.000 | 16.000 | 14.000 | 36.000 | 0.2579 | 0.3260 | 0.2956 | 0.2579 | 0.0000 | 0.0252 | 0.0881 | 0.2264 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2400 |
| predicted_3B | 0.0040 |
| predicted_AB | 7.6820 |
| predicted_AVG | 0.2342 |
| predicted_BB | 0.9120 |
| predicted_H | 1.7990 |
| predicted_HBP | 0.1340 |
| predicted_HR | 0.0370 |
| predicted_OBP | 0.3217 |
| predicted_R | 0.6370 |
| predicted_RBI | 0.2680 |
| predicted_SLG | 0.2809 |
| predicted_SO | 1.7260 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1180 | 0.2400 | 0.1678 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0016 | model_form_blend |
| predicted_AB | 3.1180 | 7.6820 | 4.9820 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2342 | 0.2477 | model_form_blend |
| predicted_BB | 0.2750 | 0.9120 | 0.5352 | model_form_blend |
| predicted_H | 0.2400 | 1.7990 | 0.8767 | model_form_blend |
| predicted_HBP | - | 0.1340 | 0.1340 | form_only |
| predicted_HR | 0.0300 | 0.0370 | 0.0329 | model_form_blend |
| predicted_OBP | 0.2950 | 0.3217 | 0.3059 | model_form_blend |
| predicted_R | 0.3140 | 0.6370 | 0.4459 | model_form_blend |
| predicted_RBI | 0.1200 | 0.2680 | 0.1804 | model_form_blend |
| predicted_SLG | 0.3300 | 0.2809 | 0.3099 | model_form_blend |
| predicted_SO | 0.7060 | 1.7260 | 1.1226 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 51 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.258 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260531_MIA@NYM |
| game_type | short |
| mlbID | 677870 |
| playerID | 677870 |
| playerName | Leo Jiménez |
| pos | 3B |
| started | False |
| startingPosition | 3B |
| team | MIA |
| teamID | 15 |
| game_date | 2026-05-31 |
| sl_k_percent | 16.1 |
| sl_bb_percent | 10.7 |
| sl_woba | 0.284 |
| sl_xwoba | 0.38 |
| sl_xba | 0.299 |
| sl_xslg | 0.427 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 41.0 |
| sl_exit_velocity_avg | 91.0 |
| sl_launch_angle_avg | 3.7 |
| sl_whiff_percent | 18.4 |
| sl_swing_percent | 44.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.251 | 0.000 | 0.000 | Hitting_2B | 0.251 | 0.000 | -0.251 | 0.000 |
| predicted_3B | 0.043 | 0.000 | 0.000 | Hitting_3B | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_AB | 4.360 | 4.000 | 8.000 | Hitting_AB | 4.021 | 3.000 | -0.021 | 1.000 |
| predicted_AVG | 0.247 | 0.250 | 0.375 | Hitting_AVG | 0.345 | 0.000 | -0.095 | 0.250 |
| predicted_BB | 0.170 | 0.000 | 0.000 | Hitting_BB | 0.170 | 0.000 | -0.170 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.055 | 0.000 | -0.055 | 0.000 |
| predicted_H | 1.080 | 1.000 | 3.000 | Hitting_H | 1.387 | 0.000 | -0.387 | 1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.081 | 0.000 | -0.081 | 0.000 |
| predicted_OBP | 0.313 | 0.250 | 0.375 | Hitting_OBP | 0.375 | 0.250 | -0.125 | 0.000 |
| predicted_R | 0.596 | 0.000 | 1.000 | Hitting_R | 0.596 | 0.000 | -0.596 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 1.000 | Hitting_RBI | 0.455 | 0.000 | -0.455 | 0.000 |
| predicted_SLG | 0.388 | 0.250 | 0.375 | Hitting_SLG | 0.489 | 0.000 | -0.239 | 0.250 |
| predicted_SO | 0.681 | 1.000 | 1.000 | Hitting_SO | 0.681 | 1.000 | 0.319 | 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.6810 -> 1.0000 (boost 0.3190, worse) |
| Biggest Deboost | predicted_R: 0.5960 -> 0.0000 (deboost -0.5960, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3600 -> 8.2108 (boost 3.8508, 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.2987 -> 0.3272 (boost 0.0285, 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.6864 -> 3.0000 (boost 0.3136, better) | predicted_2B: 0.4109 -> 0.0000 (deboost -0.4109, worse) | AB rounded to 8 (raw=8.21), rates preserved: AVG=0.327 HR/AB=0.017 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.429) |
| 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.3272 -> 0.3750 (boost 0.0478, better) | predicted_SLG: 0.4453 -> 0.3750 (deboost -0.0703, 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: 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.4453 (boost 0.0703, better) | predicted_AVG: 0.3750 -> 0.3272 (deboost -0.0478, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672640",
"player_name": "Otto Lopez",
"position": "SS",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.251,
"predicted_3B": 0.043,
"predicted_AB": 4.36,
"predicted_AVG": 0.247,
"predicted_BB": 0.17,
"predicted_H": 1.08,
"predicted_HR": 0.09,
"predicted_OBP": 0.313,
"predicted_R": 0.596,
"predicted_RBI": 0.45,
"predicted_SLG": 0.388,
"predicted_SO": 0.681
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4109,
"predicted_3B": 0.0691,
"predicted_AB": 8.2108,
"predicted_AVG": 0.2987,
"predicted_BB": 0.2857,
"predicted_H": 2.7051,
"predicted_HBP": 0.305,
"predicted_HR": 0.1403,
"predicted_OBP": 0.3467,
"predicted_R": 1.0438,
"predicted_RBI": 0.9627,
"predicted_SLG": 0.4257,
"predicted_SO": 1.3942
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.251,
"after": 0.4109,
"delta": 0.1599,
"percent_delta": 0.6371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.0691,
"delta": 0.0261,
"percent_delta": 0.607,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.36,
"after": 8.2108,
"delta": 3.8508,
"percent_delta": 0.8832,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2987,
"delta": 0.0517,
"percent_delta": 0.2093,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.17,
"after": 0.2857,
"delta": 0.1157,
"percent_delta": 0.6806,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.08,
"after": 2.7051,
"delta": 1.6251,
"percent_delta": 1.5047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1403,
"delta": 0.0503,
"percent_delta": 0.5589,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3467,
"delta": 0.0337,
"percent_delta": 0.1077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.596,
"after": 1.0438,
"delta": 0.4478,
"percent_delta": 0.7513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.9627,
"delta": 0.5127,
"percent_delta": 1.1393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.388,
"after": 0.4257,
"delta": 0.0377,
"percent_delta": 0.0972,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.681,
"after": 1.3942,
"delta": 0.7132,
"percent_delta": 1.0473,
"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.36,
"after": 8.2108,
"delta": 3.8508,
"percent_delta": 0.8832,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 59
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.4109,
"predicted_3B": 0.0691,
"predicted_AB": 8.2108,
"predicted_AVG": 0.3272,
"predicted_BB": 0.2838,
"predicted_H": 2.6864,
"predicted_HBP": 0.305,
"predicted_HR": 0.1402,
"predicted_OBP": 0.3497,
"predicted_R": 1.0284,
"predicted_RBI": 0.9485,
"predicted_SLG": 0.4453,
"predicted_SO": 1.4037
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4109,
"after": 0.4109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0691,
"after": 0.0691,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.2108,
"after": 8.2108,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2987,
"after": 0.3272,
"delta": 0.0285,
"percent_delta": 0.0954,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2857,
"after": 0.2838,
"delta": -0.0019,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.7051,
"after": 2.6864,
"delta": -0.0187,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.305,
"after": 0.305,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1403,
"after": 0.1402,
"delta": -0.0001,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3467,
"after": 0.3497,
"delta": 0.003,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0438,
"after": 1.0284,
"delta": -0.0154,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9627,
"after": 0.9485,
"delta": -0.0142,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4257,
"after": 0.4453,
"delta": 0.0196,
"percent_delta": 0.046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3942,
"after": 1.4037,
"delta": 0.0095,
"percent_delta": 0.0068,
"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.2987,
"after": 0.3272,
"delta": 0.0285,
"percent_delta": 0.0954,
"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.21), rates preserved: AVG=0.327 HR/AB=0.017",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 0.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.4109,
"after": 0.0,
"delta": -0.4109,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0691,
"after": 0.0,
"delta": -0.0691,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 8.2108,
"after": 8.0,
"delta": -0.2108,
"percent_delta": -0.0257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2838,
"after": 0.0,
"delta": -0.2838,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.6864,
"after": 3.0,
"delta": 0.3136,
"percent_delta": 0.1167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.305,
"after": 0.0,
"delta": -0.305,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1402,
"after": 0.0,
"delta": -0.1402,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9485,
"after": 1.0,
"delta": 0.0515,
"percent_delta": 0.0543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4037,
"after": 1.0,
"delta": -0.4037,
"percent_delta": -0.2876,
"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.6864,
"after": 3.0,
"delta": 0.3136,
"percent_delta": 0.1167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4109,
"after": 0.0,
"delta": -0.4109,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.429)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 0.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9243,
"bvp": 0.0757
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0284,
"after": 1.0,
"delta": -0.0284,
"percent_delta": -0.0276,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.375,
"predicted_BB": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"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.3272,
"after": 0.375,
"delta": 0.0478,
"percent_delta": 0.1461,
"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": 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.3497,
"after": 0.375,
"delta": 0.0253,
"percent_delta": 0.0723,
"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.4453,
"after": 0.375,
"delta": -0.0703,
"percent_delta": -0.1579,
"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.3272,
"after": 0.375,
"delta": 0.0478,
"percent_delta": 0.1461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4453,
"after": 0.375,
"delta": -0.0703,
"percent_delta": -0.1579,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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": 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": 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.3272,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3497,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4453,
"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.375,
"after": 0.3272,
"delta": -0.0478,
"percent_delta": -0.1275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3497,
"delta": -0.0253,
"percent_delta": -0.0676,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.4453,
"delta": 0.0703,
"percent_delta": 0.1874,
"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.4453,
"delta": 0.0703,
"percent_delta": 0.1874,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.375,
"after": 0.3272,
"delta": -0.0478,
"percent_delta": -0.1275,
"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.251,
"after": 0.0,
"delta": -0.251,
"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.36,
"after": 4.0,
"delta": -0.36,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.3272,
"delta": 0.0802,
"percent_delta": 0.3247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3497,
"delta": 0.0367,
"percent_delta": 0.1173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.596,
"after": 0.0,
"delta": -0.596,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.388,
"after": 0.4453,
"delta": 0.0573,
"percent_delta": 0.1477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.681,
"after": 1.0,
"delta": 0.319,
"percent_delta": 0.4684,
"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.681,
"after": 1.0,
"delta": 0.319,
"percent_delta": 0.4684,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.596,
"after": 0.0,
"delta": -0.596,
"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.251 | - |
| predicted_3B | 0.043 | - |
| predicted_AB | 4.360 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.170 | - |
| predicted_H | 1.080 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.596 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.388 | - |
| predicted_SO | 0.681 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.411 | 0.160 |
| predicted_3B | 0.069 | 0.026 |
| predicted_AB | 8.211 | 3.851 |
| predicted_AVG | 0.299 | 0.052 |
| predicted_BB | 0.286 | 0.116 |
| predicted_H | 2.705 | 1.625 |
| predicted_HBP | 0.305 | - |
| predicted_HR | 0.140 | 0.050 |
| predicted_OBP | 0.347 | 0.034 |
| predicted_R | 1.044 | 0.448 |
| predicted_RBI | 0.963 | 0.513 |
| predicted_SLG | 0.426 | 0.038 |
| predicted_SO | 1.394 | 0.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.411 | 0.000 |
| predicted_3B | 0.069 | 0.000 |
| predicted_AB | 8.211 | 0.000 |
| predicted_AVG | 0.327 | 0.028 |
| predicted_BB | 0.284 | -0.002 |
| predicted_H | 2.686 | -0.019 |
| predicted_HBP | 0.305 | 0.000 |
| predicted_HR | 0.140 | -0.000 |
| predicted_OBP | 0.350 | 0.003 |
| predicted_R | 1.028 | -0.015 |
| predicted_RBI | 0.949 | -0.014 |
| predicted_SLG | 0.445 | 0.020 |
| predicted_SO | 1.404 | 0.009 |
AB rounded to 8 (raw=8.21), rates preserved: AVG=0.327 HR/AB=0.017
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 0.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=7.0, weight=0.076, BvP AVG=0.429)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 0.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 | 0.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.411 |
| predicted_3B | 0.000 | -0.069 |
| predicted_AB | 8.000 | -0.211 |
| predicted_AVG | 0.375 | 0.048 |
| predicted_BB | 0.000 | -0.284 |
| predicted_H | 3.000 | 0.314 |
| predicted_HR | 0.000 | -0.140 |
| predicted_OBP | 0.375 | 0.025 |
| predicted_R | 1.000 | -0.028 |
| predicted_RBI | 1.000 | 0.051 |
| predicted_SLG | 0.375 | -0.070 |
| predicted_SO | 1.000 | -0.404 |
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 | 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 | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 19.000 | 8.000 | 0.000 | 0.000 | 0.000 | 3.000 | 1.000 | 0.000 | 4.000 | 0.4211 | 0.4286 | 0.4211 | 0.4210 | 0.0000 | 0.1579 | 0.0000 | 0.2105 |
| last_10 | 0.20 | 5 | - | 39.000 | 19.000 | 0.000 | 0.000 | 0.000 | 5.000 | 1.000 | 0.000 | 4.000 | 0.4872 | 0.4878 | 0.4872 | 0.4872 | 0.0000 | 0.1282 | 0.0000 | 0.1026 |
| season | 0.60 | 59 | - | 945.000 | 326.000 | 59.000 | 10.000 | 19.000 | 107.000 | 140.000 | 40.000 | 160.000 | 0.3450 | 0.3754 | 0.4889 | 0.3450 | 0.0201 | 0.1132 | 0.0423 | 0.1693 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6130 |
| predicted_3B | 0.1020 |
| predicted_AB | 13.0800 |
| predicted_AVG | 0.3640 |
| predicted_BB | 0.4320 |
| predicted_H | 4.7600 |
| predicted_HBP | 0.3050 |
| predicted_HR | 0.2040 |
| predicted_OBP | 0.3894 |
| predicted_R | 1.6100 |
| predicted_RBI | 1.6110 |
| predicted_SLG | 0.4733 |
| predicted_SO | 2.2960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2510 | 0.6130 | 0.4109 | model_form_blend |
| predicted_3B | 0.0430 | 0.1020 | 0.0691 | model_form_blend |
| predicted_AB | 4.3600 | 13.0800 | 8.2108 | model_form_blend |
| predicted_AVG | 0.2470 | 0.3640 | 0.2987 | model_form_blend |
| predicted_BB | 0.1700 | 0.4320 | 0.2857 | model_form_blend |
| predicted_H | 1.0800 | 4.7600 | 2.7051 | model_form_blend |
| predicted_HBP | - | 0.3050 | 0.3050 | form_only |
| predicted_HR | 0.0900 | 0.2040 | 0.1403 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3894 | 0.3467 | model_form_blend |
| predicted_R | 0.5960 | 1.6100 | 1.0438 | model_form_blend |
| predicted_RBI | 0.4500 | 1.6110 | 0.9627 | model_form_blend |
| predicted_SLG | 0.3880 | 0.4733 | 0.4257 | model_form_blend |
| predicted_SO | 0.6810 | 2.2960 | 1.3942 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.345 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | SS |
| gameID | 20260531_MIA@NYM |
| game_type | full |
| mlbID | 672640 |
| playerID | 672640 |
| playerName | Otto Lopez |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | MIA |
| teamID | 15 |
| game_date | 2026-05-31 |
| sl_k_percent | 16.0 |
| sl_bb_percent | 3.7 |
| sl_woba | 0.359 |
| sl_xwoba | 0.333 |
| sl_xba | 0.291 |
| sl_xslg | 0.448 |
| sl_sweet_spot_percent | 29.7 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 44.8 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 7.3 |
| sl_whiff_percent | 20.6 |
| sl_swing_percent | 48.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.212 | 0.000 | 0.000 | Hitting_2B | 0.211 | 1.000 | -0.211 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.159 | 4.000 | 5.000 | Hitting_AB | 3.138 | 2.000 | 0.862 | 2.000 |
| predicted_AVG | 0.267 | 0.000 | 0.200 | Hitting_AVG | 0.235 | 1.000 | -0.235 | -1.000 |
| predicted_BB | 0.212 | 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 | 0.760 | 0.000 | 1.000 | Hitting_H | 0.737 | 2.000 | -0.737 | -2.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.079 | 0.000 | -0.079 | 0.000 |
| predicted_OBP | 0.320 | 0.000 | 0.200 | Hitting_OBP | 0.288 | 1.000 | -0.288 | -1.000 |
| predicted_R | 0.351 | 1.000 | 1.000 | Hitting_R | 0.349 | 0.000 | 0.651 | 1.000 |
| predicted_RBI | 0.580 | 1.000 | 1.000 | Hitting_RBI | 0.632 | 1.000 | 0.368 | 0.000 |
| predicted_SLG | 0.450 | 0.000 | 0.200 | Hitting_SLG | 0.377 | 1.500 | -0.377 | -1.500 |
| predicted_SO | 1.437 | 1.000 | 2.000 | Hitting_SO | 1.428 | 0.000 | -0.428 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.1590 -> 4.0000 (boost 0.8410, better) |
| Biggest Deboost | predicted_H: 0.7600 -> 0.0000 (deboost -0.7600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.1590 -> 5.1939 (boost 2.0349, 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.3198 -> 0.3039 (deboost -0.0159, 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.3789 -> 1.0000 (deboost -0.3789, worse) | AB rounded to 5 (raw=5.19), rates preserved: AVG=0.265 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5692 -> 1.0000 (boost 0.4308, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4421 -> 0.2000 (deboost -0.2421, 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 -> 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.4421 (boost 0.2421, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683357",
"player_name": "Owen Caissie",
"position": "RF",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.212,
"predicted_3B": 0.0,
"predicted_AB": 3.159,
"predicted_AVG": 0.267,
"predicted_BB": 0.212,
"predicted_H": 0.76,
"predicted_HR": 0.12,
"predicted_OBP": 0.32,
"predicted_R": 0.351,
"predicted_RBI": 0.58,
"predicted_SLG": 0.45,
"predicted_SO": 1.437
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3697,
"predicted_3B": 0.0009,
"predicted_AB": 5.1939,
"predicted_AVG": 0.2733,
"predicted_BB": 0.2884,
"predicted_H": 1.3885,
"predicted_HBP": 0.093,
"predicted_HR": 0.1821,
"predicted_OBP": 0.3198,
"predicted_R": 0.5777,
"predicted_RBI": 1.0378,
"predicted_SLG": 0.4524,
"predicted_SO": 2.264
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.212,
"after": 0.3697,
"delta": 0.1577,
"percent_delta": 0.7439,
"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.159,
"after": 5.1939,
"delta": 2.0349,
"percent_delta": 0.6442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2733,
"delta": 0.0063,
"percent_delta": 0.0236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.212,
"after": 0.2884,
"delta": 0.0764,
"percent_delta": 0.3604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.76,
"after": 1.3885,
"delta": 0.6285,
"percent_delta": 0.827,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1821,
"delta": 0.0621,
"percent_delta": 0.5175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3198,
"delta": -0.0002,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.351,
"after": 0.5777,
"delta": 0.2267,
"percent_delta": 0.6459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 1.0378,
"delta": 0.4578,
"percent_delta": 0.7893,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.4524,
"delta": 0.0024,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.437,
"after": 2.264,
"delta": 0.827,
"percent_delta": 0.5755,
"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.159,
"after": 5.1939,
"delta": 2.0349,
"percent_delta": 0.6442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 6,
"season": 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.3697,
"predicted_3B": 0.0009,
"predicted_AB": 5.1939,
"predicted_AVG": 0.2655,
"predicted_BB": 0.2864,
"predicted_H": 1.3789,
"predicted_HBP": 0.093,
"predicted_HR": 0.182,
"predicted_OBP": 0.3039,
"predicted_R": 0.5692,
"predicted_RBI": 1.0224,
"predicted_SLG": 0.4421,
"predicted_SO": 2.2794
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3697,
"after": 0.3697,
"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.1939,
"after": 5.1939,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2733,
"after": 0.2655,
"delta": -0.0078,
"percent_delta": -0.0285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2884,
"after": 0.2864,
"delta": -0.002,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3885,
"after": 1.3789,
"delta": -0.0096,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.093,
"after": 0.093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1821,
"after": 0.182,
"delta": -0.0001,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3198,
"after": 0.3039,
"delta": -0.0159,
"percent_delta": -0.0497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5777,
"after": 0.5692,
"delta": -0.0085,
"percent_delta": -0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0378,
"after": 1.0224,
"delta": -0.0154,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4524,
"after": 0.4421,
"delta": -0.0103,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.264,
"after": 2.2794,
"delta": 0.0154,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3198,
"after": 0.3039,
"delta": -0.0159,
"percent_delta": -0.0497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.19), rates preserved: AVG=0.265 HR/AB=0.035",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3697,
"after": 0.0,
"delta": -0.3697,
"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.1939,
"after": 5.0,
"delta": -0.1939,
"percent_delta": -0.0373,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2864,
"after": 0.0,
"delta": -0.2864,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3789,
"after": 1.0,
"delta": -0.3789,
"percent_delta": -0.2748,
"direction": "deboost",
"projection_effect": "worse",
"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.182,
"after": 0.0,
"delta": -0.182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0224,
"after": 1.0,
"delta": -0.0224,
"percent_delta": -0.0219,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.2794,
"after": 2.0,
"delta": -0.2794,
"percent_delta": -0.1226,
"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.3789,
"after": 1.0,
"delta": -0.3789,
"percent_delta": -0.2748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5692,
"after": 1.0,
"delta": 0.4308,
"percent_delta": 0.7569,
"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.5692,
"after": 1.0,
"delta": 0.4308,
"percent_delta": 0.7569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2655,
"after": 0.2,
"delta": -0.0655,
"percent_delta": -0.2467,
"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.3039,
"after": 0.2,
"delta": -0.1039,
"percent_delta": -0.3419,
"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.4421,
"after": 0.2,
"delta": -0.2421,
"percent_delta": -0.5476,
"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.4421,
"after": 0.2,
"delta": -0.2421,
"percent_delta": -0.5476,
"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": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"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": 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.2655,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3039,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4421,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2655,
"delta": 0.0655,
"percent_delta": 0.3274,
"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.3039,
"delta": 0.1039,
"percent_delta": 0.5194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.4421,
"delta": 0.2421,
"percent_delta": 1.2106,
"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.4421,
"delta": 0.2421,
"percent_delta": 1.2106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.212,
"after": 0.0,
"delta": -0.212,
"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.159,
"after": 4.0,
"delta": 0.841,
"percent_delta": 0.2662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2655,
"delta": -0.0015,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.212,
"after": 0.0,
"delta": -0.212,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.76,
"after": 0.0,
"delta": -0.76,
"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.32,
"after": 0.3039,
"delta": -0.0161,
"percent_delta": -0.0503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.58,
"after": 1.0,
"delta": 0.42,
"percent_delta": 0.7241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.4421,
"delta": -0.0079,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.437,
"after": 1.0,
"delta": -0.437,
"percent_delta": -0.3041,
"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_AB",
"before": 3.159,
"after": 4.0,
"delta": 0.841,
"percent_delta": 0.2662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.76,
"after": 0.0,
"delta": -0.76,
"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.212 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.159 | - |
| predicted_AVG | 0.267 | - |
| predicted_BB | 0.212 | - |
| predicted_H | 0.760 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.320 | - |
| predicted_R | 0.351 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.450 | - |
| predicted_SO | 1.437 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.370 | 0.158 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.194 | 2.035 |
| predicted_AVG | 0.273 | 0.006 |
| predicted_BB | 0.288 | 0.076 |
| predicted_H | 1.389 | 0.629 |
| predicted_HBP | 0.093 | - |
| predicted_HR | 0.182 | 0.062 |
| predicted_OBP | 0.320 | -0.000 |
| predicted_R | 0.578 | 0.227 |
| predicted_RBI | 1.038 | 0.458 |
| predicted_SLG | 0.452 | 0.002 |
| predicted_SO | 2.264 | 0.827 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.370 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.194 | 0.000 |
| predicted_AVG | 0.266 | -0.008 |
| predicted_BB | 0.286 | -0.002 |
| predicted_H | 1.379 | -0.010 |
| predicted_HBP | 0.093 | 0.000 |
| predicted_HR | 0.182 | -0.000 |
| predicted_OBP | 0.304 | -0.016 |
| predicted_R | 0.569 | -0.008 |
| predicted_RBI | 1.022 | -0.015 |
| predicted_SLG | 0.442 | -0.010 |
| predicted_SO | 2.279 | 0.015 |
AB rounded to 5 (raw=5.19), rates preserved: AVG=0.265 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.370 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | -0.194 |
| predicted_AVG | 0.200 | -0.066 |
| predicted_BB | 0.000 | -0.286 |
| predicted_H | 1.000 | -0.379 |
| predicted_HR | 0.000 | -0.182 |
| predicted_OBP | 0.200 | -0.104 |
| predicted_R | 1.000 | 0.431 |
| predicted_RBI | 1.000 | -0.022 |
| predicted_SLG | 0.200 | -0.242 |
| predicted_SO | 2.000 | -0.279 |
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 | 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 | 4 | - | 15.000 | 6.000 | 1.000 | 0.000 | 1.000 | 3.000 | 2.000 | 0.000 | 6.000 | 0.4000 | 0.4000 | 0.6667 | 0.4000 | 0.0667 | 0.2000 | 0.0000 | 0.4000 |
| last_10 | 0.20 | 6 | - | 34.000 | 14.000 | 5.000 | 0.000 | 1.000 | 11.000 | 2.000 | 0.000 | 13.000 | 0.4118 | 0.4118 | 0.6471 | 0.4118 | 0.0294 | 0.3235 | 0.0000 | 0.3824 |
| season | 0.60 | 50 | - | 477.000 | 112.000 | 32.000 | 0.000 | 12.000 | 96.000 | 53.000 | 32.000 | 217.000 | 0.2348 | 0.2863 | 0.3774 | 0.2348 | 0.0252 | 0.2013 | 0.0671 | 0.4549 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5750 |
| predicted_3B | 0.0020 |
| predicted_AB | 7.8440 |
| predicted_AVG | 0.2814 |
| predicted_BB | 0.3880 |
| predicted_H | 2.2070 |
| predicted_HBP | 0.0930 |
| predicted_HR | 0.2630 |
| predicted_OBP | 0.3196 |
| predicted_R | 0.8730 |
| predicted_RBI | 1.6340 |
| predicted_SLG | 0.4555 |
| predicted_SO | 3.3410 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2120 | 0.5750 | 0.3697 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.1590 | 7.8440 | 5.1939 | model_form_blend |
| predicted_AVG | 0.2670 | 0.2814 | 0.2733 | model_form_blend |
| predicted_BB | 0.2120 | 0.3880 | 0.2884 | model_form_blend |
| predicted_H | 0.7600 | 2.2070 | 1.3885 | model_form_blend |
| predicted_HBP | - | 0.0930 | 0.0930 | form_only |
| predicted_HR | 0.1200 | 0.2630 | 0.1821 | model_form_blend |
| predicted_OBP | 0.3200 | 0.3196 | 0.3198 | model_form_blend |
| predicted_R | 0.3510 | 0.8730 | 0.5777 | model_form_blend |
| predicted_RBI | 0.5800 | 1.6340 | 1.0378 | model_form_blend |
| predicted_SLG | 0.4500 | 0.4555 | 0.4524 | model_form_blend |
| predicted_SO | 1.4370 | 3.3410 | 2.2640 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260531_MIA@NYM |
| game_type | full |
| mlbID | 683357 |
| playerID | 683357 |
| playerName | Owen Caissie |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | MIA |
| teamID | 15 |
| game_date | 2026-05-31 |
| sl_k_percent | 41.8 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.292 |
| sl_xwoba | 0.278 |
| sl_xba | 0.201 |
| sl_xslg | 0.366 |
| sl_sweet_spot_percent | 47.5 |
| sl_barrel_batted_rate | 12.5 |
| sl_hard_hit_percent | 46.3 |
| sl_exit_velocity_avg | 91.5 |
| sl_launch_angle_avg | 15.0 |
| sl_whiff_percent | 35.5 |
| sl_swing_percent | 45.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.104 | 0.000 | 0.000 | Hitting_2B | 0.104 | 0.000 | -0.104 | 0.000 |
| predicted_3B | 0.058 | 0.000 | 0.000 | Hitting_3B | 0.058 | 0.000 | -0.058 | 0.000 |
| predicted_AB | 3.700 | 4.000 | 8.000 | Hitting_AB | 3.700 | 3.000 | 0.300 | 1.000 |
| predicted_AVG | 0.219 | 0.000 | 0.250 | Hitting_AVG | 0.194 | 0.000 | -0.194 | 0.000 |
| predicted_BB | 0.621 | 0.000 | 1.000 | Hitting_BB | 0.621 | 1.000 | -0.621 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_H | 0.770 | 0.000 | 2.000 | Hitting_H | 0.717 | 0.000 | -0.717 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_OBP | 0.309 | 0.000 | 0.333 | Hitting_OBP | 0.326 | 0.250 | -0.326 | -0.250 |
| predicted_R | 0.621 | 0.000 | 1.000 | Hitting_R | 0.621 | 0.000 | -0.621 | 0.000 |
| predicted_RBI | 0.320 | 0.000 | 1.000 | Hitting_RBI | 0.267 | 0.000 | -0.267 | 0.000 |
| predicted_SLG | 0.325 | 0.000 | 0.250 | Hitting_SLG | 0.297 | 0.000 | -0.297 | 0.000 |
| predicted_SO | 1.017 | 1.000 | 2.000 | Hitting_SO | 1.017 | 1.000 | -0.017 | 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 | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_AB: 3.7000 -> 4.0000 (boost 0.3000, better) |
| Biggest Deboost | predicted_H: 0.7700 -> 0.0000 (deboost -0.7700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 7 | 2 | 6 | 3 | predicted_AB: 3.7000 -> 7.5769 (boost 3.8769, better) | predicted_SLG: 0.3250 -> 0.3113 (deboost -0.0137, 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.3132 -> 0.2968 (deboost -0.0164, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 3 | 6 | 4 | 5 | predicted_H: 1.4635 -> 2.0000 (boost 0.5365, better) | predicted_HBP: 0.6230 -> 0.0000 (deboost -0.6230, worse) | AB rounded to 8 (raw=7.58), rates preserved: AVG=0.193 HR/AB=0.013 |
| 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 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1156 -> 1.0000 (deboost -0.1156, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1932 -> 0.2500 (boost 0.0568, better) | predicted_SLG: 0.2987 -> 0.2500 (deboost -0.0487, 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.2987 (boost 0.0487, better) | predicted_AVG: 0.2500 -> 0.1932 (deboost -0.0568, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805300",
"player_name": "Jakob Marsee",
"position": "CF",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.104,
"predicted_3B": 0.058,
"predicted_AB": 3.7,
"predicted_AVG": 0.219,
"predicted_BB": 0.621,
"predicted_H": 0.77,
"predicted_HR": 0.06,
"predicted_OBP": 0.309,
"predicted_R": 0.621,
"predicted_RBI": 0.32,
"predicted_SLG": 0.325,
"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.314,
"predicted_3B": 0.0965,
"predicted_AB": 7.5769,
"predicted_AVG": 0.2059,
"predicted_BB": 1.1249,
"predicted_H": 1.4737,
"predicted_HBP": 0.623,
"predicted_HR": 0.0976,
"predicted_OBP": 0.3132,
"predicted_R": 1.1324,
"predicted_RBI": 0.556,
"predicted_SLG": 0.3113,
"predicted_SO": 2.1282
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.104,
"after": 0.314,
"delta": 0.21,
"percent_delta": 2.0192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.058,
"after": 0.0965,
"delta": 0.0385,
"percent_delta": 0.6638,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7,
"after": 7.5769,
"delta": 3.8769,
"percent_delta": 1.0478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2059,
"delta": -0.0131,
"percent_delta": -0.0598,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.621,
"after": 1.1249,
"delta": 0.5039,
"percent_delta": 0.8114,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 1.4737,
"delta": 0.7037,
"percent_delta": 0.9139,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0976,
"delta": 0.0376,
"percent_delta": 0.6267,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.3132,
"delta": 0.0042,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.621,
"after": 1.1324,
"delta": 0.5114,
"percent_delta": 0.8235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.556,
"delta": 0.236,
"percent_delta": 0.7375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.325,
"after": 0.3113,
"delta": -0.0137,
"percent_delta": -0.0422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.017,
"after": 2.1282,
"delta": 1.1112,
"percent_delta": 1.0926,
"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.7,
"after": 7.5769,
"delta": 3.8769,
"percent_delta": 1.0478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.325,
"after": 0.3113,
"delta": -0.0137,
"percent_delta": -0.0422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 58
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.314,
"predicted_3B": 0.0965,
"predicted_AB": 7.5769,
"predicted_AVG": 0.1932,
"predicted_BB": 1.1173,
"predicted_H": 1.4635,
"predicted_HBP": 0.623,
"predicted_HR": 0.0975,
"predicted_OBP": 0.2968,
"predicted_R": 1.1156,
"predicted_RBI": 0.5478,
"predicted_SLG": 0.2987,
"predicted_SO": 2.1427
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.314,
"after": 0.314,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0965,
"after": 0.0965,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.5769,
"after": 7.5769,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2059,
"after": 0.1932,
"delta": -0.0127,
"percent_delta": -0.0617,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1249,
"after": 1.1173,
"delta": -0.0076,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4737,
"after": 1.4635,
"delta": -0.0102,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.623,
"after": 0.623,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0976,
"after": 0.0975,
"delta": -0.0001,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3132,
"after": 0.2968,
"delta": -0.0164,
"percent_delta": -0.0524,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1324,
"after": 1.1156,
"delta": -0.0168,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.556,
"after": 0.5478,
"delta": -0.0082,
"percent_delta": -0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3113,
"after": 0.2987,
"delta": -0.0126,
"percent_delta": -0.0405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1282,
"after": 2.1427,
"delta": 0.0145,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3132,
"after": 0.2968,
"delta": -0.0164,
"percent_delta": -0.0524,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.58), rates preserved: AVG=0.193 HR/AB=0.013",
"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.314,
"after": 0.0,
"delta": -0.314,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0965,
"after": 0.0,
"delta": -0.0965,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.5769,
"after": 8.0,
"delta": 0.4231,
"percent_delta": 0.0558,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1173,
"after": 1.0,
"delta": -0.1173,
"percent_delta": -0.105,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4635,
"after": 2.0,
"delta": 0.5365,
"percent_delta": 0.3666,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.623,
"after": 0.0,
"delta": -0.623,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0975,
"after": 0.0,
"delta": -0.0975,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5478,
"after": 1.0,
"delta": 0.4522,
"percent_delta": 0.8255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1427,
"after": 2.0,
"delta": -0.1427,
"percent_delta": -0.0666,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.4635,
"after": 2.0,
"delta": 0.5365,
"percent_delta": 0.3666,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.623,
"after": 0.0,
"delta": -0.623,
"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": 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.1156,
"after": 1.0,
"delta": -0.1156,
"percent_delta": -0.1036,
"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.1156,
"after": 1.0,
"delta": -0.1156,
"percent_delta": -0.1036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1932,
"after": 0.25,
"delta": 0.0568,
"percent_delta": 0.294,
"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.2968,
"after": 0.333,
"delta": 0.0362,
"percent_delta": 0.122,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.25,
"delta": -0.0487,
"percent_delta": -0.163,
"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.1932,
"after": 0.25,
"delta": 0.0568,
"percent_delta": 0.294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2987,
"after": 0.25,
"delta": -0.0487,
"percent_delta": -0.163,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1932,
"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.2968,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2987,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.1932,
"delta": -0.0568,
"percent_delta": -0.2274,
"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.2968,
"delta": -0.0362,
"percent_delta": -0.1086,
"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.2987,
"delta": 0.0487,
"percent_delta": 0.1947,
"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.2987,
"delta": 0.0487,
"percent_delta": 0.1947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1932,
"delta": -0.0568,
"percent_delta": -0.2274,
"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.104,
"after": 0.0,
"delta": -0.104,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.058,
"after": 0.0,
"delta": -0.058,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.7,
"after": 4.0,
"delta": 0.3,
"percent_delta": 0.0811,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.1932,
"delta": -0.0258,
"percent_delta": -0.1178,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.621,
"after": 0.0,
"delta": -0.621,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.2968,
"delta": -0.0122,
"percent_delta": -0.0395,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.621,
"after": 0.0,
"delta": -0.621,
"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.325,
"after": 0.2987,
"delta": -0.0263,
"percent_delta": -0.0809,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.017,
"after": 1.0,
"delta": -0.017,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.7,
"after": 4.0,
"delta": 0.3,
"percent_delta": 0.0811,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"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.104 | - |
| predicted_3B | 0.058 | - |
| predicted_AB | 3.700 | - |
| predicted_AVG | 0.219 | - |
| predicted_BB | 0.621 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.309 | - |
| predicted_R | 0.621 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.325 | - |
| 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.314 | 0.210 |
| predicted_3B | 0.097 | 0.038 |
| predicted_AB | 7.577 | 3.877 |
| predicted_AVG | 0.206 | -0.013 |
| predicted_BB | 1.125 | 0.504 |
| predicted_H | 1.474 | 0.704 |
| predicted_HBP | 0.623 | - |
| predicted_HR | 0.098 | 0.038 |
| predicted_OBP | 0.313 | 0.004 |
| predicted_R | 1.132 | 0.511 |
| predicted_RBI | 0.556 | 0.236 |
| predicted_SLG | 0.311 | -0.014 |
| predicted_SO | 2.128 | 1.111 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.314 | 0.000 |
| predicted_3B | 0.097 | 0.000 |
| predicted_AB | 7.577 | 0.000 |
| predicted_AVG | 0.193 | -0.013 |
| predicted_BB | 1.117 | -0.008 |
| predicted_H | 1.464 | -0.010 |
| predicted_HBP | 0.623 | 0.000 |
| predicted_HR | 0.098 | -0.000 |
| predicted_OBP | 0.297 | -0.016 |
| predicted_R | 1.116 | -0.017 |
| predicted_RBI | 0.548 | -0.008 |
| predicted_SLG | 0.299 | -0.013 |
| predicted_SO | 2.143 | 0.014 |
AB rounded to 8 (raw=7.58), rates preserved: AVG=0.193 HR/AB=0.013
| 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 | 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.314 |
| predicted_3B | 0.000 | -0.097 |
| predicted_AB | 8.000 | 0.423 |
| predicted_AVG | 0.250 | 0.057 |
| predicted_BB | 1.000 | -0.117 |
| predicted_H | 2.000 | 0.536 |
| predicted_HR | 0.000 | -0.098 |
| predicted_OBP | 0.333 | 0.036 |
| predicted_R | 1.000 | -0.116 |
| predicted_RBI | 1.000 | 0.452 |
| predicted_SLG | 0.250 | -0.049 |
| predicted_SO | 2.000 | -0.143 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 18.000 | 3.000 | 2.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 6.000 | 0.1667 | 0.2857 | 0.2778 | 0.1667 | 0.0000 | 0.0556 | 0.0556 | 0.3333 |
| last_10 | 0.20 | 5 | - | 33.000 | 6.000 | 2.000 | 0.000 | 0.000 | 1.000 | 4.000 | 4.000 | 8.000 | 0.1818 | 0.3415 | 0.2424 | 0.1818 | 0.0000 | 0.0303 | 0.1212 | 0.2424 |
| season | 0.60 | 58 | - | 888.000 | 172.000 | 25.000 | 14.000 | 13.000 | 64.000 | 149.000 | 149.000 | 244.000 | 0.1937 | 0.3258 | 0.2973 | 0.1937 | 0.0146 | 0.0721 | 0.1678 | 0.2748 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5790 |
| predicted_3B | 0.1450 |
| predicted_AB | 12.4710 |
| predicted_AVG | 0.1894 |
| predicted_BB | 1.7610 |
| predicted_H | 2.3620 |
| predicted_HBP | 0.6230 |
| predicted_HR | 0.1450 |
| predicted_OBP | 0.3184 |
| predicted_R | 1.7780 |
| predicted_RBI | 0.8540 |
| predicted_SLG | 0.2939 |
| predicted_SO | 3.5310 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1040 | 0.5790 | 0.3140 | model_form_blend |
| predicted_3B | 0.0580 | 0.1450 | 0.0965 | model_form_blend |
| predicted_AB | 3.7000 | 12.4710 | 7.5769 | model_form_blend |
| predicted_AVG | 0.2190 | 0.1894 | 0.2059 | model_form_blend |
| predicted_BB | 0.6210 | 1.7610 | 1.1249 | model_form_blend |
| predicted_H | 0.7700 | 2.3620 | 1.4737 | model_form_blend |
| predicted_HBP | - | 0.6230 | 0.6230 | form_only |
| predicted_HR | 0.0600 | 0.1450 | 0.0976 | model_form_blend |
| predicted_OBP | 0.3090 | 0.3184 | 0.3132 | model_form_blend |
| predicted_R | 0.6210 | 1.7780 | 1.1324 | model_form_blend |
| predicted_RBI | 0.3200 | 0.8540 | 0.5560 | model_form_blend |
| predicted_SLG | 0.3250 | 0.2939 | 0.3113 | model_form_blend |
| predicted_SO | 1.0170 | 3.5310 | 2.1282 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.194 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260531_MIA@NYM |
| game_type | full |
| mlbID | 805300 |
| playerID | 805300 |
| playerName | Jakob Marsee |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | MIA |
| teamID | 15 |
| game_date | 2026-05-31 |
| sl_k_percent | 23.4 |
| sl_bb_percent | 12.7 |
| sl_woba | 0.293 |
| sl_xwoba | 0.297 |
| sl_xba | 0.212 |
| sl_xslg | 0.308 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 4.0 |
| sl_hard_hit_percent | 37.3 |
| sl_exit_velocity_avg | 87.3 |
| sl_launch_angle_avg | 19.4 |
| sl_whiff_percent | 19.5 |
| sl_swing_percent | 39.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.143 | 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.286 | 4.000 | 5.000 | Hitting_AB | 3.286 | 3.000 | 0.714 | 1.000 |
| predicted_AVG | 0.235 | 0.250 | 0.200 | Hitting_AVG | 0.208 | 0.000 | 0.042 | 0.250 |
| predicted_BB | 0.206 | 0.000 | 0.000 | Hitting_BB | 0.206 | 0.000 | -0.206 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.660 | 1.000 | 1.000 | Hitting_H | 0.683 | 0.000 | 0.317 | 1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.282 | 0.250 | 0.200 | Hitting_OBP | 0.255 | 0.000 | -0.005 | 0.250 |
| predicted_R | 0.365 | 0.000 | 1.000 | Hitting_R | 0.365 | 0.000 | -0.365 | 0.000 |
| predicted_RBI | 0.320 | 0.000 | 0.000 | Hitting_RBI | 0.381 | 0.000 | -0.381 | 0.000 |
| predicted_SLG | 0.311 | 0.250 | 0.200 | Hitting_SLG | 0.251 | 0.000 | -0.001 | 0.250 |
| predicted_SO | 1.206 | 0.000 | 2.000 | Hitting_SO | 1.206 | 2.000 | -1.206 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.2860 -> 4.0000 (boost 0.7140, better) |
| Biggest Deboost | predicted_SO: 1.2060 -> 0.0000 (deboost -1.2060, 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.2860 -> 5.3547 (boost 2.0687, better) | predicted_SLG: 0.3110 -> 0.2809 (deboost -0.0301, 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.2610 -> 0.2361 (deboost -0.0249, 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.7873 -> 2.0000 (boost 0.2127, worse) | predicted_RBI: 0.4963 -> 0.0000 (deboost -0.4963, worse) | AB rounded to 5 (raw=5.35), rates preserved: AVG=0.193 HR/AB=0.009 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5468 -> 1.0000 (boost 0.4532, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.1931 -> 0.2000 (boost 0.0069, better) | predicted_SLG: 0.2589 -> 0.2000 (deboost -0.0589, 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_SO: 2.0000 -> 0.0000 (deboost -2.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2000 -> 0.2589 (boost 0.0589, better) | predicted_AVG: 0.2000 -> 0.1931 (deboost -0.0069, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691788",
"player_name": "Joe Mack",
"position": "C",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.143,
"predicted_3B": 0.0,
"predicted_AB": 3.286,
"predicted_AVG": 0.235,
"predicted_BB": 0.206,
"predicted_H": 0.66,
"predicted_HR": 0.06,
"predicted_OBP": 0.282,
"predicted_R": 0.365,
"predicted_RBI": 0.32,
"predicted_SLG": 0.311,
"predicted_SO": 1.206
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2023,
"predicted_3B": 0.0017,
"predicted_AB": 5.3547,
"predicted_AVG": 0.2167,
"predicted_BB": 0.3035,
"predicted_H": 1.0413,
"predicted_HBP": 0.009,
"predicted_HR": 0.0488,
"predicted_OBP": 0.261,
"predicted_R": 0.555,
"predicted_RBI": 0.5038,
"predicted_SLG": 0.2809,
"predicted_SO": 1.7752
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.2023,
"delta": 0.0593,
"percent_delta": 0.4147,
"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.286,
"after": 5.3547,
"delta": 2.0687,
"percent_delta": 0.6295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2167,
"delta": -0.0183,
"percent_delta": -0.0779,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.206,
"after": 0.3035,
"delta": 0.0975,
"percent_delta": 0.4733,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 1.0413,
"delta": 0.3813,
"percent_delta": 0.5777,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0488,
"delta": -0.0112,
"percent_delta": -0.1867,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.261,
"delta": -0.021,
"percent_delta": -0.0745,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.365,
"after": 0.555,
"delta": 0.19,
"percent_delta": 0.5205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.5038,
"delta": 0.1838,
"percent_delta": 0.5744,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.311,
"after": 0.2809,
"delta": -0.0301,
"percent_delta": -0.0968,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.206,
"after": 1.7752,
"delta": 0.5692,
"percent_delta": 0.472,
"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.286,
"after": 5.3547,
"delta": 2.0687,
"percent_delta": 0.6295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.311,
"after": 0.2809,
"delta": -0.0301,
"percent_delta": -0.0968,
"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": 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.2023,
"predicted_3B": 0.0017,
"predicted_AB": 5.3547,
"predicted_AVG": 0.1931,
"predicted_BB": 0.3014,
"predicted_H": 1.0341,
"predicted_HBP": 0.009,
"predicted_HR": 0.0488,
"predicted_OBP": 0.2361,
"predicted_R": 0.5468,
"predicted_RBI": 0.4963,
"predicted_SLG": 0.2589,
"predicted_SO": 1.7873
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2023,
"after": 0.2023,
"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.3547,
"after": 5.3547,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2167,
"after": 0.1931,
"delta": -0.0236,
"percent_delta": -0.1089,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3035,
"after": 0.3014,
"delta": -0.0021,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0413,
"after": 1.0341,
"delta": -0.0072,
"percent_delta": -0.0069,
"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.0488,
"after": 0.0488,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2361,
"delta": -0.0249,
"percent_delta": -0.0954,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.555,
"after": 0.5468,
"delta": -0.0082,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5038,
"after": 0.4963,
"delta": -0.0075,
"percent_delta": -0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2809,
"after": 0.2589,
"delta": -0.022,
"percent_delta": -0.0783,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7752,
"after": 1.7873,
"delta": 0.0121,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.261,
"after": 0.2361,
"delta": -0.0249,
"percent_delta": -0.0954,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.35), rates preserved: AVG=0.193 HR/AB=0.009",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2023,
"after": 0.0,
"delta": -0.2023,
"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.3547,
"after": 5.0,
"delta": -0.3547,
"percent_delta": -0.0662,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3014,
"after": 0.0,
"delta": -0.3014,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0341,
"after": 1.0,
"delta": -0.0341,
"percent_delta": -0.033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0488,
"after": 0.0,
"delta": -0.0488,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4963,
"after": 0.0,
"delta": -0.4963,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7873,
"after": 2.0,
"delta": 0.2127,
"percent_delta": 0.119,
"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.7873,
"after": 2.0,
"delta": 0.2127,
"percent_delta": 0.119,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4963,
"after": 0.0,
"delta": -0.4963,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5468,
"after": 1.0,
"delta": 0.4532,
"percent_delta": 0.8288,
"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.5468,
"after": 1.0,
"delta": 0.4532,
"percent_delta": 0.8288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.2,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1931,
"after": 0.2,
"delta": 0.0069,
"percent_delta": 0.0357,
"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.2361,
"after": 0.2,
"delta": -0.0361,
"percent_delta": -0.1529,
"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.2589,
"after": 0.2,
"delta": -0.0589,
"percent_delta": -0.2275,
"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.1931,
"after": 0.2,
"delta": 0.0069,
"percent_delta": 0.0357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2589,
"after": 0.2,
"delta": -0.0589,
"percent_delta": -0.2275,
"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": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.1931,
"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.2361,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2589,
"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.1931,
"delta": -0.0069,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2,
"after": 0.2361,
"delta": 0.0361,
"percent_delta": 0.1806,
"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.2589,
"delta": 0.0589,
"percent_delta": 0.2943,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.2589,
"delta": 0.0589,
"percent_delta": 0.2943,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.1931,
"delta": -0.0069,
"percent_delta": -0.0344,
"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.143,
"after": 0.0,
"delta": -0.143,
"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.286,
"after": 4.0,
"delta": 0.714,
"percent_delta": 0.2173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.1931,
"delta": -0.0419,
"percent_delta": -0.1783,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.206,
"after": 0.0,
"delta": -0.206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.2361,
"delta": -0.0459,
"percent_delta": -0.1628,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.365,
"after": 0.0,
"delta": -0.365,
"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.311,
"after": 0.2589,
"delta": -0.0521,
"percent_delta": -0.1675,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.206,
"after": 0.0,
"delta": -1.206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.286,
"after": 4.0,
"delta": 0.714,
"percent_delta": 0.2173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.206,
"after": 0.0,
"delta": -1.206,
"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.143 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.286 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.206 | - |
| predicted_H | 0.660 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.282 | - |
| predicted_R | 0.365 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.311 | - |
| predicted_SO | 1.206 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.202 | 0.059 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 5.355 | 2.069 |
| predicted_AVG | 0.217 | -0.018 |
| predicted_BB | 0.303 | 0.098 |
| predicted_H | 1.041 | 0.381 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.049 | -0.011 |
| predicted_OBP | 0.261 | -0.021 |
| predicted_R | 0.555 | 0.190 |
| predicted_RBI | 0.504 | 0.184 |
| predicted_SLG | 0.281 | -0.030 |
| predicted_SO | 1.775 | 0.569 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.202 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 5.355 | 0.000 |
| predicted_AVG | 0.193 | -0.024 |
| predicted_BB | 0.301 | -0.002 |
| predicted_H | 1.034 | -0.007 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.049 | 0.000 |
| predicted_OBP | 0.236 | -0.025 |
| predicted_R | 0.547 | -0.008 |
| predicted_RBI | 0.496 | -0.008 |
| predicted_SLG | 0.259 | -0.022 |
| predicted_SO | 1.787 | 0.012 |
AB rounded to 5 (raw=5.35), rates preserved: AVG=0.193 HR/AB=0.009
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.202 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 5.000 | -0.355 |
| predicted_AVG | 0.200 | 0.007 |
| predicted_BB | 0.000 | -0.301 |
| predicted_H | 1.000 | -0.034 |
| predicted_HR | 0.000 | -0.049 |
| predicted_OBP | 0.200 | -0.036 |
| predicted_R | 1.000 | 0.453 |
| predicted_RBI | 0.000 | -0.496 |
| predicted_SLG | 0.200 | -0.059 |
| predicted_SO | 2.000 | 0.213 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 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 | 3 | - | 16.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 3.000 | 0.0625 | 0.0625 | 0.0625 | 0.0625 | 0.0000 | 0.0000 | 0.0000 | 0.1875 |
| last_10 | 0.20 | 5 | - | 34.000 | 6.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 7.000 | 0.1765 | 0.2000 | 0.1765 | 0.1765 | 0.0000 | 0.0000 | 0.0294 | 0.2059 |
| season | 0.60 | 21 | - | 207.000 | 43.000 | 9.000 | 0.000 | 0.000 | 24.000 | 23.000 | 13.000 | 76.000 | 0.2077 | 0.2545 | 0.2512 | 0.2077 | 0.0000 | 0.1159 | 0.0628 | 0.3671 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2860 |
| predicted_3B | 0.0040 |
| predicted_AB | 8.2720 |
| predicted_AVG | 0.1909 |
| predicted_BB | 0.4410 |
| predicted_H | 1.5790 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.0330 |
| predicted_OBP | 0.2314 |
| predicted_R | 0.8230 |
| predicted_RBI | 0.7630 |
| predicted_SLG | 0.2385 |
| predicted_SO | 2.5780 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.2860 | 0.2023 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0017 | model_form_blend |
| predicted_AB | 3.2860 | 8.2720 | 5.3547 | model_form_blend |
| predicted_AVG | 0.2350 | 0.1909 | 0.2167 | model_form_blend |
| predicted_BB | 0.2060 | 0.4410 | 0.3035 | model_form_blend |
| predicted_H | 0.6600 | 1.5790 | 1.0413 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.0600 | 0.0330 | 0.0488 | model_form_blend |
| predicted_OBP | 0.2820 | 0.2314 | 0.2610 | model_form_blend |
| predicted_R | 0.3650 | 0.8230 | 0.5550 | model_form_blend |
| predicted_RBI | 0.3200 | 0.7630 | 0.5038 | model_form_blend |
| predicted_SLG | 0.3110 | 0.2385 | 0.2809 | model_form_blend |
| predicted_SO | 1.2060 | 2.5780 | 1.7752 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 63 |
| Season rows before report date | 63 |
| 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.208 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260530_MIA@NYM |
| game_type | full |
| mlbID | 691788 |
| playerID | 691788 |
| playerName | Joe Mack |
| pos | C |
| started | True |
| startingPosition | C |
| team | MIA |
| teamID | 15 |
| game_date | 2026-05-30 |
| sl_k_percent | 32.4 |
| sl_bb_percent | 5.9 |
| sl_woba | 0.229 |
| sl_xwoba | 0.222 |
| sl_xba | 0.183 |
| sl_xslg | 0.265 |
| sl_sweet_spot_percent | 28.6 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 35.7 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 10.3 |
| sl_whiff_percent | 27.2 |
| sl_swing_percent | 47.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.176 | 0.000 | 0.000 | Hitting_2B | 0.176 | 0.000 | -0.176 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.385 | 3.000 | 7.000 | Hitting_AB | 3.385 | 4.000 | -0.385 | -1.000 |
| predicted_AVG | 0.213 | 0.667 | 0.143 | Hitting_AVG | 0.221 | 0.000 | 0.445 | 0.667 |
| predicted_BB | 0.417 | 1.000 | 1.000 | Hitting_BB | 0.417 | 0.000 | 0.583 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.048 | 0.000 | -0.048 | 0.000 |
| predicted_H | 0.620 | 2.000 | 1.000 | Hitting_H | 0.749 | 0.000 | 1.251 | 2.000 |
| predicted_HR | 0.070 | 1.000 | 0.000 | Hitting_HR | 0.096 | 0.000 | 0.904 | 1.000 |
| predicted_OBP | 0.291 | 0.750 | 0.250 | Hitting_OBP | 0.329 | 0.000 | 0.421 | 0.750 |
| predicted_R | 0.364 | 1.000 | 1.000 | Hitting_R | 0.364 | 0.000 | 0.636 | 1.000 |
| predicted_RBI | 0.250 | 1.000 | 1.000 | Hitting_RBI | 0.332 | 0.000 | 0.668 | 1.000 |
| predicted_SLG | 0.299 | 1.667 | 0.143 | Hitting_SLG | 0.359 | 0.000 | 1.308 | 1.667 |
| predicted_SO | 1.118 | 0.000 | 2.000 | Hitting_SO | 1.118 | 0.000 | -1.118 | 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.6200 -> 2.0000 (boost 1.3800, better) |
| Biggest Deboost | predicted_SO: 1.1180 -> 0.0000 (deboost -1.1180, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 8 | 1 | 7 | 2 | predicted_AB: 3.3850 -> 6.6001 (boost 3.2151, better) | predicted_AVG: 0.2130 -> 0.2018 (deboost -0.0112, 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.2959 -> 0.2643 (deboost -0.0316, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 4 | 4 | predicted_RBI: 0.5060 -> 1.0000 (boost 0.4940, better) | predicted_HBP: 0.6740 -> 0.0000 (deboost -0.6740, worse) | AB rounded to 7 (raw=6.60), rates preserved: AVG=0.185 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6015 -> 1.0000 (boost 0.3985, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2964 -> 0.1430 (deboost -0.1534, 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_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 |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1430 -> 0.2964 (boost 0.1534, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681393",
"player_name": "Connor Norby",
"position": "1B",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is 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.385,
"predicted_AVG": 0.213,
"predicted_BB": 0.417,
"predicted_H": 0.62,
"predicted_HR": 0.07,
"predicted_OBP": 0.291,
"predicted_R": 0.364,
"predicted_RBI": 0.25,
"predicted_SLG": 0.299,
"predicted_SO": 1.118
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2936,
"predicted_3B": 0.0009,
"predicted_AB": 6.6001,
"predicted_AVG": 0.2018,
"predicted_BB": 0.7166,
"predicted_H": 1.2292,
"predicted_HBP": 0.674,
"predicted_HR": 0.1468,
"predicted_OBP": 0.2959,
"predicted_R": 0.6105,
"predicted_RBI": 0.5136,
"predicted_SLG": 0.2985,
"predicted_SO": 2.1624
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.2936,
"delta": 0.1176,
"percent_delta": 0.6682,
"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.385,
"after": 6.6001,
"delta": 3.2151,
"percent_delta": 0.9498,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.213,
"after": 0.2018,
"delta": -0.0112,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.417,
"after": 0.7166,
"delta": 0.2996,
"percent_delta": 0.7185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 1.2292,
"delta": 0.6092,
"percent_delta": 0.9826,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.1468,
"delta": 0.0768,
"percent_delta": 1.0971,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.291,
"after": 0.2959,
"delta": 0.0049,
"percent_delta": 0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.364,
"after": 0.6105,
"delta": 0.2465,
"percent_delta": 0.6772,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.5136,
"delta": 0.2636,
"percent_delta": 1.0544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.299,
"after": 0.2985,
"delta": -0.0005,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.118,
"after": 2.1624,
"delta": 1.0444,
"percent_delta": 0.9342,
"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.385,
"after": 6.6001,
"delta": 3.2151,
"percent_delta": 0.9498,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.213,
"after": 0.2018,
"delta": -0.0112,
"percent_delta": -0.0526,
"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": 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.2936,
"predicted_3B": 0.0009,
"predicted_AB": 6.6001,
"predicted_AVG": 0.185,
"predicted_BB": 0.7117,
"predicted_H": 1.2207,
"predicted_HBP": 0.674,
"predicted_HR": 0.1467,
"predicted_OBP": 0.2643,
"predicted_R": 0.6015,
"predicted_RBI": 0.506,
"predicted_SLG": 0.2964,
"predicted_SO": 2.1771
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2936,
"after": 0.2936,
"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.6001,
"after": 6.6001,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2018,
"after": 0.185,
"delta": -0.0168,
"percent_delta": -0.0833,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7166,
"after": 0.7117,
"delta": -0.0049,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2292,
"after": 1.2207,
"delta": -0.0085,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.674,
"after": 0.674,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1468,
"after": 0.1467,
"delta": -0.0001,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2959,
"after": 0.2643,
"delta": -0.0316,
"percent_delta": -0.1068,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6105,
"after": 0.6015,
"delta": -0.009,
"percent_delta": -0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5136,
"after": 0.506,
"delta": -0.0076,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2985,
"after": 0.2964,
"delta": -0.0021,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.1624,
"after": 2.1771,
"delta": 0.0147,
"percent_delta": 0.0068,
"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.2959,
"after": 0.2643,
"delta": -0.0316,
"percent_delta": -0.1068,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.60), rates preserved: AVG=0.185 HR/AB=0.022",
"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.2936,
"after": 0.0,
"delta": -0.2936,
"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.6001,
"after": 7.0,
"delta": 0.3999,
"percent_delta": 0.0606,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7117,
"after": 1.0,
"delta": 0.2883,
"percent_delta": 0.4051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2207,
"after": 1.0,
"delta": -0.2207,
"percent_delta": -0.1808,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.674,
"after": 0.0,
"delta": -0.674,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1467,
"after": 0.0,
"delta": -0.1467,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.506,
"after": 1.0,
"delta": 0.494,
"percent_delta": 0.9763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1771,
"after": 2.0,
"delta": -0.1771,
"percent_delta": -0.0813,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.506,
"after": 1.0,
"delta": 0.494,
"percent_delta": 0.9763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.674,
"after": 0.0,
"delta": -0.674,
"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.6015,
"after": 1.0,
"delta": 0.3985,
"percent_delta": 0.6625,
"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.6015,
"after": 1.0,
"delta": 0.3985,
"percent_delta": 0.6625,
"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.185,
"after": 0.143,
"delta": -0.042,
"percent_delta": -0.227,
"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.2643,
"after": 0.25,
"delta": -0.0143,
"percent_delta": -0.0541,
"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.2964,
"after": 0.143,
"delta": -0.1534,
"percent_delta": -0.5175,
"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.2964,
"after": 0.143,
"delta": -0.1534,
"percent_delta": -0.5175,
"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": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"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_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": 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.185,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2643,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2964,
"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.185,
"delta": 0.042,
"percent_delta": 0.2934,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2643,
"delta": 0.0143,
"percent_delta": 0.0572,
"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.143,
"after": 0.2964,
"delta": 0.1534,
"percent_delta": 1.0726,
"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.2964,
"delta": 0.1534,
"percent_delta": 1.0726,
"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.385,
"after": 3.0,
"delta": -0.385,
"percent_delta": -0.1137,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.213,
"after": 0.185,
"delta": -0.028,
"percent_delta": -0.1315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.417,
"after": 1.0,
"delta": 0.583,
"percent_delta": 1.3981,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 2.0,
"delta": 1.38,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 1.0,
"delta": 0.93,
"percent_delta": 13.2857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.291,
"after": 0.2643,
"delta": -0.0267,
"percent_delta": -0.0918,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.364,
"after": 1.0,
"delta": 0.636,
"percent_delta": 1.7473,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.299,
"after": 0.2964,
"delta": -0.0026,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.118,
"after": 0.0,
"delta": -1.118,
"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.62,
"after": 2.0,
"delta": 1.38,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.118,
"after": 0.0,
"delta": -1.118,
"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.176 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.385 | - |
| predicted_AVG | 0.213 | - |
| predicted_BB | 0.417 | - |
| predicted_H | 0.620 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.291 | - |
| predicted_R | 0.364 | - |
| predicted_RBI | 0.250 | - |
| predicted_SLG | 0.299 | - |
| predicted_SO | 1.118 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.118 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.600 | 3.215 |
| predicted_AVG | 0.202 | -0.011 |
| predicted_BB | 0.717 | 0.300 |
| predicted_H | 1.229 | 0.609 |
| predicted_HBP | 0.674 | - |
| predicted_HR | 0.147 | 0.077 |
| predicted_OBP | 0.296 | 0.005 |
| predicted_R | 0.611 | 0.247 |
| predicted_RBI | 0.514 | 0.264 |
| predicted_SLG | 0.298 | -0.001 |
| predicted_SO | 2.162 | 1.044 |
Step 3: 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 | 6.600 | 0.000 |
| predicted_AVG | 0.185 | -0.017 |
| predicted_BB | 0.712 | -0.005 |
| predicted_H | 1.221 | -0.009 |
| predicted_HBP | 0.674 | 0.000 |
| predicted_HR | 0.147 | -0.000 |
| predicted_OBP | 0.264 | -0.032 |
| predicted_R | 0.602 | -0.009 |
| predicted_RBI | 0.506 | -0.008 |
| predicted_SLG | 0.296 | -0.002 |
| predicted_SO | 2.177 | 0.015 |
AB rounded to 7 (raw=6.60), rates preserved: AVG=0.185 HR/AB=0.022
| 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.294 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | 0.400 |
| predicted_AVG | 0.143 | -0.042 |
| predicted_BB | 1.000 | 0.288 |
| predicted_H | 1.000 | -0.221 |
| predicted_HR | 0.000 | -0.147 |
| predicted_OBP | 0.250 | -0.014 |
| predicted_R | 1.000 | 0.398 |
| predicted_RBI | 1.000 | 0.494 |
| predicted_SLG | 0.143 | -0.153 |
| predicted_SO | 2.000 | -0.177 |
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 | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -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 | 3 | - | 18.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 6.000 | 0.0556 | 0.1905 | 0.0556 | 0.0556 | 0.0000 | 0.0000 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 4 | - | 33.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 11.000 | 0.0303 | 0.2195 | 0.0303 | 0.0303 | 0.0000 | 0.0000 | 0.1212 | 0.3333 |
| season | 0.60 | 52 | - | 633.000 | 140.000 | 33.000 | 0.000 | 18.000 | 62.000 | 68.000 | 78.000 | 209.000 | 0.2212 | 0.3293 | 0.3586 | 0.2212 | 0.0284 | 0.0979 | 0.1232 | 0.3302 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4440 |
| predicted_3B | 0.0020 |
| predicted_AB | 10.7150 |
| predicted_AVG | 0.1875 |
| predicted_BB | 1.1000 |
| predicted_H | 2.0090 |
| predicted_HBP | 0.6740 |
| predicted_HR | 0.2450 |
| predicted_OBP | 0.3021 |
| predicted_R | 0.9260 |
| predicted_RBI | 0.8510 |
| predicted_SLG | 0.2979 |
| predicted_SO | 3.4990 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.4440 | 0.2936 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.3850 | 10.7150 | 6.6001 | model_form_blend |
| predicted_AVG | 0.2130 | 0.1875 | 0.2018 | model_form_blend |
| predicted_BB | 0.4170 | 1.1000 | 0.7166 | model_form_blend |
| predicted_H | 0.6200 | 2.0090 | 1.2292 | model_form_blend |
| predicted_HBP | - | 0.6740 | 0.6740 | form_only |
| predicted_HR | 0.0700 | 0.2450 | 0.1468 | model_form_blend |
| predicted_OBP | 0.2910 | 0.3021 | 0.2959 | model_form_blend |
| predicted_R | 0.3640 | 0.9260 | 0.6105 | model_form_blend |
| predicted_RBI | 0.2500 | 0.8510 | 0.5136 | model_form_blend |
| predicted_SLG | 0.2990 | 0.2979 | 0.2985 | model_form_blend |
| predicted_SO | 1.1180 | 3.4990 | 2.1624 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 187 |
| Season rows before report date | 187 |
| Report year | 2026 |
| Profile rows used | 187 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.221 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 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 | 1B |
| gameID | 20260531_MIA@NYM |
| game_type | full |
| mlbID | 681393 |
| playerID | 681393 |
| playerName | Connor Norby |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | MIA |
| teamID | 15 |
| game_date | 2026-05-31 |
| sl_k_percent | 29.0 |
| sl_bb_percent | 10.4 |
| sl_woba | 0.304 |
| sl_xwoba | 0.285 |
| sl_xba | 0.188 |
| sl_xslg | 0.322 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 34.5 |
| sl_exit_velocity_avg | 86.8 |
| sl_launch_angle_avg | 18.4 |
| sl_whiff_percent | 30.7 |
| sl_swing_percent | 48.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.750 | 1.000 | -0.750 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 3.250 | 8.000 | -2.250 | -7.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 6.583 | 10.000 | -0.583 | -4.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 6.200 | 5.200 | -0.200 | 0.800 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 4.333 | 4.000 | 0.667 | 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": "645261",
"player_name": "Sandy Alcantara",
"position": "Starter",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement 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": 6.0,
"predicted_HR": 0.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": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_R": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 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,
"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 | 1.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.000 | - |
| 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 | 28.000 | 23.000 | 39.000 | 6.000 | 21.000 | 5.000 | 7.3929 | 1.6071 | 0.8214 | 1.3929 | 0.2143 | 0.7500 | 0.1786 |
| last_10 | 0.35 | 10 | 59.100 | 39.000 | 72.000 | 19.000 | 40.000 | 9.000 | 5.9157 | 1.5337 | 0.6573 | 1.2135 | 0.3202 | 0.6742 | 0.1517 |
| season | 0.20 | 12 | 75.100 | 39.000 | 79.000 | 21.000 | 52.000 | 9.000 | 4.6593 | 1.3274 | 0.5177 | 1.0487 | 0.2788 | 0.6903 | 0.1195 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7520 |
| predicted_ER | 3.7820 |
| predicted_ERA | 5.7288 |
| predicted_H | 6.9500 |
| predicted_HR | 0.8940 |
| predicted_IP | 6.0000 |
| predicted_SO | 4.6280 |
| predicted_WHIP | 1.4646 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.7520 | 1.3954 | model_form_blend |
| predicted_ER | 1.0000 | 3.7820 | 2.4626 | model_form_blend |
| predicted_ERA | - | 5.7288 | 5.7288 | form_only |
| predicted_H | 6.0000 | 6.9500 | 6.4995 | model_form_blend |
| predicted_HR | 0.0000 | 0.8940 | 0.4700 | model_form_blend |
| predicted_IP | 6.0000 | 6.0000 | 6.0000 | model_form_blend |
| predicted_SO | 5.0000 | 4.6280 | 4.8044 | model_form_blend |
| predicted_WHIP | - | 1.4646 | 1.4646 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 12 |
| Season rows before report date | 12 |
| Report year | 2026 |
| Profile rows used | 12 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.0 |
| H | 6 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 5 |
| HR | 0 |
| BF | 25 |
| Pitches | 111 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 31 |
| Pitching_ER | 8 |
| Pitching_ERA | 4.66 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 4 |
| Pitching_H | 10 |
| Pitching_HBP | 4 |
| Pitching_HR | 3 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.2 |
| Pitching_Pitches | 95 |
| Pitching_R | 8 |
| Pitching_SO | 4 |
| Pitching_Strikes | 67 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260526_MIA@TOR |
| game_type | full |
| mlbID | 645261 |
| playerID | 645261 |
| playerName | Sandy Alcantara |
| pos | P |
| started | True |
| startingPosition | P |
| team | MIA |
| teamID | 15 |
| game_date | 2026-05-26 |
| game_pk | 822811.0 |
| sl_k_percent | 16.1 |
| sl_bb_percent | 6.5 |
| sl_woba | 0.331 |
| sl_xwoba | 0.309 |
| sl_sweet_spot_percent | 29.4 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 37.1 |
| sl_whiff_percent | 21.8 |
| sl_swing_percent | 50.9 |
| sv_pitch_count | 95.0 |
| sv_outs_recorded_est | 17.0 |
| sv_release_speed | 91.89368421052632 |
| sv_release_spin_rate | 2302.5894736842106 |
| sv_effective_speed | 91.14526315789472 |
| sv_launch_speed | 87.40285714285714 |
| sv_launch_angle | 15.771428571428572 |
| sv_woba_value | 16.15 |
| sv_woba_denom | 31.0 |
| sv_delta_run_exp | 4.148 |
| sv_delta_home_win_exp | 0.242 |
| sl_avg_best_speed | 77.832091917 |
| sl_avg_hyper_speed | 93.766515708 |
| 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.375 | 0.000 | 2.625 | 3.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.375 | 1.000 | 0.625 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.542 | 1.000 | 0.458 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.821 | 1.100 | 0.279 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.042 | 1.000 | -1.042 | -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": "669622",
"player_name": "Anthony Bender",
"position": "Middle Reliever",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.000 | 2.000 | 2.000 | 1.000 | 6.000 | 1.000 | 3.0000 | 0.5000 | 0.3333 | 0.3333 | 0.1667 | 1.0000 | 0.1667 |
| last_10 | 0.35 | 10 | 11.200 | 2.000 | 2.000 | 1.000 | 11.000 | 1.000 | 1.5429 | 0.2571 | 0.1714 | 0.1714 | 0.0857 | 0.9429 | 0.0857 |
| season | 0.20 | 24 | 23.200 | 9.000 | 13.000 | 9.000 | 25.000 | 1.000 | 3.4225 | 0.9296 | 0.3803 | 0.5493 | 0.3803 | 1.0563 | 0.0423 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3140 |
| predicted_ER | 0.4340 |
| predicted_ERA | 3.4602 |
| predicted_H | 0.7290 |
| predicted_HR | 0.1400 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0890 |
| predicted_WHIP | 0.9237 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 0.3140 | 1.8408 | model_form_blend |
| predicted_ER | 1.0000 | 0.4340 | 0.7557 | model_form_blend |
| predicted_ERA | - | 3.4602 | 3.4602 | form_only |
| predicted_H | 1.0000 | 0.7290 | 0.8830 | model_form_blend |
| predicted_HR | 0.0000 | 0.1400 | 0.0604 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0890 | 0.4700 | model_form_blend |
| predicted_WHIP | - | 0.9237 | 0.9237 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 24 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 3 |
| SO | 0 |
| HR | 0 |
| BF | 8 |
| Pitches | 38 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 3.42 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 17 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260531_MIA@NYM |
| game_type | full |
| mlbID | 669622 |
| playerID | 669622 |
| playerName | Anthony Bender |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIA |
| teamID | 15 |
| game_date | 2026-05-31 |
| sl_k_percent | 26.7 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.213 |
| sl_xwoba | 0.269 |
| sl_sweet_spot_percent | 27.3 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 30.9 |
| sl_whiff_percent | 19.4 |
| sl_swing_percent | 39.0 |
| sl_avg_best_speed | 78.132341429 |
| sl_avg_hyper_speed | 93.322411273 |
| 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.438 | 0.000 | 0.562 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.750 | 1.000 | 0.250 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.812 | 1.000 | -0.812 | -1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.837 | 0.100 | -0.637 | 0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.312 | 0.000 | 0.688 | 2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 0.2000 (boost 0.1000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 0.2000 (boost 0.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "664126",
"player_name": "Pete Fairbanks",
"position": "Middle Reliever",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement 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": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 2.000 | 3.000 | 2.000 | 6.000 | 2.000 | 4.1538 | 1.1538 | 0.4615 | 0.6923 | 0.4615 | 1.3846 | 0.4615 |
| last_10 | 0.35 | 10 | 8.100 | 6.000 | 6.000 | 6.000 | 13.000 | 2.000 | 6.4800 | 1.4400 | 0.7200 | 0.7200 | 0.7200 | 1.5600 | 0.2400 |
| season | 0.20 | 16 | 14.100 | 12.000 | 13.000 | 7.000 | 21.000 | 3.000 | 7.5349 | 1.3953 | 0.8372 | 0.9070 | 0.4884 | 1.4651 | 0.2093 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2320 |
| predicted_ER | 0.2820 |
| predicted_ERA | 4.7778 |
| predicted_H | 0.4660 |
| predicted_HR | 0.1100 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6010 |
| predicted_WHIP | 1.3127 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2320 | 0.7080 | model_form_blend |
| predicted_ER | 1.0000 | 0.2820 | 0.7271 | model_form_blend |
| predicted_ERA | - | 4.7778 | 4.7778 | form_only |
| predicted_H | 0.0000 | 0.4660 | 0.1771 | model_form_blend |
| predicted_HR | 0.0000 | 0.1100 | 0.0418 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 2.0000 | 0.6010 | 1.4682 | model_form_blend |
| predicted_WHIP | - | 1.3127 | 1.3127 | 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 | 0.2 |
| H | 0 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 2 |
| 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 | 2 |
| Pitching_ER | 1 |
| Pitching_ERA | 7.53 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 4 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 4 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260529_MIA@NYM |
| game_type | full |
| mlbID | 664126 |
| playerID | 664126 |
| playerName | Pete Fairbanks |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIA |
| teamID | 15 |
| game_date | 2026-05-29 |
| sl_k_percent | 33.3 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.349 |
| sl_xwoba | 0.289 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 15.2 |
| sl_hard_hit_percent | 47.1 |
| sl_whiff_percent | 29.7 |
| sl_swing_percent | 45.0 |
| sl_avg_best_speed | 84.650706875 |
| sl_avg_hyper_speed | 96.37296 |
| Field | Value |
|---|---|
| Pitcher | Cade Cavalli |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0305 |
| ESPN Rank | 153 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0784 |
| Avg Velo | 91.0952 |
| Avg Spin | 2214.0150 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 2 |
| Pre H | 6 |
| Pre BB | 1 |
| Pre SO | 4 |
| Season ERA | 3.6201 |
| Season WHIP | 1.4078 |
| Role Avg IP | 4.9720 |
| Recent Avg IP | 5.8000 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 66,
"wins": 32,
"losses": 34,
"win_pct": 0.4848,
"runs_scored": 331.0,
"runs_allowed": 342.0,
"run_differential": -11.0,
"run_differential_per_game": -0.1667,
"avg_runs_scored": 5.0152,
"avg_runs_allowed": 5.1818,
"offense_index": 1.1301,
"defense_index": 0.8564,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 2.9,
"run_differential": 16.0
},
"available": true,
"quality_score": 0.0014
},
"opponent": {
"team": "MIA",
"games": 65,
"wins": 29,
"losses": 36,
"win_pct": 0.4462,
"runs_scored": 268.0,
"runs_allowed": 295.0,
"run_differential": -27.0,
"run_differential_per_game": -0.4154,
"avg_runs_scored": 4.1231,
"avg_runs_allowed": 4.5385,
"offense_index": 0.9291,
"defense_index": 0.9779,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 4.8,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.1322
},
"edges": {
"quality_edge": 0.1336,
"offense_edge": 0.1301,
"opponent_offense_edge": -0.0709,
"defense_strength": -0.1436,
"opponent_defense_weakness": 0.0221,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0039,
"run_prevention": 0.9963,
"strikeout": 1.0097
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676917",
"profile": {
"available": true,
"pitcher_id": "676917",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 243.0,
"k_percent": 25.4,
"bb_percent": 7.8,
"woba": 0.322,
"xwoba": 0.315,
"sweet_spot_percent": 36.1,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 40.8,
"avg_best_speed": 78.6167,
"avg_hyper_speed": 94.3901,
"whiff_percent": 25.2,
"swing_percent": 46.0
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.2074,
"command_and_miss": 0.225,
"regression_edge": 0.2,
"xwoba_edge": -0.0857,
"barrel_edge": -0.1111,
"hard_hit_edge": -0.3143,
"whiff_edge": -0.0857,
"bb_edge": 0.375,
"pitch_design_score": 0.0784
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676917",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 89,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 91.09523400835752,
"release_spin_rate": 2214.0149825208573,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 91.09523400835752,
"release_spin_rate": 2214.0149825208573,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0952,
"release_spin_rate": 2214.015,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0784,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.56,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0305,
"sample_weight": 0.972,
"run_prevention_factor": 1.0026,
"strikeout_factor": 1.0122,
"walk_factor": 0.9708,
"homer_factor": 1.0234,
"woba_minus_xwoba": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676917",
"espn_id": 4308037,
"player_name": "Cade Cavalli",
"team": "WSH",
"role": "pitcher",
"espn_rank": 153,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 153,
"gp_value": 12.0,
"gp_rank": 227,
"gs_value": 12.0,
"gs_rank": 2,
"qs_value": 5.0,
"qs_rank": 33,
"era_value": 3.6201,
"era_rank": null,
"w_value": 3.0,
"w_rank": 74,
"l_value": 3.0,
"l_rank": 75,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 59.2,
"ip_rank": 67,
"h_value": 63.0,
"h_rank": 25,
"er_value": 24.0,
"er_rank": 81,
"hr_value": 3.0,
"hr_rank": 198,
"bb_value": 21.0,
"bb_rank": 53,
"k_value": 68.0,
"k_rank": 26,
"k_per_9_value": 10.256983,
"k_per_9_rank": 10,
"whip_value": 1.4078,
"whip_rank": null,
"war_value": 0.56,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0025,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0025,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9716,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0227,
"adjusted": 0
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0119,
"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": 50.0,
"ER": 21,
"H": 55,
"BB": 16,
"SO": 60,
"HR": 3,
"ERA": 3.78,
"WHIP": 1.42,
"K9": 10.8,
"HR9": 0.54,
"games_pitched": 10,
"quality_starts": 4,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-26T00:00:00"
}{
"available": true,
"pitcher_id": "676917",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 89,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 91.09523400835752,
"release_spin_rate": 2214.0149825208573,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 91.09523400835752,
"release_spin_rate": 2214.0149825208573,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0952,
"release_spin_rate": 2214.015,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0784,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.56,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7059,
"prior_weight": 0.2941
},
"role": "pitcher",
"player_id": "676917",
"report_date": "20260601_M",
"season_year": 2026,
"rows_used": 12,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 29.0,
"ER": 11.0,
"R": 14.0,
"H": 26.0,
"BB": 7.0,
"SO": 30.0,
"HR": 2.0,
"BF": 125.0,
"Pitches": 436.0
},
"per_game": {
"IP": 5.2,
"ER": 2.2,
"R": 2.8,
"H": 5.2,
"BB": 1.4,
"SO": 6.0,
"HR": 0.4,
"BF": 25.0,
"Pitches": 87.2
},
"rates": {
"ERA": 3.4138,
"WHIP": 1.1379,
"ER_per_IP": 0.37931,
"H_per_IP": 0.89655,
"BB_per_IP": 0.24138,
"SO_per_IP": 1.03448,
"HR_per_IP": 0.06897
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 50.0,
"ER": 21.0,
"R": 27.0,
"H": 55.0,
"BB": 16.0,
"SO": 60.0,
"HR": 3.0,
"BF": 226.0,
"Pitches": 852.0
},
"per_game": {
"IP": 5.0,
"ER": 2.1,
"R": 2.7,
"H": 5.5,
"BB": 1.6,
"SO": 6.0,
"HR": 0.3,
"BF": 22.6,
"Pitches": 85.2
},
"rates": {
"ERA": 3.78,
"WHIP": 1.42,
"ER_per_IP": 0.42,
"H_per_IP": 1.1,
"BB_per_IP": 0.32,
"SO_per_IP": 1.2,
"HR_per_IP": 0.06
}
},
"season": {
"games": 12,
"totals": {
"IP": 59.2,
"ER": 24.0,
"R": 31.0,
"H": 63.0,
"BB": 21.0,
"SO": 68.0,
"HR": 3.0,
"BF": 268.0,
"Pitches": 1011.0
},
"per_game": {
"IP": 5.0,
"ER": 2.0,
"R": 2.5833,
"H": 5.25,
"BB": 1.75,
"SO": 5.6667,
"HR": 0.25,
"BF": 22.3333,
"Pitches": 84.25
},
"rates": {
"ERA": 3.6201,
"WHIP": 1.4078,
"ER_per_IP": 0.40223,
"H_per_IP": 1.05587,
"BB_per_IP": 0.35196,
"SO_per_IP": 1.13966,
"HR_per_IP": 0.05028
}
}
},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.236,
"predicted_H": 5.231,
"predicted_BB": 1.666,
"predicted_SO": 5.642,
"predicted_HR": 0.442,
"predicted_ERA": 3.7904,
"predicted_WHIP": 1.2989
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4743,
"form_weight": 0.5257,
"form_reliability": 0.7059,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7059,
"prior_weight": 0.2941
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.236,
"final": 2.1241,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 5.231,
"final": 5.5957,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.666,
"final": 1.3501,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 5.642,
"final": 4.8633,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.442,
"final": 0.7066,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7904,
"final": 3.7904,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2989,
"final": 1.2989,
"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 | Clayton Beeter |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.1692 |
| ESPN Rank | 129 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0916 |
| Avg Velo | 91.3315 |
| Avg Spin | 2553.3942 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.2979 |
| Season WHIP | 1.2128 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 66,
"wins": 32,
"losses": 34,
"win_pct": 0.4848,
"runs_scored": 331.0,
"runs_allowed": 342.0,
"run_differential": -11.0,
"run_differential_per_game": -0.1667,
"avg_runs_scored": 5.0152,
"avg_runs_allowed": 5.1818,
"offense_index": 1.1301,
"defense_index": 0.8564,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 2.9,
"run_differential": 16.0
},
"available": true,
"quality_score": 0.0014
},
"opponent": {
"team": "MIA",
"games": 65,
"wins": 29,
"losses": 36,
"win_pct": 0.4462,
"runs_scored": 268.0,
"runs_allowed": 295.0,
"run_differential": -27.0,
"run_differential_per_game": -0.4154,
"avg_runs_scored": 4.1231,
"avg_runs_allowed": 4.5385,
"offense_index": 0.9291,
"defense_index": 0.9779,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 4.8,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.1322
},
"edges": {
"quality_edge": 0.1336,
"offense_edge": 0.1301,
"opponent_offense_edge": -0.0709,
"defense_strength": -0.1436,
"opponent_defense_weakness": 0.0221,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0039,
"run_prevention": 0.9963,
"strikeout": 1.0097
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "690925",
"profile": {
"available": true,
"pitcher_id": "690925",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 55.0,
"k_percent": 22.2,
"bb_percent": 19.0,
"woba": 0.254,
"xwoba": 0.318,
"sweet_spot_percent": 19.4,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 52.8,
"avg_best_speed": 83.0949,
"avg_hyper_speed": 94.8965,
"whiff_percent": 22.9,
"swing_percent": 41.8
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.0536,
"command_and_miss": -0.6557,
"regression_edge": -1.8286,
"xwoba_edge": -0.1714,
"barrel_edge": -0.2444,
"hard_hit_edge": -2.0286,
"whiff_edge": -0.4143,
"bb_edge": -2.425,
"pitch_design_score": 0.0916
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "690925",
"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.33150414149834,
"release_spin_rate": 2553.394245121494,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.33150414149834,
"release_spin_rate": 2553.394245121494,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3315,
"release_spin_rate": 2553.3942,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0916,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6545,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1692,
"sample_weight": 0.45,
"run_prevention_factor": 1.0144,
"strikeout_factor": 0.9915,
"walk_factor": 1.0873,
"homer_factor": 1.0476,
"woba_minus_xwoba": -0.064,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "690925",
"espn_id": 4313143,
"player_name": "Clayton Beeter",
"team": "WSH",
"role": "pitcher",
"espn_rank": 129,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 129,
"gp_value": 15.0,
"gp_rank": 196,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.2978,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 0.0,
"l_rank": 390,
"sv_value": 4.0,
"sv_rank": 26,
"hld_value": 2.0,
"hld_rank": 154,
"ip_value": 15.2,
"ip_rank": 387,
"h_value": 7.0,
"h_rank": 485,
"er_value": 4.0,
"er_rank": 472,
"hr_value": 2.0,
"hr_rank": 258,
"bb_value": 12.0,
"bb_rank": 199,
"k_value": 15.0,
"k_rank": 360,
"k_per_9_value": 8.617022,
"k_per_9_rank": 25,
"whip_value": 1.2127,
"whip_rank": null,
"war_value": 0.67,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0065,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0065,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0393,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0214,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9962,
"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": 5,
"BB": 8,
"SO": 12,
"HR": 1,
"ERA": 1.8,
"WHIP": 1.3,
"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-31T00:00:00"
}{
"available": true,
"pitcher_id": "690925",
"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.33150414149834,
"release_spin_rate": 2553.394245121494,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.33150414149834,
"release_spin_rate": 2553.394245121494,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3315,
"release_spin_rate": 2553.3942,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0916,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6545,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.092,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3821,
"prior_weight": 0.6179
},
"role": "pitcher",
"player_id": "690925",
"report_date": "20260601_M",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 4.0,
"SO": 6.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 86.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.8,
"SO": 1.2,
"HR": 0.0,
"BF": 4.0,
"Pitches": 17.2
},
"rates": {
"ERA": 0.0,
"WHIP": 1.125,
"ER_per_IP": 0.0,
"H_per_IP": 0.375,
"BB_per_IP": 0.75,
"SO_per_IP": 1.125,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 8.0,
"SO": 12.0,
"HR": 1.0,
"BF": 43.0,
"Pitches": 181.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.5,
"BB": 0.8,
"SO": 1.2,
"HR": 0.1,
"BF": 4.3,
"Pitches": 18.1
},
"rates": {
"ERA": 1.8,
"WHIP": 1.3,
"ER_per_IP": 0.2,
"H_per_IP": 0.5,
"BB_per_IP": 0.8,
"SO_per_IP": 1.2,
"HR_per_IP": 0.1
}
},
"season": {
"games": 15,
"totals": {
"IP": 15.2,
"ER": 4.0,
"R": 4.0,
"H": 7.0,
"BB": 12.0,
"SO": 15.0,
"HR": 2.0,
"BF": 66.0,
"Pitches": 267.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2667,
"R": 0.2667,
"H": 0.4667,
"BB": 0.8,
"SO": 1.0,
"HR": 0.1333,
"BF": 4.4,
"Pitches": 17.8
},
"rates": {
"ERA": 2.2979,
"WHIP": 1.2128,
"ER_per_IP": 0.25532,
"H_per_IP": 0.44681,
"BB_per_IP": 0.76596,
"SO_per_IP": 0.95745,
"HR_per_IP": 0.12766
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.341,
"predicted_H": 0.753,
"predicted_BB": 0.522,
"predicted_SO": 1.008,
"predicted_HR": 0.106,
"predicted_ERA": 3.0657,
"predicted_WHIP": 1.2748
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6111,
"form_weight": 0.3889,
"form_reliability": 0.3821,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.092,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3821,
"prior_weight": 0.6179
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.341,
"final": 0.1326,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.753,
"final": 0.9039,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.522,
"final": 0.203,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.008,
"final": 1.0031,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.106,
"final": 0.0412,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0657,
"final": 3.0657,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2748,
"final": 1.2748,
"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 | Gus Varland |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.3014 |
| ESPN Rank | 224 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1192 |
| Avg Velo | 91.8236 |
| Avg Spin | 2236.3033 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 4.0909 |
| Season WHIP | 1.5455 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 66,
"wins": 32,
"losses": 34,
"win_pct": 0.4848,
"runs_scored": 331.0,
"runs_allowed": 342.0,
"run_differential": -11.0,
"run_differential_per_game": -0.1667,
"avg_runs_scored": 5.0152,
"avg_runs_allowed": 5.1818,
"offense_index": 1.1301,
"defense_index": 0.8564,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 2.9,
"run_differential": 16.0
},
"available": true,
"quality_score": 0.0014
},
"opponent": {
"team": "MIA",
"games": 65,
"wins": 29,
"losses": 36,
"win_pct": 0.4462,
"runs_scored": 268.0,
"runs_allowed": 295.0,
"run_differential": -27.0,
"run_differential_per_game": -0.4154,
"avg_runs_scored": 4.1231,
"avg_runs_allowed": 4.5385,
"offense_index": 0.9291,
"defense_index": 0.9779,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 4.8,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.1322
},
"edges": {
"quality_edge": 0.1336,
"offense_edge": 0.1301,
"opponent_offense_edge": -0.0709,
"defense_strength": -0.1436,
"opponent_defense_weakness": 0.0221,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0039,
"run_prevention": 0.9963,
"strikeout": 1.0097
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681402",
"profile": {
"available": true,
"pitcher_id": "681402",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 90.0,
"k_percent": 20.2,
"bb_percent": 10.1,
"woba": 0.327,
"xwoba": 0.346,
"sweet_spot_percent": 43.5,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 49.3,
"avg_best_speed": 84.4626,
"avg_hyper_speed": 95.8507,
"whiff_percent": 25.7,
"swing_percent": 49.7
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -1.0235,
"command_and_miss": -0.1993,
"regression_edge": -0.5429,
"xwoba_edge": -0.9714,
"barrel_edge": -0.6889,
"hard_hit_edge": -1.5286,
"whiff_edge": -0.0143,
"bb_edge": -0.2,
"pitch_design_score": 0.1192
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "681402",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 91.82364241162128,
"release_spin_rate": 2236.3032746585636,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 91.82364241162128,
"release_spin_rate": 2236.3032746585636,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8236,
"release_spin_rate": 2236.3033,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1192,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.8514,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.3014,
"sample_weight": 0.45,
"run_prevention_factor": 1.0256,
"strikeout_factor": 0.9936,
"walk_factor": 1.0072,
"homer_factor": 1.0654,
"woba_minus_xwoba": -0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681402",
"espn_id": 41552,
"player_name": "Gus Varland",
"team": "WSH",
"role": "pitcher",
"espn_rank": 224,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 224,
"gp_value": 23.0,
"gp_rank": 87,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 4.0909,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 4.0,
"sv_rank": 26,
"hld_value": 6.0,
"hld_rank": 51,
"ip_value": 22.0,
"ip_rank": 290,
"h_value": 24.0,
"h_rank": 212,
"er_value": 10.0,
"er_rank": 258,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 10.0,
"bb_rank": 248,
"k_value": 20.0,
"k_rank": 296,
"k_per_9_value": 8.181818,
"k_per_9_rank": 27,
"whip_value": 1.5454,
"whip_rank": null,
"war_value": 0.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0115,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0115,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0032,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0294,
"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": 9.1,
"ER": 6,
"H": 10,
"BB": 7,
"SO": 6,
"HR": 0,
"ERA": 5.7857142857142865,
"WHIP": 1.8214285714285716,
"K9": 5.7857142857142865,
"HR9": 0.0,
"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-30T00:00:00"
}{
"available": true,
"pitcher_id": "681402",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 91.82364241162128,
"release_spin_rate": 2236.3032746585636,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 91.82364241162128,
"release_spin_rate": 2236.3032746585636,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8236,
"release_spin_rate": 2236.3033,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1192,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.8514,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.342,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4648,
"prior_weight": 0.5352
},
"role": "pitcher",
"player_id": "681402",
"report_date": "20260601_M",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 2.0,
"R": 3.0,
"H": 5.0,
"BB": 4.0,
"SO": 2.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 83.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.6,
"H": 1.0,
"BB": 0.8,
"SO": 0.4,
"HR": 0.0,
"BF": 4.8,
"Pitches": 16.6
},
"rates": {
"ERA": 3.375,
"WHIP": 1.6875,
"ER_per_IP": 0.375,
"H_per_IP": 0.9375,
"BB_per_IP": 0.75,
"SO_per_IP": 0.375,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 6.0,
"R": 7.0,
"H": 10.0,
"BB": 7.0,
"SO": 6.0,
"HR": 0.0,
"BF": 44.0,
"Pitches": 156.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.7,
"H": 1.0,
"BB": 0.7,
"SO": 0.6,
"HR": 0.0,
"BF": 4.4,
"Pitches": 15.6
},
"rates": {
"ERA": 5.7857,
"WHIP": 1.8214,
"ER_per_IP": 0.64286,
"H_per_IP": 1.07143,
"BB_per_IP": 0.75,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.0
}
},
"season": {
"games": 23,
"totals": {
"IP": 22.0,
"ER": 10.0,
"R": 11.0,
"H": 24.0,
"BB": 10.0,
"SO": 20.0,
"HR": 1.0,
"BF": 99.0,
"Pitches": 352.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4348,
"R": 0.4783,
"H": 1.0435,
"BB": 0.4348,
"SO": 0.8696,
"HR": 0.0435,
"BF": 4.3043,
"Pitches": 15.3043
},
"rates": {
"ERA": 4.0909,
"WHIP": 1.5455,
"ER_per_IP": 0.45455,
"H_per_IP": 1.09091,
"BB_per_IP": 0.45455,
"SO_per_IP": 0.90909,
"HR_per_IP": 0.04545
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.48,
"predicted_H": 0.98,
"predicted_BB": 0.518,
"predicted_SO": 0.771,
"predicted_HR": 0.076,
"predicted_ERA": 4.3222,
"predicted_WHIP": 1.4987
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5761,
"form_weight": 0.4239,
"form_reliability": 0.4648,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.342,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4648,
"prior_weight": 0.5352
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.48,
"final": 0.2035,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.98,
"final": 0.9915,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.518,
"final": 0.2196,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.771,
"final": 0.9029,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.076,
"final": 0.0322,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3222,
"final": 4.3222,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4987,
"final": 1.4987,
"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 | Richard Lovelady |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.1273 |
| ESPN Rank | 108 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1668 |
| Avg Velo | 86.7173 |
| Avg Spin | 2410.0305 |
| 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 | 2.7000 |
| Season WHIP | 1.7143 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 66,
"wins": 32,
"losses": 34,
"win_pct": 0.4848,
"runs_scored": 331.0,
"runs_allowed": 342.0,
"run_differential": -11.0,
"run_differential_per_game": -0.1667,
"avg_runs_scored": 5.0152,
"avg_runs_allowed": 5.1818,
"offense_index": 1.1301,
"defense_index": 0.8564,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 2.9,
"run_differential": 16.0
},
"available": true,
"quality_score": 0.0014
},
"opponent": {
"team": "MIA",
"games": 65,
"wins": 29,
"losses": 36,
"win_pct": 0.4462,
"runs_scored": 268.0,
"runs_allowed": 295.0,
"run_differential": -27.0,
"run_differential_per_game": -0.4154,
"avg_runs_scored": 4.1231,
"avg_runs_allowed": 4.5385,
"offense_index": 0.9291,
"defense_index": 0.9779,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 4.8,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.1322
},
"edges": {
"quality_edge": 0.1336,
"offense_edge": 0.1301,
"opponent_offense_edge": -0.0709,
"defense_strength": -0.1436,
"opponent_defense_weakness": 0.0221,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0039,
"run_prevention": 0.9963,
"strikeout": 1.0097
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663992",
"profile": {
"available": true,
"pitcher_id": "663992",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 95.0,
"k_percent": 19.4,
"bb_percent": 14.8,
"woba": 0.343,
"xwoba": 0.344,
"sweet_spot_percent": 31.4,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 31.4,
"avg_best_speed": 76.1125,
"avg_hyper_speed": 93.7055,
"whiff_percent": 25.7,
"swing_percent": 45.0
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.2506,
"command_and_miss": -0.4857,
"regression_edge": -0.0286,
"xwoba_edge": -0.9143,
"barrel_edge": 0.6222,
"hard_hit_edge": 1.0286,
"whiff_edge": -0.0143,
"bb_edge": -1.375,
"pitch_design_score": -0.1668
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663992",
"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": 86.71727006077172,
"release_spin_rate": 2410.030471305658,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 86.71727006077172,
"release_spin_rate": 2410.030471305658,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.7173,
"release_spin_rate": 2410.0305,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.1912,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1273,
"sample_weight": 0.45,
"run_prevention_factor": 1.0108,
"strikeout_factor": 0.9915,
"walk_factor": 1.0495,
"homer_factor": 0.9714,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663992",
"espn_id": 39856,
"player_name": "Richard Lovelady",
"team": "WSH",
"role": "pitcher",
"espn_rank": 108,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 108,
"gp_value": 23.0,
"gp_rank": 87,
"gs_value": 3.0,
"gs_rank": 170,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.7,
"era_rank": null,
"w_value": 2.0,
"w_rank": 141,
"l_value": 2.0,
"l_rank": 140,
"sv_value": 4.0,
"sv_rank": 26,
"hld_value": 4.0,
"hld_rank": 94,
"ip_value": 23.1,
"ip_rank": 270,
"h_value": 24.0,
"h_rank": 212,
"er_value": 7.0,
"er_rank": 350,
"hr_value": 2.0,
"hr_rank": 258,
"bb_value": 16.0,
"bb_rank": 126,
"k_value": 21.0,
"k_rank": 288,
"k_per_9_value": 8.1,
"k_per_9_rank": 28,
"whip_value": 1.7142,
"whip_rank": null,
"war_value": 0.75,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0049,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0049,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0223,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9871,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9962,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 3,
"H": 9,
"BB": 7,
"SO": 8,
"HR": 1,
"ERA": 3.0000000000000004,
"WHIP": 1.7777777777777781,
"K9": 8.000000000000002,
"HR9": 1.0000000000000002,
"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": "663992",
"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": 86.71727006077172,
"release_spin_rate": 2410.030471305658,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 86.71727006077172,
"release_spin_rate": 2410.030471305658,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.7173,
"release_spin_rate": 2410.0305,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.1912,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.605,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4794,
"prior_weight": 0.5206
},
"role": "pitcher",
"player_id": "663992",
"report_date": "20260601_M",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 2.0,
"SO": 2.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 60.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.4,
"SO": 0.4,
"HR": 0.0,
"BF": 3.6,
"Pitches": 12.0
},
"rates": {
"ERA": 2.4545,
"WHIP": 1.6364,
"ER_per_IP": 0.27273,
"H_per_IP": 1.09091,
"BB_per_IP": 0.54545,
"SO_per_IP": 0.54545,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 3.0,
"R": 3.0,
"H": 9.0,
"BB": 7.0,
"SO": 8.0,
"HR": 1.0,
"BF": 43.0,
"Pitches": 161.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.9,
"BB": 0.7,
"SO": 0.8,
"HR": 0.1,
"BF": 4.3,
"Pitches": 16.1
},
"rates": {
"ERA": 3.0,
"WHIP": 1.7778,
"ER_per_IP": 0.33333,
"H_per_IP": 1.0,
"BB_per_IP": 0.77778,
"SO_per_IP": 0.88889,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 23,
"totals": {
"IP": 23.1,
"ER": 7.0,
"R": 9.0,
"H": 24.0,
"BB": 16.0,
"SO": 21.0,
"HR": 2.0,
"BF": 108.0,
"Pitches": 398.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3043,
"R": 0.3913,
"H": 1.0435,
"BB": 0.6957,
"SO": 0.913,
"HR": 0.087,
"BF": 4.6957,
"Pitches": 17.3043
},
"rates": {
"ERA": 2.7,
"WHIP": 1.7143,
"ER_per_IP": 0.3,
"H_per_IP": 1.02857,
"BB_per_IP": 0.68571,
"SO_per_IP": 0.9,
"HR_per_IP": 0.08571
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.295,
"predicted_H": 0.752,
"predicted_BB": 0.382,
"predicted_SO": 0.636,
"predicted_HR": 0.073,
"predicted_ERA": 3.5239,
"predicted_WHIP": 1.5022
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.57,
"form_weight": 0.43,
"form_reliability": 0.4794,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.605,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4794,
"prior_weight": 0.5206
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.295,
"final": 0.1269,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.752,
"final": 0.3234,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.382,
"final": 0.1643,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.636,
"final": 0.2735,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.073,
"final": 0.0314,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5239,
"final": 3.5239,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5022,
"final": 1.5022,
"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.261 | 1.000 | 0.000 | Hitting_2B | 0.261 | 0.000 | 0.739 | 1.000 |
| predicted_3B | 0.045 | 0.000 | 0.000 | Hitting_3B | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_AB | 3.727 | 4.000 | 7.000 | Hitting_AB | 3.727 | 3.000 | 0.273 | 1.000 |
| predicted_AVG | 0.250 | 0.250 | 0.143 | Hitting_AVG | 0.280 | 0.333 | -0.030 | -0.083 |
| predicted_BB | 0.114 | 0.000 | 0.000 | Hitting_BB | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_H | 0.360 | 1.000 | 1.000 | Hitting_H | 1.045 | 1.000 | -0.045 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.119 | 1.000 | -0.119 | -1.000 |
| predicted_OBP | 0.288 | 0.250 | 0.143 | Hitting_OBP | 0.300 | 0.333 | -0.050 | -0.083 |
| predicted_R | 0.455 | 0.000 | 1.000 | Hitting_R | 0.455 | 1.000 | -0.455 | -1.000 |
| predicted_RBI | 0.270 | 0.000 | 1.000 | Hitting_RBI | 0.693 | 1.000 | -0.693 | -1.000 |
| predicted_SLG | 0.444 | 0.500 | 0.143 | Hitting_SLG | 0.471 | 1.333 | 0.029 | -0.833 |
| predicted_SO | 0.648 | 1.000 | 1.000 | Hitting_SO | 0.648 | 0.000 | 0.352 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_2B: 0.2610 -> 1.0000 (boost 0.7390, better) |
| Biggest Deboost | predicted_R: 0.4550 -> 0.0000 (deboost -0.4550, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.7270 -> 6.5353 (boost 2.8083, 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.4558 -> 0.4047 (deboost -0.0511, 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_H: 1.4525 -> 2.0000 (boost 0.5475, better) | predicted_2B: 0.4002 -> 0.0000 (deboost -0.4002, worse) | AB rounded to 7 (raw=6.54), rates preserved: AVG=0.222 HR/AB=0.034 |
| 5 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 2.0000 -> 1.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=24.0, weight=0.178, BvP AVG=0.167) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7964 -> 1.0000 (boost 0.2036, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4047 -> 0.1430 (deboost -0.2617, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 1 | 3 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1430 -> 0.4047 (boost 0.2617, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671277",
"player_name": "Luis García Jr.",
"position": "1B",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.261,
"predicted_3B": 0.045,
"predicted_AB": 3.727,
"predicted_AVG": 0.25,
"predicted_BB": 0.114,
"predicted_H": 0.36,
"predicted_HR": 0.06,
"predicted_OBP": 0.288,
"predicted_R": 0.455,
"predicted_RBI": 0.27,
"predicted_SLG": 0.444,
"predicted_SO": 0.648
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4002,
"predicted_3B": 0.0651,
"predicted_AB": 6.5353,
"predicted_AVG": 0.2602,
"predicted_BB": 0.1757,
"predicted_H": 1.4156,
"predicted_HBP": 0.004,
"predicted_HR": 0.2154,
"predicted_OBP": 0.2889,
"predicted_R": 0.7627,
"predicted_RBI": 1.0096,
"predicted_SLG": 0.4558,
"predicted_SO": 1.143
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.261,
"after": 0.4002,
"delta": 0.1392,
"percent_delta": 0.5333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.045,
"after": 0.0651,
"delta": 0.0201,
"percent_delta": 0.4467,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.727,
"after": 6.5353,
"delta": 2.8083,
"percent_delta": 0.7535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2602,
"delta": 0.0102,
"percent_delta": 0.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.114,
"after": 0.1757,
"delta": 0.0617,
"percent_delta": 0.5412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.36,
"after": 1.4156,
"delta": 1.0556,
"percent_delta": 2.9322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.2154,
"delta": 0.1554,
"percent_delta": 2.59,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2889,
"delta": 0.0009,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.455,
"after": 0.7627,
"delta": 0.3077,
"percent_delta": 0.6763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 1.0096,
"delta": 0.7396,
"percent_delta": 2.7393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.444,
"after": 0.4558,
"delta": 0.0118,
"percent_delta": 0.0266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.648,
"after": 1.143,
"delta": 0.495,
"percent_delta": 0.7639,
"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.727,
"after": 6.5353,
"delta": 2.8083,
"percent_delta": 0.7535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.4002,
"predicted_3B": 0.0651,
"predicted_AB": 6.5353,
"predicted_AVG": 0.2223,
"predicted_BB": 0.1773,
"predicted_H": 1.4525,
"predicted_HBP": 0.004,
"predicted_HR": 0.2207,
"predicted_OBP": 0.2428,
"predicted_R": 0.7964,
"predicted_RBI": 1.0542,
"predicted_SLG": 0.4047,
"predicted_SO": 1.1325
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4002,
"after": 0.4002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0651,
"after": 0.0651,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.5353,
"after": 6.5353,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2602,
"after": 0.2223,
"delta": -0.0379,
"percent_delta": -0.1457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1757,
"after": 0.1773,
"delta": 0.0016,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4156,
"after": 1.4525,
"delta": 0.0369,
"percent_delta": 0.0261,
"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.2154,
"after": 0.2207,
"delta": 0.0053,
"percent_delta": 0.0246,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2889,
"after": 0.2428,
"delta": -0.0461,
"percent_delta": -0.1596,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7627,
"after": 0.7964,
"delta": 0.0337,
"percent_delta": 0.0442,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0096,
"after": 1.0542,
"delta": 0.0446,
"percent_delta": 0.0442,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4558,
"after": 0.4047,
"delta": -0.0511,
"percent_delta": -0.1121,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.143,
"after": 1.1325,
"delta": -0.0105,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4558,
"after": 0.4047,
"delta": -0.0511,
"percent_delta": -0.1121,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.54), rates preserved: AVG=0.222 HR/AB=0.034",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4002,
"after": 0.0,
"delta": -0.4002,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0651,
"after": 0.0,
"delta": -0.0651,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.5353,
"after": 7.0,
"delta": 0.4647,
"percent_delta": 0.0711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1773,
"after": 0.0,
"delta": -0.1773,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4525,
"after": 2.0,
"delta": 0.5475,
"percent_delta": 0.3769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.0,
"delta": -0.004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2207,
"after": 0.0,
"delta": -0.2207,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0542,
"after": 1.0,
"delta": -0.0542,
"percent_delta": -0.0514,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1325,
"after": 1.0,
"delta": -0.1325,
"percent_delta": -0.117,
"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": 1.4525,
"after": 2.0,
"delta": 0.5475,
"percent_delta": 0.3769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4002,
"after": 0.0,
"delta": -0.4002,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=24.0, weight=0.178, BvP AVG=0.167)",
"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": 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.8222,
"bvp": 0.1778
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.7964,
"after": 1.0,
"delta": 0.2036,
"percent_delta": 0.2557,
"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.7964,
"after": 1.0,
"delta": 0.2036,
"percent_delta": 0.2557,
"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.2223,
"after": 0.143,
"delta": -0.0793,
"percent_delta": -0.3567,
"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.2428,
"after": 0.143,
"delta": -0.0998,
"percent_delta": -0.411,
"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.4047,
"after": 0.143,
"delta": -0.2617,
"percent_delta": -0.6467,
"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.4047,
"after": 0.143,
"delta": -0.2617,
"percent_delta": -0.6467,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2223,
"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.2428,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4047,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.143,
"after": 0.2223,
"delta": 0.0793,
"percent_delta": 0.5543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.143,
"after": 0.2428,
"delta": 0.0998,
"percent_delta": 0.6979,
"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.4047,
"delta": 0.2617,
"percent_delta": 1.8302,
"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.4047,
"delta": 0.2617,
"percent_delta": 1.8302,
"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.261,
"after": 1.0,
"delta": 0.739,
"percent_delta": 2.8314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.045,
"after": 0.0,
"delta": -0.045,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.727,
"after": 4.0,
"delta": 0.273,
"percent_delta": 0.0732,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2223,
"delta": -0.0277,
"percent_delta": -0.1108,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.114,
"after": 0.0,
"delta": -0.114,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.36,
"after": 1.0,
"delta": 0.64,
"percent_delta": 1.7778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2428,
"delta": -0.0452,
"percent_delta": -0.1569,
"direction": "deboost",
"projection_effect": "worse",
"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.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.444,
"after": 0.4047,
"delta": -0.0393,
"percent_delta": -0.0885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.648,
"after": 1.0,
"delta": 0.352,
"percent_delta": 0.5432,
"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_2B",
"before": 0.261,
"after": 1.0,
"delta": 0.739,
"percent_delta": 2.8314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.455,
"after": 0.0,
"delta": -0.455,
"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.261 | - |
| predicted_3B | 0.045 | - |
| predicted_AB | 3.727 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.114 | - |
| predicted_H | 0.360 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.288 | - |
| predicted_R | 0.455 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.444 | - |
| predicted_SO | 0.648 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.400 | 0.139 |
| predicted_3B | 0.065 | 0.020 |
| predicted_AB | 6.535 | 2.808 |
| predicted_AVG | 0.260 | 0.010 |
| predicted_BB | 0.176 | 0.062 |
| predicted_H | 1.416 | 1.056 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.215 | 0.155 |
| predicted_OBP | 0.289 | 0.001 |
| predicted_R | 0.763 | 0.308 |
| predicted_RBI | 1.010 | 0.740 |
| predicted_SLG | 0.456 | 0.012 |
| predicted_SO | 1.143 | 0.495 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.400 | 0.000 |
| predicted_3B | 0.065 | 0.000 |
| predicted_AB | 6.535 | 0.000 |
| predicted_AVG | 0.222 | -0.038 |
| predicted_BB | 0.177 | 0.002 |
| predicted_H | 1.452 | 0.037 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.221 | 0.005 |
| predicted_OBP | 0.243 | -0.046 |
| predicted_R | 0.796 | 0.034 |
| predicted_RBI | 1.054 | 0.045 |
| predicted_SLG | 0.405 | -0.051 |
| predicted_SO | 1.133 | -0.010 |
AB rounded to 7 (raw=6.54), rates preserved: AVG=0.222 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 0.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=24.0, weight=0.178, BvP AVG=0.167)
| 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 | -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 | 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.400 |
| predicted_3B | 0.000 | -0.065 |
| predicted_AB | 7.000 | 0.465 |
| predicted_AVG | 0.143 | -0.079 |
| predicted_BB | 0.000 | -0.177 |
| predicted_H | 1.000 | -0.452 |
| predicted_HR | 0.000 | -0.221 |
| predicted_OBP | 0.143 | -0.100 |
| predicted_R | 1.000 | 0.204 |
| predicted_RBI | 1.000 | -0.054 |
| predicted_SLG | 0.143 | -0.262 |
| predicted_SO | 1.000 | -0.133 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 18.000 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 0.000 | 3.000 | 0.2222 | 0.2222 | 0.3889 | 0.2222 | 0.0556 | 0.1667 | 0.0000 | 0.1667 |
| last_10 | 0.20 | 5 | - | 41.000 | 16.000 | 4.000 | 0.000 | 5.000 | 19.000 | 9.000 | 0.000 | 8.000 | 0.3902 | 0.3902 | 0.8537 | 0.3902 | 0.1220 | 0.4634 | 0.0000 | 0.1951 |
| season | 0.60 | 54 | - | 656.000 | 184.000 | 46.000 | 8.000 | 21.000 | 122.000 | 80.000 | 20.000 | 114.000 | 0.2805 | 0.3000 | 0.4710 | 0.2805 | 0.0320 | 0.1860 | 0.0305 | 0.1738 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5790 |
| predicted_3B | 0.0910 |
| predicted_AB | 10.1440 |
| predicted_AVG | 0.2733 |
| predicted_BB | 0.2550 |
| predicted_H | 2.7720 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.4150 |
| predicted_OBP | 0.2900 |
| predicted_R | 1.1580 |
| predicted_RBI | 1.9600 |
| predicted_SLG | 0.4709 |
| predicted_SO | 1.7790 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2610 | 0.5790 | 0.4002 | model_form_blend |
| predicted_3B | 0.0450 | 0.0910 | 0.0651 | model_form_blend |
| predicted_AB | 3.7270 | 10.1440 | 6.5353 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2733 | 0.2602 | model_form_blend |
| predicted_BB | 0.1140 | 0.2550 | 0.1757 | model_form_blend |
| predicted_H | 0.3600 | 2.7720 | 1.4156 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0600 | 0.4150 | 0.2154 | model_form_blend |
| predicted_OBP | 0.2880 | 0.2900 | 0.2889 | model_form_blend |
| predicted_R | 0.4550 | 1.1580 | 0.7627 | model_form_blend |
| predicted_RBI | 0.2700 | 1.9600 | 1.0096 | model_form_blend |
| predicted_SLG | 0.4440 | 0.4709 | 0.4558 | model_form_blend |
| predicted_SO | 0.6480 | 1.7790 | 1.1430 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 4 |
| H | 1 |
| 2B | 1 |
| 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 | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260531_SD@WAS |
| game_type | full |
| mlbID | 671277 |
| playerID | 671277 |
| playerName | Luis García Jr. |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | WAS |
| teamID | 30 |
| game_date | 2026-05-31 |
| sl_k_percent | 15.8 |
| sl_bb_percent | 3.3 |
| sl_woba | 0.308 |
| sl_xwoba | 0.314 |
| sl_xba | 0.28 |
| sl_xslg | 0.422 |
| sl_sweet_spot_percent | 31.1 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 48.0 |
| sl_exit_velocity_avg | 92.5 |
| sl_launch_angle_avg | 11.6 |
| sl_whiff_percent | 19.2 |
| sl_swing_percent | 56.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.275 | 0.000 | 1.000 | Hitting_2B | 0.275 | 0.000 | -0.275 | 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 | 9.000 | Hitting_AB | 3.855 | 3.000 | -0.855 | 0.000 |
| predicted_AVG | 0.253 | 0.333 | 0.333 | Hitting_AVG | 0.289 | 0.333 | 0.044 | 0.000 |
| predicted_BB | 0.885 | 1.000 | 2.000 | Hitting_BB | 0.885 | 1.000 | 0.115 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_H | 1.080 | 1.000 | 3.000 | Hitting_H | 1.115 | 1.000 | -0.115 | 0.000 |
| predicted_HR | 0.280 | 0.000 | 1.000 | Hitting_HR | 0.283 | 1.000 | -0.283 | -1.000 |
| predicted_OBP | 0.396 | 0.500 | 0.455 | Hitting_OBP | 0.431 | 0.500 | 0.069 | 0.000 |
| predicted_R | 0.978 | 0.000 | 2.000 | Hitting_R | 0.978 | 1.000 | -0.978 | -1.000 |
| predicted_RBI | 0.650 | 0.000 | 2.000 | Hitting_RBI | 0.721 | 2.000 | -0.721 | -2.000 |
| predicted_SLG | 0.533 | 0.333 | 0.778 | Hitting_SLG | 0.581 | 1.333 | -0.247 | -1.000 |
| predicted_SO | 1.394 | 1.000 | 3.000 | Hitting_SO | 1.394 | 1.000 | -0.394 | 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.8850 -> 1.0000 (boost 0.1150, better) |
| Biggest Deboost | predicted_AB: 4.2900 -> 3.0000 (deboost -1.2900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.2900 -> 8.5643 (boost 4.2743, 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: 2.0980 -> 2.1907 (boost 0.0927, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 6 | 1 | 5 | 2 | predicted_H: 2.4208 -> 3.0000 (boost 0.5792, better) | predicted_HBP: 0.2100 -> 0.0000 (deboost -0.2100, worse) | AB rounded to 9 (raw=8.56), rates preserved: AVG=0.283 HR/AB=0.072 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 2.1907 -> 2.0000 (deboost -0.1907, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.5743 -> 0.7780 (boost 0.2037, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 8 | 0 | 8 | 1 | 7 | - | predicted_AB: 9.0000 -> 3.0000 (deboost -6.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.7780 -> 0.5743 (deboost -0.2037, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695578",
"player_name": "James Wood",
"position": "RF",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.275,
"predicted_3B": 0.0,
"predicted_AB": 4.29,
"predicted_AVG": 0.253,
"predicted_BB": 0.885,
"predicted_H": 1.08,
"predicted_HR": 0.28,
"predicted_OBP": 0.396,
"predicted_R": 0.978,
"predicted_RBI": 0.65,
"predicted_SLG": 0.533,
"predicted_SO": 1.394
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.6594,
"predicted_3B": 0.0004,
"predicted_AB": 8.5643,
"predicted_AVG": 0.2671,
"predicted_BB": 1.9837,
"predicted_H": 2.3592,
"predicted_HBP": 0.21,
"predicted_HR": 0.5979,
"predicted_OBP": 0.4113,
"predicted_R": 2.098,
"predicted_RBI": 1.4383,
"predicted_SLG": 0.5545,
"predicted_SO": 2.8851
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.275,
"after": 0.6594,
"delta": 0.3844,
"percent_delta": 1.3978,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.29,
"after": 8.5643,
"delta": 4.2743,
"percent_delta": 0.9963,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2671,
"delta": 0.0141,
"percent_delta": 0.0557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.885,
"after": 1.9837,
"delta": 1.0987,
"percent_delta": 1.2415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.08,
"after": 2.3592,
"delta": 1.2792,
"percent_delta": 1.1844,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.28,
"after": 0.5979,
"delta": 0.3179,
"percent_delta": 1.1354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.396,
"after": 0.4113,
"delta": 0.0153,
"percent_delta": 0.0386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.978,
"after": 2.098,
"delta": 1.12,
"percent_delta": 1.1452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 1.4383,
"delta": 0.7883,
"percent_delta": 1.2128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.533,
"after": 0.5545,
"delta": 0.0215,
"percent_delta": 0.0403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.394,
"after": 2.8851,
"delta": 1.4911,
"percent_delta": 1.0697,
"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.29,
"after": 8.5643,
"delta": 4.2743,
"percent_delta": 0.9963,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 60
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.6594,
"predicted_3B": 0.0004,
"predicted_AB": 8.5643,
"predicted_AVG": 0.2827,
"predicted_BB": 2.002,
"predicted_H": 2.4208,
"predicted_HBP": 0.21,
"predicted_HR": 0.6125,
"predicted_OBP": 0.4186,
"predicted_R": 2.1907,
"predicted_RBI": 1.5019,
"predicted_SLG": 0.5743,
"predicted_SO": 2.8586
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6594,
"after": 0.6594,
"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.5643,
"after": 8.5643,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2671,
"after": 0.2827,
"delta": 0.0156,
"percent_delta": 0.0584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.9837,
"after": 2.002,
"delta": 0.0183,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.3592,
"after": 2.4208,
"delta": 0.0616,
"percent_delta": 0.0261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.21,
"after": 0.21,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.5979,
"after": 0.6125,
"delta": 0.0146,
"percent_delta": 0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4113,
"after": 0.4186,
"delta": 0.0073,
"percent_delta": 0.0177,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 2.098,
"after": 2.1907,
"delta": 0.0927,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4383,
"after": 1.5019,
"delta": 0.0636,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5545,
"after": 0.5743,
"delta": 0.0198,
"percent_delta": 0.0357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.8851,
"after": 2.8586,
"delta": -0.0265,
"percent_delta": -0.0092,
"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": 2.098,
"after": 2.1907,
"delta": 0.0927,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=8.56), rates preserved: AVG=0.283 HR/AB=0.072",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 9.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": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6594,
"after": 1.0,
"delta": 0.3406,
"percent_delta": 0.5165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.5643,
"after": 9.0,
"delta": 0.4357,
"percent_delta": 0.0509,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.002,
"after": 2.0,
"delta": -0.002,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.4208,
"after": 3.0,
"delta": 0.5792,
"percent_delta": 0.2393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.6125,
"after": 1.0,
"delta": 0.3875,
"percent_delta": 0.6327,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.5019,
"after": 2.0,
"delta": 0.4981,
"percent_delta": 0.3316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.8586,
"after": 3.0,
"delta": 0.1414,
"percent_delta": 0.0495,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 6,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 2.4208,
"after": 3.0,
"delta": 0.5792,
"percent_delta": 0.2393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"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.333)",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 2.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_RBI": 2.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": 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": 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.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": 9.0,
"predicted_BB": 2.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": 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": 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": 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.1907,
"after": 2.0,
"delta": -0.1907,
"percent_delta": -0.087,
"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.1907,
"after": 2.0,
"delta": -0.1907,
"percent_delta": -0.087,
"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.333,
"predicted_BB": 2.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.455,
"predicted_R": 2.0,
"predicted_RBI": 2.0,
"predicted_SLG": 0.778,
"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.2827,
"after": 0.333,
"delta": 0.0503,
"percent_delta": 0.1779,
"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": 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.4186,
"after": 0.455,
"delta": 0.0364,
"percent_delta": 0.087,
"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.5743,
"after": 0.778,
"delta": 0.2037,
"percent_delta": 0.3547,
"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.5743,
"after": 0.778,
"delta": 0.2037,
"percent_delta": 0.3547,
"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": 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": 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": 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": 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": 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": 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.2827,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4186,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5743,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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.2827,
"delta": -0.0503,
"percent_delta": -0.1512,
"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.455,
"after": 0.4186,
"delta": -0.0364,
"percent_delta": -0.0801,
"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.778,
"after": 0.5743,
"delta": -0.2037,
"percent_delta": -0.2618,
"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.778,
"after": 0.5743,
"delta": -0.2037,
"percent_delta": -0.2618,
"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.275,
"after": 0.0,
"delta": -0.275,
"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.253,
"after": 0.2827,
"delta": 0.0297,
"percent_delta": 0.1174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.885,
"after": 1.0,
"delta": 0.115,
"percent_delta": 0.1299,
"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.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.396,
"after": 0.4186,
"delta": 0.0226,
"percent_delta": 0.0571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.978,
"after": 0.0,
"delta": -0.978,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.533,
"after": 0.5743,
"delta": 0.0413,
"percent_delta": 0.0775,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.394,
"after": 1.0,
"delta": -0.394,
"percent_delta": -0.2826,
"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.885,
"after": 1.0,
"delta": 0.115,
"percent_delta": 0.1299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.29,
"after": 3.0,
"delta": -1.29,
"percent_delta": -0.3007,
"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.275 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.290 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.885 | - |
| predicted_H | 1.080 | - |
| predicted_HR | 0.280 | - |
| predicted_OBP | 0.396 | - |
| predicted_R | 0.978 | - |
| predicted_RBI | 0.650 | - |
| predicted_SLG | 0.533 | - |
| predicted_SO | 1.394 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.659 | 0.384 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.564 | 4.274 |
| predicted_AVG | 0.267 | 0.014 |
| predicted_BB | 1.984 | 1.099 |
| predicted_H | 2.359 | 1.279 |
| predicted_HBP | 0.210 | - |
| predicted_HR | 0.598 | 0.318 |
| predicted_OBP | 0.411 | 0.015 |
| predicted_R | 2.098 | 1.120 |
| predicted_RBI | 1.438 | 0.788 |
| predicted_SLG | 0.554 | 0.021 |
| predicted_SO | 2.885 | 1.491 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.659 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.564 | 0.000 |
| predicted_AVG | 0.283 | 0.016 |
| predicted_BB | 2.002 | 0.018 |
| predicted_H | 2.421 | 0.062 |
| predicted_HBP | 0.210 | 0.000 |
| predicted_HR | 0.613 | 0.015 |
| predicted_OBP | 0.419 | 0.007 |
| predicted_R | 2.191 | 0.093 |
| predicted_RBI | 1.502 | 0.064 |
| predicted_SLG | 0.574 | 0.020 |
| predicted_SO | 2.859 | -0.026 |
AB rounded to 9 (raw=8.56), rates preserved: AVG=0.283 HR/AB=0.072
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 9.000 | - |
| BB | 2.000 | - |
| H | 3.000 | - |
| HBP | 0.000 | - |
| HR | 1.000 | - |
| RBI | 2.000 | - |
| SB | 0.000 | - |
| SO | 3.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)
| 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 | 3.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 | 1.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 | 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 | 1.000 | 0.341 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 9.000 | 0.436 |
| predicted_AVG | 0.333 | 0.050 |
| predicted_BB | 2.000 | -0.002 |
| predicted_H | 3.000 | 0.579 |
| predicted_HR | 1.000 | 0.387 |
| predicted_OBP | 0.455 | 0.036 |
| predicted_R | 2.000 | -0.191 |
| predicted_RBI | 2.000 | 0.498 |
| predicted_SLG | 0.778 | 0.204 |
| predicted_SO | 3.000 | 0.141 |
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 | -6.000 |
| BB | 1.000 | -1.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 | -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 | 4 | - | 17.000 | 4.000 | 2.000 | 0.000 | 1.000 | 2.000 | 4.000 | 5.000 | 5.000 | 0.2353 | 0.4091 | 0.5294 | 0.2353 | 0.0588 | 0.1177 | 0.2941 | 0.2941 |
| last_10 | 0.20 | 5 | - | 35.000 | 15.000 | 4.000 | 0.000 | 4.000 | 8.000 | 12.000 | 10.000 | 10.000 | 0.4286 | 0.5556 | 0.8857 | 0.4286 | 0.1143 | 0.2286 | 0.2857 | 0.2857 |
| season | 0.60 | 60 | - | 1037.000 | 300.000 | 74.000 | 0.000 | 76.000 | 194.000 | 263.000 | 238.000 | 375.000 | 0.2893 | 0.4313 | 0.5805 | 0.2893 | 0.0733 | 0.1871 | 0.2295 | 0.3616 |
| Metric | Value |
|---|---|
| predicted_2B | 1.1420 |
| predicted_3B | 0.0010 |
| predicted_AB | 13.9300 |
| predicted_AVG | 0.2847 |
| predicted_BB | 3.3630 |
| predicted_H | 3.9650 |
| predicted_HBP | 0.2100 |
| predicted_HR | 0.9970 |
| predicted_OBP | 0.4304 |
| predicted_R | 3.5040 |
| predicted_RBI | 2.4280 |
| predicted_SLG | 0.5815 |
| predicted_SO | 4.7570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2750 | 1.1420 | 0.6594 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.2900 | 13.9300 | 8.5643 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2847 | 0.2671 | model_form_blend |
| predicted_BB | 0.8850 | 3.3630 | 1.9837 | model_form_blend |
| predicted_H | 1.0800 | 3.9650 | 2.3592 | model_form_blend |
| predicted_HBP | - | 0.2100 | 0.2100 | form_only |
| predicted_HR | 0.2800 | 0.9970 | 0.5979 | model_form_blend |
| predicted_OBP | 0.3960 | 0.4304 | 0.4113 | model_form_blend |
| predicted_R | 0.9780 | 3.5040 | 2.0980 | model_form_blend |
| predicted_RBI | 0.6500 | 2.4280 | 1.4383 | model_form_blend |
| predicted_SLG | 0.5330 | 0.5815 | 0.5545 | model_form_blend |
| predicted_SO | 1.3940 | 4.7570 | 2.8851 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 269 |
| Season rows before report date | 269 |
| Report year | 2026 |
| Profile rows used | 269 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.289 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 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 | 20260531_SD@WAS |
| game_type | full |
| mlbID | 695578 |
| playerID | 695578 |
| playerName | James Wood |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | WAS |
| teamID | 30 |
| game_date | 2026-05-31 |
| sl_k_percent | 28.8 |
| sl_bb_percent | 17.6 |
| sl_woba | 0.408 |
| sl_xwoba | 0.439 |
| sl_xba | 0.284 |
| sl_xslg | 0.634 |
| sl_sweet_spot_percent | 41.4 |
| sl_barrel_batted_rate | 25.5 |
| sl_hard_hit_percent | 60.7 |
| sl_exit_velocity_avg | 96.6 |
| sl_launch_angle_avg | 10.4 |
| sl_whiff_percent | 31.5 |
| sl_swing_percent | 37.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.224 | 0.000 | 0.000 | Hitting_2B | 0.224 | 0.000 | -0.224 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.313 | 3.000 | 6.000 | Hitting_AB | 3.313 | 4.000 | -0.313 | -1.000 |
| predicted_AVG | 0.241 | 0.667 | 0.167 | Hitting_AVG | 0.257 | 0.000 | 0.410 | 0.667 |
| predicted_BB | 0.558 | 1.000 | 1.000 | Hitting_BB | 0.558 | 0.000 | 0.442 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.068 | 0.000 | -0.068 | 0.000 |
| predicted_H | 0.300 | 2.000 | 1.000 | Hitting_H | 0.850 | 0.000 | 1.150 | 2.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.224 | 0.000 | -0.224 | 0.000 |
| predicted_OBP | 0.322 | 0.750 | 0.286 | Hitting_OBP | 0.376 | 0.000 | 0.374 | 0.750 |
| predicted_R | 0.673 | 1.000 | 1.000 | Hitting_R | 0.673 | 0.000 | 0.327 | 1.000 |
| predicted_RBI | 0.260 | 0.000 | 1.000 | Hitting_RBI | 0.605 | 0.000 | -0.605 | 0.000 |
| predicted_SLG | 0.456 | 0.667 | 0.167 | Hitting_SLG | 0.528 | 0.000 | 0.139 | 0.667 |
| predicted_SO | 0.667 | 0.000 | 1.000 | Hitting_SO | 0.667 | 1.000 | -0.667 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.3000 -> 2.0000 (boost 1.7000, better) |
| Biggest Deboost | predicted_SO: 0.6670 -> 0.0000 (deboost -0.6670, 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.3130 -> 5.8073 (boost 2.4943, 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.2341 -> 1.2886 (boost 0.0545, better) | predicted_SLG: 0.4806 -> 0.4280 (deboost -0.0526, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_AB: 5.8073 -> 6.0000 (boost 0.1927, better) | predicted_2B: 0.3756 -> 0.0000 (deboost -0.3756, worse) | AB rounded to 6 (raw=5.81), rates preserved: AVG=0.212 HR/AB=0.050 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2886 -> 1.0000 (deboost -0.2886, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4280 -> 0.1670 (deboost -0.2610, 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_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.4280 (boost 0.2610, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678554",
"player_name": "Curtis Mead",
"position": "3B",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.224,
"predicted_3B": 0.0,
"predicted_AB": 3.313,
"predicted_AVG": 0.241,
"predicted_BB": 0.558,
"predicted_H": 0.3,
"predicted_HR": 0.07,
"predicted_OBP": 0.322,
"predicted_R": 0.673,
"predicted_RBI": 0.26,
"predicted_SLG": 0.456,
"predicted_SO": 0.667
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3756,
"predicted_3B": 0.0009,
"predicted_AB": 5.8073,
"predicted_AVG": 0.2498,
"predicted_BB": 0.9348,
"predicted_H": 1.1974,
"predicted_HBP": 0.15,
"predicted_HR": 0.2861,
"predicted_OBP": 0.3431,
"predicted_R": 1.2341,
"predicted_RBI": 0.933,
"predicted_SLG": 0.4806,
"predicted_SO": 1.32
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.224,
"after": 0.3756,
"delta": 0.1516,
"percent_delta": 0.6768,
"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.313,
"after": 5.8073,
"delta": 2.4943,
"percent_delta": 0.7529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2498,
"delta": 0.0088,
"percent_delta": 0.0365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.558,
"after": 0.9348,
"delta": 0.3768,
"percent_delta": 0.6753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 1.1974,
"delta": 0.8974,
"percent_delta": 2.9913,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.2861,
"delta": 0.2161,
"percent_delta": 3.0871,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3431,
"delta": 0.0211,
"percent_delta": 0.0655,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.673,
"after": 1.2341,
"delta": 0.5611,
"percent_delta": 0.8337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.933,
"delta": 0.673,
"percent_delta": 2.5885,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.4806,
"delta": 0.0246,
"percent_delta": 0.0539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 1.32,
"delta": 0.653,
"percent_delta": 0.979,
"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.313,
"after": 5.8073,
"delta": 2.4943,
"percent_delta": 0.7529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.3756,
"predicted_3B": 0.0009,
"predicted_AB": 5.8073,
"predicted_AVG": 0.2116,
"predicted_BB": 0.9434,
"predicted_H": 1.2287,
"predicted_HBP": 0.15,
"predicted_HR": 0.2931,
"predicted_OBP": 0.3218,
"predicted_R": 1.2886,
"predicted_RBI": 0.9742,
"predicted_SLG": 0.428,
"predicted_SO": 1.3079
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3756,
"after": 0.3756,
"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.8073,
"after": 5.8073,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2498,
"after": 0.2116,
"delta": -0.0382,
"percent_delta": -0.1529,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9348,
"after": 0.9434,
"delta": 0.0086,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1974,
"after": 1.2287,
"delta": 0.0313,
"percent_delta": 0.0261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.15,
"after": 0.15,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2861,
"after": 0.2931,
"delta": 0.007,
"percent_delta": 0.0245,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3431,
"after": 0.3218,
"delta": -0.0213,
"percent_delta": -0.0621,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.2341,
"after": 1.2886,
"delta": 0.0545,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.933,
"after": 0.9742,
"delta": 0.0412,
"percent_delta": 0.0442,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4806,
"after": 0.428,
"delta": -0.0526,
"percent_delta": -0.1094,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.32,
"after": 1.3079,
"delta": -0.0121,
"percent_delta": -0.0092,
"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.2341,
"after": 1.2886,
"delta": 0.0545,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4806,
"after": 0.428,
"delta": -0.0526,
"percent_delta": -0.1094,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.81), rates preserved: AVG=0.212 HR/AB=0.050",
"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.3756,
"after": 0.0,
"delta": -0.3756,
"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.8073,
"after": 6.0,
"delta": 0.1927,
"percent_delta": 0.0332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9434,
"after": 1.0,
"delta": 0.0566,
"percent_delta": 0.06,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2287,
"after": 1.0,
"delta": -0.2287,
"percent_delta": -0.1861,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"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.2931,
"after": 0.0,
"delta": -0.2931,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9742,
"after": 1.0,
"delta": 0.0258,
"percent_delta": 0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.3079,
"after": 1.0,
"delta": -0.3079,
"percent_delta": -0.2354,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 5.8073,
"after": 6.0,
"delta": 0.1927,
"percent_delta": 0.0332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3756,
"after": 0.0,
"delta": -0.3756,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.2886,
"after": 1.0,
"delta": -0.2886,
"percent_delta": -0.224,
"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.2886,
"after": 1.0,
"delta": -0.2886,
"percent_delta": -0.224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2116,
"after": 0.167,
"delta": -0.0446,
"percent_delta": -0.2108,
"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.3218,
"after": 0.286,
"delta": -0.0358,
"percent_delta": -0.1112,
"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.428,
"after": 0.167,
"delta": -0.261,
"percent_delta": -0.6098,
"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.428,
"after": 0.167,
"delta": -0.261,
"percent_delta": -0.6098,
"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": 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": 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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2116,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3218,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.428,
"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.2116,
"delta": 0.0446,
"percent_delta": 0.2669,
"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.286,
"after": 0.3218,
"delta": 0.0358,
"percent_delta": 0.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.167,
"after": 0.428,
"delta": 0.261,
"percent_delta": 1.5627,
"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.428,
"delta": 0.261,
"percent_delta": 1.5627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.224,
"after": 0.0,
"delta": -0.224,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.313,
"after": 3.0,
"delta": -0.313,
"percent_delta": -0.0945,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2116,
"delta": -0.0294,
"percent_delta": -0.122,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.558,
"after": 1.0,
"delta": 0.442,
"percent_delta": 0.7921,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 2.0,
"delta": 1.7,
"percent_delta": 5.6667,
"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.322,
"after": 0.3218,
"delta": -0.0002,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.673,
"after": 1.0,
"delta": 0.327,
"percent_delta": 0.4859,
"direction": "boost",
"projection_effect": "better",
"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.456,
"after": 0.428,
"delta": -0.028,
"percent_delta": -0.0614,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 0.0,
"delta": -0.667,
"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.3,
"after": 2.0,
"delta": 1.7,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.667,
"after": 0.0,
"delta": -0.667,
"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.224 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.313 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.558 | - |
| predicted_H | 0.300 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.673 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.456 | - |
| predicted_SO | 0.667 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.376 | 0.152 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.807 | 2.494 |
| predicted_AVG | 0.250 | 0.009 |
| predicted_BB | 0.935 | 0.377 |
| predicted_H | 1.197 | 0.897 |
| predicted_HBP | 0.150 | - |
| predicted_HR | 0.286 | 0.216 |
| predicted_OBP | 0.343 | 0.021 |
| predicted_R | 1.234 | 0.561 |
| predicted_RBI | 0.933 | 0.673 |
| predicted_SLG | 0.481 | 0.025 |
| predicted_SO | 1.320 | 0.653 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.376 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.807 | 0.000 |
| predicted_AVG | 0.212 | -0.038 |
| predicted_BB | 0.943 | 0.009 |
| predicted_H | 1.229 | 0.031 |
| predicted_HBP | 0.150 | 0.000 |
| predicted_HR | 0.293 | 0.007 |
| predicted_OBP | 0.322 | -0.021 |
| predicted_R | 1.289 | 0.054 |
| predicted_RBI | 0.974 | 0.041 |
| predicted_SLG | 0.428 | -0.053 |
| predicted_SO | 1.308 | -0.012 |
AB rounded to 6 (raw=5.81), rates preserved: AVG=0.212 HR/AB=0.050
| 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.376 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | 0.193 |
| predicted_AVG | 0.167 | -0.045 |
| predicted_BB | 1.000 | 0.057 |
| predicted_H | 1.000 | -0.229 |
| predicted_HR | 0.000 | -0.293 |
| predicted_OBP | 0.286 | -0.036 |
| predicted_R | 1.000 | -0.289 |
| predicted_RBI | 1.000 | 0.026 |
| predicted_SLG | 0.167 | -0.261 |
| predicted_SO | 1.000 | -0.308 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -3.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 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 17.000 | 5.000 | 1.000 | 0.000 | 1.000 | 5.000 | 5.000 | 2.000 | 6.000 | 0.2941 | 0.3684 | 0.5294 | 0.2941 | 0.0588 | 0.2941 | 0.1177 | 0.3529 |
| last_10 | 0.20 | 5 | - | 34.000 | 7.000 | 1.000 | 0.000 | 1.000 | 5.000 | 7.000 | 8.000 | 13.000 | 0.2059 | 0.3571 | 0.3235 | 0.2059 | 0.0294 | 0.1471 | 0.2353 | 0.3824 |
| season | 0.60 | 45 | - | 487.000 | 125.000 | 33.000 | 0.000 | 33.000 | 89.000 | 99.000 | 82.000 | 98.000 | 0.2567 | 0.3759 | 0.5277 | 0.2567 | 0.0678 | 0.1827 | 0.1684 | 0.2012 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5720 |
| predicted_3B | 0.0020 |
| predicted_AB | 9.0390 |
| predicted_AVG | 0.2611 |
| predicted_BB | 1.4230 |
| predicted_H | 2.3600 |
| predicted_HBP | 0.1500 |
| predicted_HR | 0.5660 |
| predicted_OBP | 0.3705 |
| predicted_R | 1.9610 |
| predicted_RBI | 1.8050 |
| predicted_SLG | 0.5124 |
| predicted_SO | 2.1660 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2240 | 0.5720 | 0.3756 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.3130 | 9.0390 | 5.8073 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2611 | 0.2498 | model_form_blend |
| predicted_BB | 0.5580 | 1.4230 | 0.9348 | model_form_blend |
| predicted_H | 0.3000 | 2.3600 | 1.1974 | model_form_blend |
| predicted_HBP | - | 0.1500 | 0.1500 | form_only |
| predicted_HR | 0.0700 | 0.5660 | 0.2861 | model_form_blend |
| predicted_OBP | 0.3220 | 0.3705 | 0.3431 | model_form_blend |
| predicted_R | 0.6730 | 1.9610 | 1.2341 | model_form_blend |
| predicted_RBI | 0.2600 | 1.8050 | 0.9330 | model_form_blend |
| predicted_SLG | 0.4560 | 0.5124 | 0.4806 | model_form_blend |
| predicted_SO | 0.6670 | 2.1660 | 1.3200 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 147 |
| Season rows before report date | 147 |
| Report year | 2026 |
| Profile rows used | 147 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.257 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 3B |
| gameID | 20260531_SD@WAS |
| game_type | full |
| mlbID | 678554 |
| playerID | 678554 |
| playerName | Curtis Mead |
| pos | 1B |
| started | True |
| startingPosition | 3B |
| team | WAS |
| teamID | 30 |
| game_date | 2026-05-31 |
| sl_k_percent | 16.4 |
| sl_bb_percent | 14.5 |
| sl_woba | 0.385 |
| sl_xwoba | 0.377 |
| sl_xba | 0.262 |
| sl_xslg | 0.482 |
| sl_sweet_spot_percent | 33.0 |
| sl_barrel_batted_rate | 11.7 |
| sl_hard_hit_percent | 46.6 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 15.2 |
| sl_whiff_percent | 17.5 |
| sl_swing_percent | 40.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.245 | 1.000 | 1.000 | Hitting_2B | 0.245 | 1.000 | 0.755 | 0.000 |
| predicted_3B | 0.041 | 0.000 | 0.000 | Hitting_3B | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_AB | 3.880 | 3.000 | 8.000 | Hitting_AB | 3.797 | 4.000 | -0.797 | -1.000 |
| predicted_AVG | 0.257 | 0.333 | 0.250 | Hitting_AVG | 0.299 | 0.500 | 0.034 | -0.167 |
| predicted_BB | 0.465 | 1.000 | 1.000 | Hitting_BB | 0.465 | 0.000 | 0.535 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_H | 1.000 | 1.000 | 2.000 | Hitting_H | 1.137 | 2.000 | -0.137 | -1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.199 | 0.000 | -0.199 | 0.000 |
| predicted_OBP | 0.379 | 0.500 | 0.333 | Hitting_OBP | 0.390 | 0.500 | 0.110 | 0.000 |
| predicted_R | 0.610 | 0.000 | 1.000 | Hitting_R | 0.610 | 0.000 | -0.610 | 0.000 |
| predicted_RBI | 0.600 | 0.000 | 2.000 | Hitting_RBI | 0.855 | 0.000 | -0.855 | 0.000 |
| predicted_SLG | 0.473 | 0.667 | 0.375 | Hitting_SLG | 0.543 | 0.750 | 0.123 | -0.083 |
| predicted_SO | 0.884 | 0.000 | 2.000 | Hitting_SO | 0.884 | 0.000 | -0.884 | 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.2450 -> 1.0000 (boost 0.7550, better) |
| Biggest Deboost | predicted_SO: 0.8840 -> 0.0000 (deboost -0.8840, 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.8800 -> 7.6911 (boost 3.8111, 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.4315 -> 1.4948 (boost 0.0633, better) | predicted_OBP: 0.4027 -> 0.3944 (deboost -0.0083, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 5 | 3 | 4 | 4 | predicted_H: 2.4572 -> 3.0000 (boost 0.5428, better) | predicted_HBP: 0.8960 -> 0.0000 (deboost -0.8960, worse) | AB rounded to 8 (raw=7.69), rates preserved: AVG=0.319 HR/AB=0.041 |
| 5 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.188) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2103 -> 1.0000 (deboost -0.2103, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5437 -> 0.3750 (deboost -0.1687, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 8.0000 -> 3.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.3750 -> 0.5437 (boost 0.1687, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682928",
"player_name": "CJ Abrams",
"position": "SS",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.245,
"predicted_3B": 0.041,
"predicted_AB": 3.88,
"predicted_AVG": 0.257,
"predicted_BB": 0.465,
"predicted_H": 1.0,
"predicted_HR": 0.16,
"predicted_OBP": 0.379,
"predicted_R": 0.61,
"predicted_RBI": 0.6,
"predicted_SLG": 0.473,
"predicted_SO": 0.884
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.6491,
"predicted_3B": 0.0675,
"predicted_AB": 7.6911,
"predicted_AVG": 0.2903,
"predicted_BB": 0.9424,
"predicted_H": 2.3947,
"predicted_HBP": 0.896,
"predicted_HR": 0.3059,
"predicted_OBP": 0.4027,
"predicted_R": 1.1591,
"predicted_RBI": 1.4315,
"predicted_SLG": 0.5109,
"predicted_SO": 1.7186
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.245,
"after": 0.6491,
"delta": 0.4041,
"percent_delta": 1.6494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.041,
"after": 0.0675,
"delta": 0.0265,
"percent_delta": 0.6463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.88,
"after": 7.6911,
"delta": 3.8111,
"percent_delta": 0.9822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2903,
"delta": 0.0333,
"percent_delta": 0.1296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.465,
"after": 0.9424,
"delta": 0.4774,
"percent_delta": 1.0267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.3947,
"delta": 1.3947,
"percent_delta": 1.3947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.3059,
"delta": 0.1459,
"percent_delta": 0.9119,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.379,
"after": 0.4027,
"delta": 0.0237,
"percent_delta": 0.0625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.61,
"after": 1.1591,
"delta": 0.5491,
"percent_delta": 0.9002,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 1.4315,
"delta": 0.8315,
"percent_delta": 1.3858,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.473,
"after": 0.5109,
"delta": 0.0379,
"percent_delta": 0.0801,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.884,
"after": 1.7186,
"delta": 0.8346,
"percent_delta": 0.9441,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.88,
"after": 7.6911,
"delta": 3.8111,
"percent_delta": 0.9822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 59
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.6491,
"predicted_3B": 0.0675,
"predicted_AB": 7.6911,
"predicted_AVG": 0.3195,
"predicted_BB": 0.9511,
"predicted_H": 2.4572,
"predicted_HBP": 0.896,
"predicted_HR": 0.3134,
"predicted_OBP": 0.3944,
"predicted_R": 1.2103,
"predicted_RBI": 1.4948,
"predicted_SLG": 0.5437,
"predicted_SO": 1.7028
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6491,
"after": 0.6491,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0675,
"after": 0.0675,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.6911,
"after": 7.6911,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2903,
"after": 0.3195,
"delta": 0.0292,
"percent_delta": 0.1006,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9424,
"after": 0.9511,
"delta": 0.0087,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.3947,
"after": 2.4572,
"delta": 0.0625,
"percent_delta": 0.0261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.896,
"after": 0.896,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3059,
"after": 0.3134,
"delta": 0.0075,
"percent_delta": 0.0245,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4027,
"after": 0.3944,
"delta": -0.0083,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1591,
"after": 1.2103,
"delta": 0.0512,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4315,
"after": 1.4948,
"delta": 0.0633,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5109,
"after": 0.5437,
"delta": 0.0328,
"percent_delta": 0.0642,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7186,
"after": 1.7028,
"delta": -0.0158,
"percent_delta": -0.0092,
"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.4315,
"after": 1.4948,
"delta": 0.0633,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4027,
"after": 0.3944,
"delta": -0.0083,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.69), rates preserved: AVG=0.319 HR/AB=0.041",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6491,
"after": 1.0,
"delta": 0.3509,
"percent_delta": 0.5406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0675,
"after": 0.0,
"delta": -0.0675,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.6911,
"after": 8.0,
"delta": 0.3089,
"percent_delta": 0.0402,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9511,
"after": 1.0,
"delta": 0.0489,
"percent_delta": 0.0514,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.4572,
"after": 3.0,
"delta": 0.5428,
"percent_delta": 0.2209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.896,
"after": 0.0,
"delta": -0.896,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3134,
"after": 0.0,
"delta": -0.3134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4948,
"after": 2.0,
"delta": 0.5052,
"percent_delta": 0.338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7028,
"after": 2.0,
"delta": 0.2972,
"percent_delta": 0.1745,
"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_H",
"before": 2.4572,
"after": 3.0,
"delta": 0.5428,
"percent_delta": 0.2209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.896,
"after": 0.0,
"delta": -0.896,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.188)",
"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": 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": 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": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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": 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": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"model_expectation": 0.8609,
"bvp": 0.1391
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 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": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.2103,
"after": 1.0,
"delta": -0.2103,
"percent_delta": -0.1738,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.2103,
"after": 1.0,
"delta": -0.2103,
"percent_delta": -0.1738,
"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": 2.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.3195,
"after": 0.25,
"delta": -0.0695,
"percent_delta": -0.2175,
"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.3944,
"after": 0.333,
"delta": -0.0614,
"percent_delta": -0.1557,
"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.5437,
"after": 0.375,
"delta": -0.1687,
"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": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5437,
"after": 0.375,
"delta": -0.1687,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 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": 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": 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": 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": 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.3195,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3944,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5437,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.3195,
"delta": 0.0695,
"percent_delta": 0.2779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3944,
"delta": 0.0614,
"percent_delta": 0.1843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.5437,
"delta": 0.1687,
"percent_delta": 0.4498,
"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.5437,
"delta": 0.1687,
"percent_delta": 0.4498,
"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.245,
"after": 1.0,
"delta": 0.755,
"percent_delta": 3.0816,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.041,
"after": 0.0,
"delta": -0.041,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.88,
"after": 3.0,
"delta": -0.88,
"percent_delta": -0.2268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.3195,
"delta": 0.0625,
"percent_delta": 0.2432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.465,
"after": 1.0,
"delta": 0.535,
"percent_delta": 1.1505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.379,
"after": 0.3944,
"delta": 0.0154,
"percent_delta": 0.0406,
"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.6,
"after": 0.0,
"delta": -0.6,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.473,
"after": 0.5437,
"delta": 0.0707,
"percent_delta": 0.1495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.884,
"after": 0.0,
"delta": -0.884,
"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.245,
"after": 1.0,
"delta": 0.755,
"percent_delta": 3.0816,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.884,
"after": 0.0,
"delta": -0.884,
"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.245 | - |
| predicted_3B | 0.041 | - |
| predicted_AB | 3.880 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.465 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.379 | - |
| predicted_R | 0.610 | - |
| predicted_RBI | 0.600 | - |
| predicted_SLG | 0.473 | - |
| predicted_SO | 0.884 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.649 | 0.404 |
| predicted_3B | 0.068 | 0.027 |
| predicted_AB | 7.691 | 3.811 |
| predicted_AVG | 0.290 | 0.033 |
| predicted_BB | 0.942 | 0.477 |
| predicted_H | 2.395 | 1.395 |
| predicted_HBP | 0.896 | - |
| predicted_HR | 0.306 | 0.146 |
| predicted_OBP | 0.403 | 0.024 |
| predicted_R | 1.159 | 0.549 |
| predicted_RBI | 1.431 | 0.832 |
| predicted_SLG | 0.511 | 0.038 |
| predicted_SO | 1.719 | 0.835 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.649 | 0.000 |
| predicted_3B | 0.068 | 0.000 |
| predicted_AB | 7.691 | 0.000 |
| predicted_AVG | 0.320 | 0.029 |
| predicted_BB | 0.951 | 0.009 |
| predicted_H | 2.457 | 0.062 |
| predicted_HBP | 0.896 | 0.000 |
| predicted_HR | 0.313 | 0.008 |
| predicted_OBP | 0.394 | -0.008 |
| predicted_R | 1.210 | 0.051 |
| predicted_RBI | 1.495 | 0.063 |
| predicted_SLG | 0.544 | 0.033 |
| predicted_SO | 1.703 | -0.016 |
AB rounded to 8 (raw=7.69), rates preserved: AVG=0.319 HR/AB=0.041
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 3.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 2.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.188)
| 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 | -1.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 | 8.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 2.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 1.000 | 0.351 |
| predicted_3B | 0.000 | -0.068 |
| predicted_AB | 8.000 | 0.309 |
| predicted_AVG | 0.250 | -0.070 |
| predicted_BB | 1.000 | 0.049 |
| predicted_H | 2.000 | -0.457 |
| predicted_HR | 0.000 | -0.313 |
| predicted_OBP | 0.333 | -0.061 |
| predicted_R | 1.000 | -0.210 |
| predicted_RBI | 2.000 | 0.505 |
| predicted_SLG | 0.375 | -0.169 |
| predicted_SO | 2.000 | 0.297 |
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 | -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 | -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 | 4 | - | 16.000 | 7.000 | 3.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 3.000 | 0.4375 | 0.5714 | 0.6250 | 0.4375 | 0.0000 | 0.1250 | 0.1250 | 0.1875 |
| last_10 | 0.20 | 5 | - | 31.000 | 14.000 | 5.000 | 0.000 | 0.000 | 4.000 | 2.000 | 5.000 | 6.000 | 0.4516 | 0.5854 | 0.6129 | 0.4516 | 0.0000 | 0.1290 | 0.1613 | 0.1935 |
| season | 0.60 | 59 | - | 915.000 | 274.000 | 59.000 | 10.000 | 48.000 | 206.000 | 147.000 | 112.000 | 213.000 | 0.2995 | 0.3900 | 0.5432 | 0.2994 | 0.0525 | 0.2251 | 0.1224 | 0.2328 |
| Metric | Value |
|---|---|
| predicted_2B | 1.1590 |
| predicted_3B | 0.1010 |
| predicted_AB | 12.5010 |
| predicted_AVG | 0.3324 |
| predicted_BB | 1.5450 |
| predicted_H | 4.1550 |
| predicted_HBP | 0.8960 |
| predicted_HR | 0.4900 |
| predicted_OBP | 0.4327 |
| predicted_R | 1.8520 |
| predicted_RBI | 2.4810 |
| predicted_SLG | 0.5588 |
| predicted_SO | 2.7720 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2450 | 1.1590 | 0.6491 | model_form_blend |
| predicted_3B | 0.0410 | 0.1010 | 0.0675 | model_form_blend |
| predicted_AB | 3.8800 | 12.5010 | 7.6911 | model_form_blend |
| predicted_AVG | 0.2570 | 0.3324 | 0.2903 | model_form_blend |
| predicted_BB | 0.4650 | 1.5450 | 0.9424 | model_form_blend |
| predicted_H | 1.0000 | 4.1550 | 2.3947 | model_form_blend |
| predicted_HBP | - | 0.8960 | 0.8960 | form_only |
| predicted_HR | 0.1600 | 0.4900 | 0.3059 | model_form_blend |
| predicted_OBP | 0.3790 | 0.4327 | 0.4027 | model_form_blend |
| predicted_R | 0.6100 | 1.8520 | 1.1591 | model_form_blend |
| predicted_RBI | 0.6000 | 2.4810 | 1.4315 | model_form_blend |
| predicted_SLG | 0.4730 | 0.5588 | 0.5109 | model_form_blend |
| predicted_SO | 0.8840 | 2.7720 | 1.7186 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 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 | 4 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| 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 | SS |
| gameID | 20260531_SD@WAS |
| game_type | full |
| mlbID | 682928 |
| playerID | 682928 |
| playerName | CJ Abrams |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | WAS |
| teamID | 30 |
| game_date | 2026-05-31 |
| sl_k_percent | 20.1 |
| sl_bb_percent | 10.8 |
| sl_woba | 0.401 |
| sl_xwoba | 0.374 |
| sl_xba | 0.272 |
| sl_xslg | 0.479 |
| sl_sweet_spot_percent | 34.4 |
| sl_barrel_batted_rate | 11.1 |
| sl_hard_hit_percent | 41.1 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 16.3 |
| sl_whiff_percent | 28.7 |
| sl_swing_percent | 49.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.381 | 0.000 | 1.000 | Hitting_2B | 0.377 | 0.000 | -0.377 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.513 | 4.000 | 6.000 | Hitting_AB | 3.482 | 3.000 | 0.518 | 1.000 |
| predicted_AVG | 0.274 | 0.250 | 0.333 | Hitting_AVG | 0.262 | 0.667 | -0.012 | -0.417 |
| predicted_BB | 0.071 | 0.000 | 0.000 | Hitting_BB | 0.070 | 0.000 | -0.070 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_H | 0.810 | 1.000 | 2.000 | Hitting_H | 0.912 | 2.000 | 0.088 | -1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.158 | 0.000 | -0.158 | 0.000 |
| predicted_OBP | 0.328 | 0.250 | 0.333 | Hitting_OBP | 0.278 | 0.667 | -0.028 | -0.417 |
| predicted_R | 0.487 | 1.000 | 1.000 | Hitting_R | 0.482 | 1.000 | 0.518 | 0.000 |
| predicted_RBI | 0.550 | 1.000 | 1.000 | Hitting_RBI | 0.798 | 0.000 | 0.202 | 1.000 |
| predicted_SLG | 0.488 | 0.250 | 0.500 | Hitting_SLG | 0.506 | 0.667 | -0.256 | -0.417 |
| predicted_SO | 0.619 | 1.000 | 1.000 | Hitting_SO | 0.614 | 0.000 | 0.386 | 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 | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_R: 0.4870 -> 1.0000 (boost 0.5130, better) |
| Biggest Deboost | predicted_2B: 0.3810 -> 0.0000 (deboost -0.3810, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.5130 -> 6.3156 (boost 2.8026, 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_RBI: 1.3625 -> 1.4227 (boost 0.0602, better) | predicted_OBP: 0.3240 -> 0.3011 (deboost -0.0229, 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.5755 -> 1.0000 (boost 0.4245, better) | predicted_RBI: 1.4227 -> 1.0000 (deboost -0.4227, worse) | AB rounded to 6 (raw=6.32), rates preserved: AVG=0.287 HR/AB=0.043 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=20.0, weight=0.160, BvP AVG=0.300) |
| 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.2869 -> 0.3330 (boost 0.0461, better) | predicted_SLG: 0.5083 -> 0.5000 (deboost -0.0083, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.5000 -> 0.5083 (boost 0.0083, better) | predicted_AVG: 0.3330 -> 0.2869 (deboost -0.0461, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "660688",
"player_name": "Keibert Ruiz",
"position": "C",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.381,
"predicted_3B": 0.0,
"predicted_AB": 3.513,
"predicted_AVG": 0.274,
"predicted_BB": 0.071,
"predicted_H": 0.81,
"predicted_HR": 0.13,
"predicted_OBP": 0.328,
"predicted_R": 0.487,
"predicted_RBI": 0.55,
"predicted_SLG": 0.488,
"predicted_SO": 0.619
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.5755,
"predicted_3B": 0.0013,
"predicted_AB": 6.3156,
"predicted_AVG": 0.2862,
"predicted_BB": 0.1269,
"predicted_H": 1.7659,
"predicted_HBP": 0.081,
"predicted_HR": 0.2669,
"predicted_OBP": 0.324,
"predicted_R": 0.9544,
"predicted_RBI": 1.3625,
"predicted_SLG": 0.5017,
"predicted_SO": 1.1376
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.381,
"after": 0.5755,
"delta": 0.1945,
"percent_delta": 0.5105,
"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.513,
"after": 6.3156,
"delta": 2.8026,
"percent_delta": 0.7978,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2862,
"delta": 0.0122,
"percent_delta": 0.0445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.071,
"after": 0.1269,
"delta": 0.0559,
"percent_delta": 0.7873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 1.7659,
"delta": 0.9559,
"percent_delta": 1.1801,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.2669,
"delta": 0.1369,
"percent_delta": 1.0531,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.324,
"delta": -0.004,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.487,
"after": 0.9544,
"delta": 0.4674,
"percent_delta": 0.9598,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 1.3625,
"delta": 0.8125,
"percent_delta": 1.4773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.488,
"after": 0.5017,
"delta": 0.0137,
"percent_delta": 0.0281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.619,
"after": 1.1376,
"delta": 0.5186,
"percent_delta": 0.8378,
"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.513,
"after": 6.3156,
"delta": 2.8026,
"percent_delta": 0.7978,
"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": 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.5755,
"predicted_3B": 0.0013,
"predicted_AB": 6.3156,
"predicted_AVG": 0.2869,
"predicted_BB": 0.1281,
"predicted_H": 1.812,
"predicted_HBP": 0.081,
"predicted_HR": 0.2734,
"predicted_OBP": 0.3011,
"predicted_R": 0.9966,
"predicted_RBI": 1.4227,
"predicted_SLG": 0.5083,
"predicted_SO": 1.1271
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5755,
"after": 0.5755,
"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.3156,
"after": 6.3156,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2862,
"after": 0.2869,
"delta": 0.0007,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1269,
"after": 0.1281,
"delta": 0.0012,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7659,
"after": 1.812,
"delta": 0.0461,
"percent_delta": 0.0261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.081,
"after": 0.081,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2669,
"after": 0.2734,
"delta": 0.0065,
"percent_delta": 0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3011,
"delta": -0.0229,
"percent_delta": -0.0707,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9544,
"after": 0.9966,
"delta": 0.0422,
"percent_delta": 0.0442,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.3625,
"after": 1.4227,
"delta": 0.0602,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5017,
"after": 0.5083,
"delta": 0.0066,
"percent_delta": 0.0132,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1376,
"after": 1.1271,
"delta": -0.0105,
"percent_delta": -0.0092,
"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.3625,
"after": 1.4227,
"delta": 0.0602,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3011,
"delta": -0.0229,
"percent_delta": -0.0707,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.32), rates preserved: AVG=0.287 HR/AB=0.043",
"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.5755,
"after": 1.0,
"delta": 0.4245,
"percent_delta": 0.7376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0013,
"after": 0.0,
"delta": -0.0013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.3156,
"after": 6.0,
"delta": -0.3156,
"percent_delta": -0.05,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1281,
"after": 0.0,
"delta": -0.1281,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.812,
"after": 2.0,
"delta": 0.188,
"percent_delta": 0.1038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.081,
"after": 0.0,
"delta": -0.081,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2734,
"after": 0.0,
"delta": -0.2734,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4227,
"after": 1.0,
"delta": -0.4227,
"percent_delta": -0.2971,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1271,
"after": 1.0,
"delta": -0.1271,
"percent_delta": -0.1128,
"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.5755,
"after": 1.0,
"delta": 0.4245,
"percent_delta": 0.7376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.4227,
"after": 1.0,
"delta": -0.4227,
"percent_delta": -0.2971,
"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.300)",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 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_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.84,
"bvp": 0.16
},
"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": 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": 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.9966,
"after": 1.0,
"delta": 0.0034,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 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": 1.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.2869,
"after": 0.333,
"delta": 0.0461,
"percent_delta": 0.1607,
"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.3011,
"after": 0.333,
"delta": 0.0319,
"percent_delta": 0.1059,
"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.5083,
"after": 0.5,
"delta": -0.0083,
"percent_delta": -0.0163,
"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.2869,
"after": 0.333,
"delta": 0.0461,
"percent_delta": 0.1607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5083,
"after": 0.5,
"delta": -0.0083,
"percent_delta": -0.0163,
"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": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2869,
"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.3011,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5083,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2869,
"delta": -0.0461,
"percent_delta": -0.1384,
"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.3011,
"delta": -0.0319,
"percent_delta": -0.0959,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.5083,
"delta": 0.0083,
"percent_delta": 0.0167,
"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.5,
"after": 0.5083,
"delta": 0.0083,
"percent_delta": 0.0167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2869,
"delta": -0.0461,
"percent_delta": -0.1384,
"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.381,
"after": 0.0,
"delta": -0.381,
"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.513,
"after": 4.0,
"delta": 0.487,
"percent_delta": 0.1386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2869,
"delta": 0.0129,
"percent_delta": 0.0471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.071,
"after": 0.0,
"delta": -0.071,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 1.0,
"delta": 0.19,
"percent_delta": 0.2346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3011,
"delta": -0.0269,
"percent_delta": -0.082,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.487,
"after": 1.0,
"delta": 0.513,
"percent_delta": 1.0534,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 1.0,
"delta": 0.45,
"percent_delta": 0.8182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.488,
"after": 0.5083,
"delta": 0.0203,
"percent_delta": 0.0416,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.619,
"after": 1.0,
"delta": 0.381,
"percent_delta": 0.6155,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.487,
"after": 1.0,
"delta": 0.513,
"percent_delta": 1.0534,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.381,
"after": 0.0,
"delta": -0.381,
"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.381 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.513 | - |
| predicted_AVG | 0.274 | - |
| predicted_BB | 0.071 | - |
| predicted_H | 0.810 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.328 | - |
| predicted_R | 0.487 | - |
| predicted_RBI | 0.550 | - |
| predicted_SLG | 0.488 | - |
| predicted_SO | 0.619 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.576 | 0.195 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.316 | 2.803 |
| predicted_AVG | 0.286 | 0.012 |
| predicted_BB | 0.127 | 0.056 |
| predicted_H | 1.766 | 0.956 |
| predicted_HBP | 0.081 | - |
| predicted_HR | 0.267 | 0.137 |
| predicted_OBP | 0.324 | -0.004 |
| predicted_R | 0.954 | 0.467 |
| predicted_RBI | 1.363 | 0.812 |
| predicted_SLG | 0.502 | 0.014 |
| predicted_SO | 1.138 | 0.519 |
Step 3: 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.001 | 0.000 |
| predicted_AB | 6.316 | 0.000 |
| predicted_AVG | 0.287 | 0.001 |
| predicted_BB | 0.128 | 0.001 |
| predicted_H | 1.812 | 0.046 |
| predicted_HBP | 0.081 | 0.000 |
| predicted_HR | 0.273 | 0.006 |
| predicted_OBP | 0.301 | -0.023 |
| predicted_R | 0.997 | 0.042 |
| predicted_RBI | 1.423 | 0.060 |
| predicted_SLG | 0.508 | 0.007 |
| predicted_SO | 1.127 | -0.010 |
AB rounded to 6 (raw=6.32), rates preserved: AVG=0.287 HR/AB=0.043
| 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 | - |
Sample-size BvP blend (BvP AB=20.0, weight=0.160, BvP AVG=0.300)
| 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 |
| H | 2.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 1.000 | 0.424 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | -0.316 |
| predicted_AVG | 0.333 | 0.046 |
| predicted_BB | 0.000 | -0.128 |
| predicted_H | 2.000 | 0.188 |
| predicted_HR | 0.000 | -0.273 |
| predicted_OBP | 0.333 | 0.032 |
| predicted_R | 1.000 | 0.003 |
| predicted_RBI | 1.000 | -0.423 |
| predicted_SLG | 0.500 | -0.008 |
| predicted_SO | 1.000 | -0.127 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 3 | - | 19.000 | 10.000 | 0.000 | 0.000 | 1.000 | 7.000 | 5.000 | 0.000 | 4.000 | 0.5263 | 0.5263 | 0.6842 | 0.5263 | 0.0526 | 0.3684 | 0.0000 | 0.2105 |
| last_10 | 0.20 | 4 | - | 39.000 | 12.000 | 0.000 | 0.000 | 1.000 | 9.000 | 6.000 | 0.000 | 5.000 | 0.3077 | 0.3077 | 0.3846 | 0.3077 | 0.0256 | 0.2308 | 0.0000 | 0.1282 |
| season | 0.60 | 35 | - | 397.000 | 104.000 | 43.000 | 0.000 | 18.000 | 91.000 | 55.000 | 8.000 | 70.000 | 0.2620 | 0.2782 | 0.5063 | 0.2620 | 0.0453 | 0.2292 | 0.0202 | 0.1763 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8330 |
| predicted_3B | 0.0030 |
| predicted_AB | 10.0250 |
| predicted_AVG | 0.3024 |
| predicted_BB | 0.2010 |
| predicted_H | 3.0310 |
| predicted_HBP | 0.0810 |
| predicted_HR | 0.4480 |
| predicted_OBP | 0.3186 |
| predicted_R | 1.5730 |
| predicted_RBI | 2.4380 |
| predicted_SLG | 0.5199 |
| predicted_SO | 1.8240 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3810 | 0.8330 | 0.5755 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.5130 | 10.0250 | 6.3156 | model_form_blend |
| predicted_AVG | 0.2740 | 0.3024 | 0.2862 | model_form_blend |
| predicted_BB | 0.0710 | 0.2010 | 0.1269 | model_form_blend |
| predicted_H | 0.8100 | 3.0310 | 1.7659 | model_form_blend |
| predicted_HBP | - | 0.0810 | 0.0810 | form_only |
| predicted_HR | 0.1300 | 0.4480 | 0.2669 | model_form_blend |
| predicted_OBP | 0.3280 | 0.3186 | 0.3240 | model_form_blend |
| predicted_R | 0.4870 | 1.5730 | 0.9544 | model_form_blend |
| predicted_RBI | 0.5500 | 2.4380 | 1.3625 | model_form_blend |
| predicted_SLG | 0.4880 | 0.5199 | 0.5017 | model_form_blend |
| predicted_SO | 0.6190 | 1.8240 | 1.1376 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 114 |
| Season rows before report date | 114 |
| Report year | 2026 |
| Profile rows used | 113 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| 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 | 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 | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260531_SD@WAS |
| game_type | full |
| mlbID | 660688 |
| playerID | 660688 |
| playerName | Keibert Ruiz |
| pos | C |
| started | True |
| startingPosition | C |
| team | WAS |
| teamID | 30 |
| game_date | 2026-05-31 |
| sl_k_percent | 15.5 |
| sl_bb_percent | 1.7 |
| sl_woba | 0.341 |
| sl_xwoba | 0.256 |
| sl_xba | 0.213 |
| sl_xslg | 0.359 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 42.1 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 16.8 |
| sl_whiff_percent | 14.6 |
| sl_swing_percent | 48.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.088 | 0.000 | 0.000 | Hitting_2B | 0.085 | 0.000 | -0.085 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.768 | 4.000 | 7.000 | Hitting_AB | 3.655 | 3.000 | 0.345 | 1.000 |
| predicted_AVG | 0.248 | 0.000 | 0.143 | Hitting_AVG | 0.234 | 0.000 | -0.234 | 0.000 |
| predicted_BB | 0.216 | 0.000 | 0.000 | Hitting_BB | 0.210 | 1.000 | -0.210 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 0.800 | 0.000 | 1.000 | Hitting_H | 0.855 | 0.000 | -0.855 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.120 | 0.000 | -0.120 | 0.000 |
| predicted_OBP | 0.310 | 0.000 | 0.143 | Hitting_OBP | 0.288 | 0.250 | -0.288 | -0.250 |
| predicted_R | 0.552 | 0.000 | 1.000 | Hitting_R | 0.535 | 0.000 | -0.535 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 1.000 | Hitting_RBI | 0.455 | 0.000 | -0.455 | 0.000 |
| predicted_SLG | 0.413 | 0.000 | 0.143 | Hitting_SLG | 0.356 | 0.000 | -0.356 | 0.000 |
| predicted_SO | 0.639 | 0.000 | 1.000 | Hitting_SO | 0.620 | 0.000 | -0.620 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 3.7680 -> 4.0000 (boost 0.2320, better) |
| 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 | 8 | 3 | 7 | 4 | predicted_AB: 3.7680 -> 7.2200 (boost 3.4520, better) | predicted_SLG: 0.4130 -> 0.3680 (deboost -0.0450, 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.3680 -> 0.3290 (deboost -0.0390, 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_H: 1.5519 -> 2.0000 (boost 0.4481, better) | predicted_BB: 0.4866 -> 0.0000 (deboost -0.4866, worse) | AB rounded to 7 (raw=7.22), rates preserved: AVG=0.215 HR/AB=0.031 |
| 5 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 2.0000 -> 1.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125) |
| 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.3290 -> 0.1430 (deboost -0.1860, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1430 -> 0.3290 (boost 0.1860, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "696285",
"player_name": "Jacob Young",
"position": "CF",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is 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.768,
"predicted_AVG": 0.248,
"predicted_BB": 0.216,
"predicted_H": 0.8,
"predicted_HR": 0.14,
"predicted_OBP": 0.31,
"predicted_R": 0.552,
"predicted_RBI": 0.44,
"predicted_SLG": 0.413,
"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.1442,
"predicted_3B": 0.0009,
"predicted_AB": 7.22,
"predicted_AVG": 0.2306,
"predicted_BB": 0.4822,
"predicted_H": 1.5124,
"predicted_HBP": 0.153,
"predicted_HR": 0.2204,
"predicted_OBP": 0.2926,
"predicted_R": 0.9605,
"predicted_RBI": 0.8125,
"predicted_SLG": 0.368,
"predicted_SO": 1.1072
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.088,
"after": 0.1442,
"delta": 0.0562,
"percent_delta": 0.6386,
"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.768,
"after": 7.22,
"delta": 3.452,
"percent_delta": 0.9161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2306,
"delta": -0.0174,
"percent_delta": -0.0702,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.216,
"after": 0.4822,
"delta": 0.2662,
"percent_delta": 1.2324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 1.5124,
"delta": 0.7124,
"percent_delta": 0.8905,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.2204,
"delta": 0.0804,
"percent_delta": 0.5743,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.2926,
"delta": -0.0174,
"percent_delta": -0.0561,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.552,
"after": 0.9605,
"delta": 0.4085,
"percent_delta": 0.74,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.8125,
"delta": 0.3725,
"percent_delta": 0.8466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.368,
"delta": -0.045,
"percent_delta": -0.109,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.639,
"after": 1.1072,
"delta": 0.4682,
"percent_delta": 0.7327,
"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.768,
"after": 7.22,
"delta": 3.452,
"percent_delta": 0.9161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.368,
"delta": -0.045,
"percent_delta": -0.109,
"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": 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.1442,
"predicted_3B": 0.0009,
"predicted_AB": 7.22,
"predicted_AVG": 0.2149,
"predicted_BB": 0.4866,
"predicted_H": 1.5519,
"predicted_HBP": 0.153,
"predicted_HR": 0.2258,
"predicted_OBP": 0.2645,
"predicted_R": 1.003,
"predicted_RBI": 0.8484,
"predicted_SLG": 0.329,
"predicted_SO": 1.097
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1442,
"after": 0.1442,
"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.22,
"after": 7.22,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2306,
"after": 0.2149,
"delta": -0.0157,
"percent_delta": -0.0681,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4822,
"after": 0.4866,
"delta": 0.0044,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5124,
"after": 1.5519,
"delta": 0.0395,
"percent_delta": 0.0261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.153,
"after": 0.153,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2204,
"after": 0.2258,
"delta": 0.0054,
"percent_delta": 0.0245,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2926,
"after": 0.2645,
"delta": -0.0281,
"percent_delta": -0.096,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9605,
"after": 1.003,
"delta": 0.0425,
"percent_delta": 0.0442,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8125,
"after": 0.8484,
"delta": 0.0359,
"percent_delta": 0.0442,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.368,
"after": 0.329,
"delta": -0.039,
"percent_delta": -0.106,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1072,
"after": 1.097,
"delta": -0.0102,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.368,
"after": 0.329,
"delta": -0.039,
"percent_delta": -0.106,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.22), rates preserved: AVG=0.215 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1442,
"after": 0.0,
"delta": -0.1442,
"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.22,
"after": 7.0,
"delta": -0.22,
"percent_delta": -0.0305,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4866,
"after": 0.0,
"delta": -0.4866,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.5519,
"after": 2.0,
"delta": 0.4481,
"percent_delta": 0.2887,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.153,
"after": 0.0,
"delta": -0.153,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2258,
"after": 0.0,
"delta": -0.2258,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8484,
"after": 1.0,
"delta": 0.1516,
"percent_delta": 0.1787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.097,
"after": 1.0,
"delta": -0.097,
"percent_delta": -0.0884,
"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": 1.5519,
"after": 2.0,
"delta": 0.4481,
"percent_delta": 0.2887,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"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": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 0.0,
"predicted_H": 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": 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.9158,
"bvp": 0.0842
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 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": 1.003,
"after": 1.0,
"delta": -0.003,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.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.2149,
"after": 0.143,
"delta": -0.0719,
"percent_delta": -0.3346,
"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.2645,
"after": 0.143,
"delta": -0.1215,
"percent_delta": -0.4594,
"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.329,
"after": 0.143,
"delta": -0.186,
"percent_delta": -0.5653,
"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.329,
"after": 0.143,
"delta": -0.186,
"percent_delta": -0.5653,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2149,
"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.2645,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.329,
"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.2149,
"delta": 0.0719,
"percent_delta": 0.5031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.143,
"after": 0.2645,
"delta": 0.1215,
"percent_delta": 0.8497,
"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.329,
"delta": 0.186,
"percent_delta": 1.3006,
"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.329,
"delta": 0.186,
"percent_delta": 1.3006,
"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.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.768,
"after": 4.0,
"delta": 0.232,
"percent_delta": 0.0616,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2149,
"delta": -0.0331,
"percent_delta": -0.1335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.216,
"after": 0.0,
"delta": -0.216,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 0.0,
"delta": -0.8,
"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.31,
"after": 0.2645,
"delta": -0.0455,
"percent_delta": -0.1468,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.552,
"after": 0.0,
"delta": -0.552,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.329,
"delta": -0.084,
"percent_delta": -0.2034,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.639,
"after": 0.0,
"delta": -0.639,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.768,
"after": 4.0,
"delta": 0.232,
"percent_delta": 0.0616,
"direction": "boost",
"projection_effect": "better",
"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.088 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.768 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.216 | - |
| predicted_H | 0.800 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.310 | - |
| predicted_R | 0.552 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.413 | - |
| 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.144 | 0.056 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 7.220 | 3.452 |
| predicted_AVG | 0.231 | -0.017 |
| predicted_BB | 0.482 | 0.266 |
| predicted_H | 1.512 | 0.712 |
| predicted_HBP | 0.153 | - |
| predicted_HR | 0.220 | 0.080 |
| predicted_OBP | 0.293 | -0.017 |
| predicted_R | 0.961 | 0.408 |
| predicted_RBI | 0.812 | 0.372 |
| predicted_SLG | 0.368 | -0.045 |
| predicted_SO | 1.107 | 0.468 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.144 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 7.220 | 0.000 |
| predicted_AVG | 0.215 | -0.016 |
| predicted_BB | 0.487 | 0.004 |
| predicted_H | 1.552 | 0.040 |
| predicted_HBP | 0.153 | 0.000 |
| predicted_HR | 0.226 | 0.005 |
| predicted_OBP | 0.265 | -0.028 |
| predicted_R | 1.003 | 0.042 |
| predicted_RBI | 0.848 | 0.036 |
| predicted_SLG | 0.329 | -0.039 |
| predicted_SO | 1.097 | -0.010 |
AB rounded to 7 (raw=7.22), rates preserved: AVG=0.215 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 | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.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 | 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.144 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | -0.220 |
| predicted_AVG | 0.143 | -0.072 |
| predicted_BB | 0.000 | -0.487 |
| predicted_H | 1.000 | -0.552 |
| predicted_HR | 0.000 | -0.226 |
| predicted_OBP | 0.143 | -0.122 |
| predicted_R | 1.000 | -0.003 |
| predicted_RBI | 1.000 | 0.152 |
| predicted_SLG | 0.143 | -0.186 |
| predicted_SO | 1.000 | -0.097 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | - | 14.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 2.000 | 1.000 | 0.0714 | 0.1875 | 0.0714 | 0.0714 | 0.0000 | 0.0714 | 0.1429 | 0.0714 |
| last_10 | 0.20 | 5 | - | 34.000 | 7.000 | 0.000 | 0.000 | 1.000 | 2.000 | 6.000 | 2.000 | 2.000 | 0.2059 | 0.2500 | 0.2941 | 0.2059 | 0.0294 | 0.0588 | 0.0588 | 0.0588 |
| season | 0.60 | 52 | - | 731.000 | 171.000 | 17.000 | 0.000 | 24.000 | 91.000 | 107.000 | 42.000 | 124.000 | 0.2339 | 0.2875 | 0.3557 | 0.2339 | 0.0328 | 0.1245 | 0.0575 | 0.1696 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2160 |
| predicted_3B | 0.0020 |
| predicted_AB | 11.6270 |
| predicted_AVG | 0.2083 |
| predicted_BB | 0.8220 |
| predicted_H | 2.4220 |
| predicted_HBP | 0.1530 |
| predicted_HR | 0.3230 |
| predicted_OBP | 0.2704 |
| predicted_R | 1.4820 |
| predicted_RBI | 1.2880 |
| predicted_SLG | 0.3106 |
| predicted_SO | 1.7050 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0880 | 0.2160 | 0.1442 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.7680 | 11.6270 | 7.2200 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2083 | 0.2306 | model_form_blend |
| predicted_BB | 0.2160 | 0.8220 | 0.4822 | model_form_blend |
| predicted_H | 0.8000 | 2.4220 | 1.5124 | model_form_blend |
| predicted_HBP | - | 0.1530 | 0.1530 | form_only |
| predicted_HR | 0.1400 | 0.3230 | 0.2204 | model_form_blend |
| predicted_OBP | 0.3100 | 0.2704 | 0.2926 | model_form_blend |
| predicted_R | 0.5520 | 1.4820 | 0.9605 | model_form_blend |
| predicted_RBI | 0.4400 | 1.2880 | 0.8125 | model_form_blend |
| predicted_SLG | 0.4130 | 0.3106 | 0.3680 | model_form_blend |
| predicted_SO | 0.6390 | 1.7050 | 1.1072 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 200 |
| Season rows before report date | 200 |
| Report year | 2026 |
| Profile rows used | 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.234 |
| 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 | 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 | CF |
| gameID | 20260531_SD@WAS |
| game_type | full |
| mlbID | 696285 |
| playerID | 696285 |
| playerName | Jacob Young |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | WAS |
| teamID | 30 |
| game_date | 2026-05-31 |
| sl_k_percent | 16.8 |
| sl_bb_percent | 5.1 |
| sl_woba | 0.302 |
| sl_xwoba | 0.318 |
| sl_xba | 0.268 |
| sl_xslg | 0.404 |
| sl_sweet_spot_percent | 36.7 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 36.7 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 11.1 |
| sl_whiff_percent | 19.9 |
| sl_swing_percent | 43.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.261 | 0.000 | 0.000 | Hitting_2B | 0.261 | 0.000 | -0.261 | 0.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 4.160 | 3.000 | 9.000 | Hitting_AB | 4.120 | 4.000 | -1.120 | -1.000 |
| predicted_AVG | 0.219 | 0.333 | 0.222 | Hitting_AVG | 0.253 | 0.000 | 0.080 | 0.333 |
| predicted_BB | 0.349 | 1.000 | 1.000 | Hitting_BB | 0.349 | 0.000 | 0.651 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.048 | 0.000 | -0.048 | 0.000 |
| predicted_H | 0.910 | 1.000 | 2.000 | Hitting_H | 1.044 | 0.000 | -0.044 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_OBP | 0.273 | 0.500 | 0.300 | Hitting_OBP | 0.310 | 0.000 | 0.190 | 0.500 |
| predicted_R | 0.647 | 1.000 | 1.000 | Hitting_R | 0.647 | 0.000 | 0.353 | 1.000 |
| predicted_RBI | 0.440 | 2.000 | 1.000 | Hitting_RBI | 0.502 | 0.000 | 1.498 | 2.000 |
| predicted_SLG | 0.358 | 0.333 | 0.222 | Hitting_SLG | 0.418 | 0.000 | -0.085 | 0.333 |
| predicted_SO | 0.855 | 2.000 | 2.000 | Hitting_SO | 0.855 | 1.000 | 1.145 | 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_RBI: 0.4400 -> 2.0000 (boost 1.5600, better) |
| Biggest Deboost | predicted_AB: 4.1600 -> 3.0000 (deboost -1.1600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.1600 -> 8.5412 (boost 4.3812, better) | predicted_SLG: 0.3580 -> 0.3465 (deboost -0.0115, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_OBP: 0.2643 -> 0.2696 (boost 0.0053, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_AB: 8.5412 -> 9.0000 (boost 0.4588, better) | predicted_2B: 0.4415 -> 0.0000 (deboost -0.4415, worse) | AB rounded to 9 (raw=8.54), rates preserved: AVG=0.216 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1709 -> 1.0000 (deboost -0.1709, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2696 -> 0.3000 (boost 0.0304, better) | predicted_SLG: 0.3472 -> 0.2220 (deboost -0.1252, 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: 1.0000 -> 2.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 | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2220 -> 0.3472 (boost 0.1252, better) | predicted_OBP: 0.3000 -> 0.2696 (deboost -0.0304, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695734",
"player_name": "Daylen Lile",
"position": "LF",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.261,
"predicted_3B": 0.016,
"predicted_AB": 4.16,
"predicted_AVG": 0.219,
"predicted_BB": 0.349,
"predicted_H": 0.91,
"predicted_HR": 0.1,
"predicted_OBP": 0.273,
"predicted_R": 0.647,
"predicted_RBI": 0.44,
"predicted_SLG": 0.358,
"predicted_SO": 0.855
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4415,
"predicted_3B": 0.0271,
"predicted_AB": 8.5412,
"predicted_AVG": 0.214,
"predicted_BB": 0.6193,
"predicted_H": 1.7989,
"predicted_HBP": 0.043,
"predicted_HR": 0.2031,
"predicted_OBP": 0.2643,
"predicted_R": 1.1213,
"predicted_RBI": 1.0563,
"predicted_SLG": 0.3465,
"predicted_SO": 1.7647
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.261,
"after": 0.4415,
"delta": 0.1805,
"percent_delta": 0.6916,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0271,
"delta": 0.0111,
"percent_delta": 0.6937,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.16,
"after": 8.5412,
"delta": 4.3812,
"percent_delta": 1.0532,
"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.349,
"after": 0.6193,
"delta": 0.2703,
"percent_delta": 0.7745,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 1.7989,
"delta": 0.8889,
"percent_delta": 0.9768,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.2031,
"delta": 0.1031,
"percent_delta": 1.031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.273,
"after": 0.2643,
"delta": -0.0087,
"percent_delta": -0.0319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.647,
"after": 1.1213,
"delta": 0.4743,
"percent_delta": 0.7331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 1.0563,
"delta": 0.6163,
"percent_delta": 1.4007,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.3465,
"delta": -0.0115,
"percent_delta": -0.0321,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.855,
"after": 1.7647,
"delta": 0.9097,
"percent_delta": 1.064,
"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.16,
"after": 8.5412,
"delta": 4.3812,
"percent_delta": 1.0532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.3465,
"delta": -0.0115,
"percent_delta": -0.0321,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 59
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.4415,
"predicted_3B": 0.0271,
"predicted_AB": 8.5412,
"predicted_AVG": 0.2161,
"predicted_BB": 0.625,
"predicted_H": 1.8459,
"predicted_HBP": 0.043,
"predicted_HR": 0.2081,
"predicted_OBP": 0.2696,
"predicted_R": 1.1709,
"predicted_RBI": 1.103,
"predicted_SLG": 0.3472,
"predicted_SO": 1.7485
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4415,
"after": 0.4415,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0271,
"after": 0.0271,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.5412,
"after": 8.5412,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.2161,
"delta": 0.0021,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6193,
"after": 0.625,
"delta": 0.0057,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7989,
"after": 1.8459,
"delta": 0.047,
"percent_delta": 0.0261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.043,
"after": 0.043,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2031,
"after": 0.2081,
"delta": 0.005,
"percent_delta": 0.0246,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2643,
"after": 0.2696,
"delta": 0.0053,
"percent_delta": 0.0201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1213,
"after": 1.1709,
"delta": 0.0496,
"percent_delta": 0.0442,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0563,
"after": 1.103,
"delta": 0.0467,
"percent_delta": 0.0442,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3465,
"after": 0.3472,
"delta": 0.0007,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.7647,
"after": 1.7485,
"delta": -0.0162,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_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.2643,
"after": 0.2696,
"delta": 0.0053,
"percent_delta": 0.0201,
"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.54), rates preserved: AVG=0.216 HR/AB=0.024",
"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.4415,
"after": 0.0,
"delta": -0.4415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0271,
"after": 0.0,
"delta": -0.0271,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.5412,
"after": 9.0,
"delta": 0.4588,
"percent_delta": 0.0537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.625,
"after": 1.0,
"delta": 0.375,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.8459,
"after": 2.0,
"delta": 0.1541,
"percent_delta": 0.0835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.043,
"after": 0.0,
"delta": -0.043,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2081,
"after": 0.0,
"delta": -0.2081,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.103,
"after": 1.0,
"delta": -0.103,
"percent_delta": -0.0934,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7485,
"after": 2.0,
"delta": 0.2515,
"percent_delta": 0.1438,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 8.5412,
"after": 9.0,
"delta": 0.4588,
"percent_delta": 0.0537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4415,
"after": 0.0,
"delta": -0.4415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.1709,
"after": 1.0,
"delta": -0.1709,
"percent_delta": -0.146,
"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.1709,
"after": 1.0,
"delta": -0.1709,
"percent_delta": -0.146,
"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.2161,
"after": 0.222,
"delta": 0.0059,
"percent_delta": 0.0273,
"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.2696,
"after": 0.3,
"delta": 0.0304,
"percent_delta": 0.1128,
"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.3472,
"after": 0.222,
"delta": -0.1252,
"percent_delta": -0.3606,
"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.2696,
"after": 0.3,
"delta": 0.0304,
"percent_delta": 0.1128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3472,
"after": 0.222,
"delta": -0.1252,
"percent_delta": -0.3606,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 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": 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_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2161,
"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.2696,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3472,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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.2161,
"delta": -0.0059,
"percent_delta": -0.0265,
"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.3,
"after": 0.2696,
"delta": -0.0304,
"percent_delta": -0.1015,
"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.222,
"after": 0.3472,
"delta": 0.1252,
"percent_delta": 0.5641,
"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.3472,
"delta": 0.1252,
"percent_delta": 0.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.2696,
"delta": -0.0304,
"percent_delta": -0.1015,
"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.261,
"after": 0.0,
"delta": -0.261,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.16,
"after": 3.0,
"delta": -1.16,
"percent_delta": -0.2788,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2161,
"delta": -0.0029,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.349,
"after": 1.0,
"delta": 0.651,
"percent_delta": 1.8653,
"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.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.2696,
"delta": -0.0034,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.647,
"after": 1.0,
"delta": 0.353,
"percent_delta": 0.5456,
"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.358,
"after": 0.3472,
"delta": -0.0108,
"percent_delta": -0.0302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.855,
"after": 2.0,
"delta": 1.145,
"percent_delta": 1.3392,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.44,
"after": 2.0,
"delta": 1.56,
"percent_delta": 3.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.16,
"after": 3.0,
"delta": -1.16,
"percent_delta": -0.2788,
"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.261 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 4.160 | - |
| predicted_AVG | 0.219 | - |
| predicted_BB | 0.349 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.273 | - |
| predicted_R | 0.647 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.358 | - |
| predicted_SO | 0.855 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.442 | 0.180 |
| predicted_3B | 0.027 | 0.011 |
| predicted_AB | 8.541 | 4.381 |
| predicted_AVG | 0.214 | -0.005 |
| predicted_BB | 0.619 | 0.270 |
| predicted_H | 1.799 | 0.889 |
| predicted_HBP | 0.043 | - |
| predicted_HR | 0.203 | 0.103 |
| predicted_OBP | 0.264 | -0.009 |
| predicted_R | 1.121 | 0.474 |
| predicted_RBI | 1.056 | 0.616 |
| predicted_SLG | 0.346 | -0.012 |
| predicted_SO | 1.765 | 0.910 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.442 | 0.000 |
| predicted_3B | 0.027 | 0.000 |
| predicted_AB | 8.541 | 0.000 |
| predicted_AVG | 0.216 | 0.002 |
| predicted_BB | 0.625 | 0.006 |
| predicted_H | 1.846 | 0.047 |
| predicted_HBP | 0.043 | 0.000 |
| predicted_HR | 0.208 | 0.005 |
| predicted_OBP | 0.270 | 0.005 |
| predicted_R | 1.171 | 0.050 |
| predicted_RBI | 1.103 | 0.047 |
| predicted_SLG | 0.347 | 0.001 |
| predicted_SO | 1.748 | -0.016 |
AB rounded to 9 (raw=8.54), rates preserved: AVG=0.216 HR/AB=0.024
| 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.442 |
| predicted_3B | 0.000 | -0.027 |
| predicted_AB | 9.000 | 0.459 |
| predicted_AVG | 0.222 | 0.006 |
| predicted_BB | 1.000 | 0.375 |
| predicted_H | 2.000 | 0.154 |
| predicted_HR | 0.000 | -0.208 |
| predicted_OBP | 0.300 | 0.030 |
| predicted_R | 1.000 | -0.171 |
| predicted_RBI | 1.000 | -0.103 |
| predicted_SLG | 0.222 | -0.125 |
| predicted_SO | 2.000 | 0.252 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -6.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.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 | 4 | - | 19.000 | 1.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.000 | 0.000 | 4.000 | 0.0526 | 0.0526 | 0.0526 | 0.0526 | 0.0000 | 0.1579 | 0.0000 | 0.2105 |
| last_10 | 0.20 | 5 | - | 34.000 | 4.000 | 0.000 | 0.000 | 0.000 | 5.000 | 3.000 | 3.000 | 6.000 | 0.1176 | 0.1707 | 0.1176 | 0.1177 | 0.0000 | 0.1471 | 0.0882 | 0.1765 |
| season | 0.60 | 59 | - | 1026.000 | 260.000 | 65.000 | 4.000 | 32.000 | 125.000 | 161.000 | 87.000 | 213.000 | 0.2534 | 0.3103 | 0.4181 | 0.2534 | 0.0312 | 0.1218 | 0.0848 | 0.2076 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6690 |
| predicted_3B | 0.0410 |
| predicted_AB | 14.0620 |
| predicted_AVG | 0.2076 |
| predicted_BB | 0.9600 |
| predicted_H | 2.9190 |
| predicted_HBP | 0.0430 |
| predicted_HR | 0.3330 |
| predicted_OBP | 0.2534 |
| predicted_R | 1.7190 |
| predicted_RBI | 1.8330 |
| predicted_SLG | 0.3320 |
| predicted_SO | 2.9110 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2610 | 0.6690 | 0.4415 | model_form_blend |
| predicted_3B | 0.0160 | 0.0410 | 0.0271 | model_form_blend |
| predicted_AB | 4.1600 | 14.0620 | 8.5412 | model_form_blend |
| predicted_AVG | 0.2190 | 0.2076 | 0.2140 | model_form_blend |
| predicted_BB | 0.3490 | 0.9600 | 0.6193 | model_form_blend |
| predicted_H | 0.9100 | 2.9190 | 1.7989 | model_form_blend |
| predicted_HBP | - | 0.0430 | 0.0430 | form_only |
| predicted_HR | 0.1000 | 0.3330 | 0.2031 | model_form_blend |
| predicted_OBP | 0.2730 | 0.2534 | 0.2643 | model_form_blend |
| predicted_R | 0.6470 | 1.7190 | 1.1213 | model_form_blend |
| predicted_RBI | 0.4400 | 1.8330 | 1.0563 | model_form_blend |
| predicted_SLG | 0.3580 | 0.3320 | 0.3465 | model_form_blend |
| predicted_SO | 0.8550 | 2.9110 | 1.7647 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 249 |
| Season rows before report date | 249 |
| Report year | 2026 |
| Profile rows used | 249 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.253 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260531_SD@WAS |
| game_type | full |
| mlbID | 695734 |
| playerID | 695734 |
| playerName | Daylen Lile |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | WAS |
| teamID | 30 |
| game_date | 2026-05-31 |
| sl_k_percent | 18.3 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.316 |
| sl_xwoba | 0.319 |
| sl_xba | 0.253 |
| sl_xslg | 0.421 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 36.5 |
| sl_exit_velocity_avg | 87.7 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 24.4 |
| sl_swing_percent | 55.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.150 | 0.000 | 0.000 | Hitting_2B | - | - | - | - |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | - | - | - | - |
| predicted_AB | 3.619 | 3.000 | 7.000 | Hitting_AB | - | - | - | - |
| predicted_AVG | 0.242 | 0.000 | 0.286 | Hitting_AVG | - | - | - | - |
| predicted_BB | 0.143 | 1.000 | 0.000 | Hitting_BB | - | - | - | - |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | - | - | - | - |
| predicted_H | 0.710 | 0.000 | 2.000 | Hitting_H | - | - | - | - |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | - | - | - | - |
| predicted_OBP | 0.267 | 0.250 | 0.286 | Hitting_OBP | - | - | - | - |
| predicted_R | 0.619 | 0.000 | 1.000 | Hitting_R | - | - | - | - |
| predicted_RBI | 0.310 | 0.000 | 1.000 | Hitting_RBI | - | - | - | - |
| predicted_SLG | 0.342 | 0.000 | 0.286 | Hitting_SLG | - | - | - | - |
| predicted_SO | 0.850 | 1.000 | 2.000 | Hitting_SO | - | - | - | - |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.1430 -> 1.0000 (boost 0.8570, better) |
| Biggest Deboost | predicted_H: 0.7100 -> 0.0000 (deboost -0.7100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.6190 -> 6.9341 (boost 3.3151, 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_R: 1.1759 -> 1.2279 (boost 0.0520, 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 | 3 | 5 | predicted_SO: 1.5491 -> 2.0000 (boost 0.4509, worse) | predicted_2B: 0.4163 -> 0.0000 (deboost -0.4163, worse) | AB rounded to 7 (raw=6.93), rates preserved: AVG=0.242 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2279 -> 1.0000 (deboost -0.2279, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2422 -> 0.2860 (boost 0.0438, better) | predicted_SLG: 0.3603 -> 0.2860 (deboost -0.0743, 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: 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.3603 (boost 0.0743, better) | predicted_AVG: 0.2860 -> 0.2422 (deboost -0.0438, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "699912",
"player_name": "Jose Fernandez",
"position": "DH",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.15,
"predicted_3B": 0.0,
"predicted_AB": 3.619,
"predicted_AVG": 0.242,
"predicted_BB": 0.143,
"predicted_H": 0.71,
"predicted_HR": 0.07,
"predicted_OBP": 0.267,
"predicted_R": 0.619,
"predicted_RBI": 0.31,
"predicted_SLG": 0.342,
"predicted_SO": 0.85
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4163,
"predicted_3B": 0.0009,
"predicted_AB": 6.9341,
"predicted_AVG": 0.2466,
"predicted_BB": 0.2448,
"predicted_H": 1.6367,
"predicted_HBP": 0.069,
"predicted_HR": 0.1305,
"predicted_OBP": 0.2728,
"predicted_R": 1.1759,
"predicted_RBI": 0.6071,
"predicted_SLG": 0.3571,
"predicted_SO": 1.5635
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.15,
"after": 0.4163,
"delta": 0.2663,
"percent_delta": 1.7753,
"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.619,
"after": 6.9341,
"delta": 3.3151,
"percent_delta": 0.916,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2466,
"delta": 0.0046,
"percent_delta": 0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.143,
"after": 0.2448,
"delta": 0.1018,
"percent_delta": 0.7119,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 1.6367,
"delta": 0.9267,
"percent_delta": 1.3052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.1305,
"delta": 0.0605,
"percent_delta": 0.8643,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.267,
"after": 0.2728,
"delta": 0.0058,
"percent_delta": 0.0217,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.619,
"after": 1.1759,
"delta": 0.5569,
"percent_delta": 0.8997,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.6071,
"delta": 0.2971,
"percent_delta": 0.9584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.342,
"after": 0.3571,
"delta": 0.0151,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.85,
"after": 1.5635,
"delta": 0.7135,
"percent_delta": 0.8394,
"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.619,
"after": 6.9341,
"delta": 3.3151,
"percent_delta": 0.916,
"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": 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.4163,
"predicted_3B": 0.0009,
"predicted_AB": 6.9341,
"predicted_AVG": 0.2422,
"predicted_BB": 0.2471,
"predicted_H": 1.6794,
"predicted_HBP": 0.069,
"predicted_HR": 0.1337,
"predicted_OBP": 0.2683,
"predicted_R": 1.2279,
"predicted_RBI": 0.6339,
"predicted_SLG": 0.3603,
"predicted_SO": 1.5491
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4163,
"after": 0.4163,
"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.9341,
"after": 6.9341,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2466,
"after": 0.2422,
"delta": -0.0044,
"percent_delta": -0.0178,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2448,
"after": 0.2471,
"delta": 0.0023,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.6367,
"after": 1.6794,
"delta": 0.0427,
"percent_delta": 0.0261,
"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.1305,
"after": 0.1337,
"delta": 0.0032,
"percent_delta": 0.0245,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2728,
"after": 0.2683,
"delta": -0.0045,
"percent_delta": -0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.1759,
"after": 1.2279,
"delta": 0.052,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6071,
"after": 0.6339,
"delta": 0.0268,
"percent_delta": 0.0441,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3571,
"after": 0.3603,
"delta": 0.0032,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.5635,
"after": 1.5491,
"delta": -0.0144,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_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.1759,
"after": 1.2279,
"delta": 0.052,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.93), rates preserved: AVG=0.242 HR/AB=0.019",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4163,
"after": 0.0,
"delta": -0.4163,
"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.9341,
"after": 7.0,
"delta": 0.0659,
"percent_delta": 0.0095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2471,
"after": 0.0,
"delta": -0.2471,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6794,
"after": 2.0,
"delta": 0.3206,
"percent_delta": 0.1909,
"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.1337,
"after": 0.0,
"delta": -0.1337,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6339,
"after": 1.0,
"delta": 0.3661,
"percent_delta": 0.5775,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5491,
"after": 2.0,
"delta": 0.4509,
"percent_delta": 0.2911,
"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.5491,
"after": 2.0,
"delta": 0.4509,
"percent_delta": 0.2911,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4163,
"after": 0.0,
"delta": -0.4163,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.2279,
"after": 1.0,
"delta": -0.2279,
"percent_delta": -0.1856,
"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.2279,
"after": 1.0,
"delta": -0.2279,
"percent_delta": -0.1856,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2422,
"after": 0.286,
"delta": 0.0438,
"percent_delta": 0.1808,
"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.2683,
"after": 0.286,
"delta": 0.0177,
"percent_delta": 0.066,
"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.3603,
"after": 0.286,
"delta": -0.0743,
"percent_delta": -0.2062,
"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.2422,
"after": 0.286,
"delta": 0.0438,
"percent_delta": 0.1808,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3603,
"after": 0.286,
"delta": -0.0743,
"percent_delta": -0.2062,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2422,
"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.2683,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3603,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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.2422,
"delta": -0.0438,
"percent_delta": -0.1532,
"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.286,
"after": 0.2683,
"delta": -0.0177,
"percent_delta": -0.062,
"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.3603,
"delta": 0.0743,
"percent_delta": 0.2599,
"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.3603,
"delta": 0.0743,
"percent_delta": 0.2599,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2422,
"delta": -0.0438,
"percent_delta": -0.1532,
"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.15,
"after": 0.0,
"delta": -0.15,
"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.619,
"after": 3.0,
"delta": -0.619,
"percent_delta": -0.171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2422,
"delta": 0.0002,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.143,
"after": 1.0,
"delta": 0.857,
"percent_delta": 5.993,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 0.0,
"delta": -0.71,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.267,
"after": 0.2683,
"delta": 0.0013,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.619,
"after": 0.0,
"delta": -0.619,
"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.342,
"after": 0.3603,
"delta": 0.0183,
"percent_delta": 0.0535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.85,
"after": 1.0,
"delta": 0.15,
"percent_delta": 0.1765,
"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.143,
"after": 1.0,
"delta": 0.857,
"percent_delta": 5.993,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.71,
"after": 0.0,
"delta": -0.71,
"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.150 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.619 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.143 | - |
| predicted_H | 0.710 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.267 | - |
| predicted_R | 0.619 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.342 | - |
| predicted_SO | 0.850 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.416 | 0.266 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.934 | 3.315 |
| predicted_AVG | 0.247 | 0.005 |
| predicted_BB | 0.245 | 0.102 |
| predicted_H | 1.637 | 0.927 |
| predicted_HBP | 0.069 | - |
| predicted_HR | 0.131 | 0.060 |
| predicted_OBP | 0.273 | 0.006 |
| predicted_R | 1.176 | 0.557 |
| predicted_RBI | 0.607 | 0.297 |
| predicted_SLG | 0.357 | 0.015 |
| predicted_SO | 1.563 | 0.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.416 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.934 | 0.000 |
| predicted_AVG | 0.242 | -0.004 |
| predicted_BB | 0.247 | 0.002 |
| predicted_H | 1.679 | 0.043 |
| predicted_HBP | 0.069 | 0.000 |
| predicted_HR | 0.134 | 0.003 |
| predicted_OBP | 0.268 | -0.005 |
| predicted_R | 1.228 | 0.052 |
| predicted_RBI | 0.634 | 0.027 |
| predicted_SLG | 0.360 | 0.003 |
| predicted_SO | 1.549 | -0.014 |
AB rounded to 7 (raw=6.93), rates preserved: AVG=0.242 HR/AB=0.019
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 0.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.416 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | 0.066 |
| predicted_AVG | 0.286 | 0.044 |
| predicted_BB | 0.000 | -0.247 |
| predicted_H | 2.000 | 0.321 |
| predicted_HR | 0.000 | -0.134 |
| predicted_OBP | 0.286 | 0.018 |
| predicted_R | 1.000 | -0.228 |
| predicted_RBI | 1.000 | 0.366 |
| predicted_SLG | 0.286 | -0.074 |
| predicted_SO | 2.000 | 0.451 |
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 | 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 | - | 17.000 | 4.000 | 4.000 | 0.000 | 0.000 | 0.000 | 4.000 | 0.000 | 4.000 | 0.2353 | 0.2353 | 0.4706 | 0.2353 | 0.0000 | 0.0000 | 0.0000 | 0.2353 |
| last_10 | 0.20 | 4 | - | 37.000 | 4.000 | 4.000 | 0.000 | 0.000 | 0.000 | 4.000 | 0.000 | 4.000 | 0.1081 | 0.1081 | 0.2162 | 0.1081 | 0.0000 | 0.0000 | 0.0000 | 0.1081 |
| season | 0.60 | 43 | - | 532.000 | 146.000 | 22.000 | 0.000 | 12.000 | 58.000 | 91.000 | 21.000 | 125.000 | 0.2744 | 0.3070 | 0.3835 | 0.2744 | 0.0226 | 0.1090 | 0.0395 | 0.2350 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7620 |
| predicted_3B | 0.0020 |
| predicted_AB | 11.2390 |
| predicted_AVG | 0.2526 |
| predicted_BB | 0.3770 |
| predicted_H | 2.8400 |
| predicted_HBP | 0.0690 |
| predicted_HR | 0.2090 |
| predicted_OBP | 0.2803 |
| predicted_R | 1.8990 |
| predicted_RBI | 0.9930 |
| predicted_SLG | 0.3767 |
| predicted_SO | 2.4900 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1500 | 0.7620 | 0.4163 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.6190 | 11.2390 | 6.9341 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2526 | 0.2466 | model_form_blend |
| predicted_BB | 0.1430 | 0.3770 | 0.2448 | model_form_blend |
| predicted_H | 0.7100 | 2.8400 | 1.6367 | model_form_blend |
| predicted_HBP | - | 0.0690 | 0.0690 | form_only |
| predicted_HR | 0.0700 | 0.2090 | 0.1305 | model_form_blend |
| predicted_OBP | 0.2670 | 0.2803 | 0.2728 | model_form_blend |
| predicted_R | 0.6190 | 1.8990 | 1.1759 | model_form_blend |
| predicted_RBI | 0.3100 | 0.9930 | 0.6071 | model_form_blend |
| predicted_SLG | 0.3420 | 0.3767 | 0.3571 | model_form_blend |
| predicted_SO | 0.8500 | 2.4900 | 1.5635 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 0 |
| Season rows before report date | 0 |
| Report year | 2026 |
| Profile rows used | 147 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.274 |
No historical data found for this player before report date.
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.042 | 0.000 | 0.000 | Hitting_2B | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 3.432 | 4.000 | 7.000 | Hitting_AB | 3.362 | 0.000 | 0.638 | 4.000 |
| predicted_AVG | 0.234 | 0.000 | 0.143 | Hitting_AVG | 0.193 | - | -0.193 | - |
| predicted_BB | 0.484 | 0.000 | 1.000 | Hitting_BB | 0.474 | 0.000 | -0.474 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_H | 0.640 | 0.000 | 1.000 | Hitting_H | 0.648 | 0.000 | -0.648 | 0.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.280 | 0.000 | 0.250 | Hitting_OBP | 0.295 | - | -0.295 | - |
| predicted_R | 0.432 | 0.000 | 1.000 | Hitting_R | 0.434 | 1.000 | -0.434 | -1.000 |
| predicted_RBI | 0.290 | 0.000 | 1.000 | Hitting_RBI | 0.321 | 0.000 | -0.321 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.459 | 0.000 | -0.459 | 0.000 |
| predicted_SLG | 0.293 | 0.000 | 0.143 | Hitting_SLG | 0.217 | - | -0.217 | - |
| predicted_SO | 0.885 | 1.000 | 2.000 | Hitting_SO | 0.867 | 0.000 | 0.133 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.4320 -> 4.0000 (boost 0.5680, better) |
| Biggest Deboost | predicted_H: 0.6400 -> 0.0000 (deboost -0.6400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 7 | 2 | 6 | 3 | predicted_AB: 3.4320 -> 6.7978 (boost 3.3658, better) | predicted_SLG: 0.2930 -> 0.2788 (deboost -0.0142, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2818 -> 0.2894 (boost 0.0076, better) | predicted_SLG: 0.2788 -> 0.2619 (deboost -0.0169, 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.5645 -> 1.0000 (boost 0.4355, better) | predicted_H: 1.3880 -> 1.0000 (deboost -0.3880, worse) | AB rounded to 7 (raw=6.80), rates preserved: AVG=0.204 HR/AB=0.004 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.9286 -> 1.0000 (boost 0.0714, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2619 -> 0.1430 (deboost -0.1189, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1430 -> 0.2619 (boost 0.1189, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683083",
"player_name": "Nasim Nuñez",
"position": "2B",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.042,
"predicted_3B": 0.021,
"predicted_AB": 3.432,
"predicted_AVG": 0.234,
"predicted_BB": 0.484,
"predicted_H": 0.64,
"predicted_HR": 0.04,
"predicted_OBP": 0.28,
"predicted_R": 0.432,
"predicted_RBI": 0.29,
"predicted_SLG": 0.293,
"predicted_SO": 0.885
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2347,
"predicted_3B": 0.035,
"predicted_AB": 6.7978,
"predicted_AVG": 0.2208,
"predicted_BB": 0.8079,
"predicted_H": 1.3527,
"predicted_HBP": 0.055,
"predicted_HR": 0.0286,
"predicted_OBP": 0.2818,
"predicted_R": 0.8893,
"predicted_RBI": 0.5406,
"predicted_SLG": 0.2788,
"predicted_SO": 1.7527
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.042,
"after": 0.2347,
"delta": 0.1927,
"percent_delta": 4.5881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.035,
"delta": 0.014,
"percent_delta": 0.6667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.432,
"after": 6.7978,
"delta": 3.3658,
"percent_delta": 0.9807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2208,
"delta": -0.0132,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.484,
"after": 0.8079,
"delta": 0.3239,
"percent_delta": 0.6692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 1.3527,
"delta": 0.7127,
"percent_delta": 1.1136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0286,
"delta": -0.0114,
"percent_delta": -0.285,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.2818,
"delta": 0.0018,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.432,
"after": 0.8893,
"delta": 0.4573,
"percent_delta": 1.0586,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.5406,
"delta": 0.2506,
"percent_delta": 0.8641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.293,
"after": 0.2788,
"delta": -0.0142,
"percent_delta": -0.0485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.885,
"after": 1.7527,
"delta": 0.8677,
"percent_delta": 0.9805,
"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.432,
"after": 6.7978,
"delta": 3.3658,
"percent_delta": 0.9807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.293,
"after": 0.2788,
"delta": -0.0142,
"percent_delta": -0.0485,
"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": 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.2347,
"predicted_3B": 0.035,
"predicted_AB": 6.7978,
"predicted_AVG": 0.2042,
"predicted_BB": 0.8153,
"predicted_H": 1.388,
"predicted_HBP": 0.055,
"predicted_HR": 0.0293,
"predicted_OBP": 0.2894,
"predicted_R": 0.9286,
"predicted_RBI": 0.5645,
"predicted_SLG": 0.2619,
"predicted_SO": 1.7366
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2347,
"after": 0.2347,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.035,
"after": 0.035,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.7978,
"after": 6.7978,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2208,
"after": 0.2042,
"delta": -0.0166,
"percent_delta": -0.0752,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8079,
"after": 0.8153,
"delta": 0.0074,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3527,
"after": 1.388,
"delta": 0.0353,
"percent_delta": 0.0261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.055,
"after": 0.055,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0286,
"after": 0.0293,
"delta": 0.0007,
"percent_delta": 0.0245,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2818,
"after": 0.2894,
"delta": 0.0076,
"percent_delta": 0.027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8893,
"after": 0.9286,
"delta": 0.0393,
"percent_delta": 0.0442,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5406,
"after": 0.5645,
"delta": 0.0239,
"percent_delta": 0.0442,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2788,
"after": 0.2619,
"delta": -0.0169,
"percent_delta": -0.0606,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7527,
"after": 1.7366,
"delta": -0.0161,
"percent_delta": -0.0092,
"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.2818,
"after": 0.2894,
"delta": 0.0076,
"percent_delta": 0.027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2788,
"after": 0.2619,
"delta": -0.0169,
"percent_delta": -0.0606,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.80), rates preserved: AVG=0.204 HR/AB=0.004",
"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.2347,
"after": 0.0,
"delta": -0.2347,
"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": 6.7978,
"after": 7.0,
"delta": 0.2022,
"percent_delta": 0.0297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8153,
"after": 1.0,
"delta": 0.1847,
"percent_delta": 0.2265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.388,
"after": 1.0,
"delta": -0.388,
"percent_delta": -0.2795,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.055,
"after": 0.0,
"delta": -0.055,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0293,
"after": 0.0,
"delta": -0.0293,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5645,
"after": 1.0,
"delta": 0.4355,
"percent_delta": 0.7715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7366,
"after": 2.0,
"delta": 0.2634,
"percent_delta": 0.1517,
"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.5645,
"after": 1.0,
"delta": 0.4355,
"percent_delta": 0.7715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.388,
"after": 1.0,
"delta": -0.388,
"percent_delta": -0.2795,
"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.9286,
"after": 1.0,
"delta": 0.0714,
"percent_delta": 0.0769,
"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.9286,
"after": 1.0,
"delta": 0.0714,
"percent_delta": 0.0769,
"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.2042,
"after": 0.143,
"delta": -0.0612,
"percent_delta": -0.2997,
"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.2894,
"after": 0.25,
"delta": -0.0394,
"percent_delta": -0.1361,
"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.2619,
"after": 0.143,
"delta": -0.1189,
"percent_delta": -0.454,
"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.2619,
"after": 0.143,
"delta": -0.1189,
"percent_delta": -0.454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 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.2042,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2894,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2619,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2042,
"delta": 0.0612,
"percent_delta": 0.4279,
"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.2894,
"delta": 0.0394,
"percent_delta": 0.1577,
"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.2619,
"delta": 0.1189,
"percent_delta": 0.8317,
"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.2619,
"delta": 0.1189,
"percent_delta": 0.8317,
"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.042,
"after": 0.0,
"delta": -0.042,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.432,
"after": 4.0,
"delta": 0.568,
"percent_delta": 0.1655,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2042,
"delta": -0.0298,
"percent_delta": -0.1274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.484,
"after": 0.0,
"delta": -0.484,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.2894,
"delta": 0.0094,
"percent_delta": 0.0336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.432,
"after": 0.0,
"delta": -0.432,
"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.293,
"after": 0.2619,
"delta": -0.0311,
"percent_delta": -0.1061,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.885,
"after": 1.0,
"delta": 0.115,
"percent_delta": 0.1299,
"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_AB",
"before": 3.432,
"after": 4.0,
"delta": 0.568,
"percent_delta": 0.1655,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.042 | - |
| predicted_3B | 0.021 | - |
| predicted_AB | 3.432 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.484 | - |
| predicted_H | 0.640 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.280 | - |
| predicted_R | 0.432 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.293 | - |
| predicted_SO | 0.885 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.235 | 0.193 |
| predicted_3B | 0.035 | 0.014 |
| predicted_AB | 6.798 | 3.366 |
| predicted_AVG | 0.221 | -0.013 |
| predicted_BB | 0.808 | 0.324 |
| predicted_H | 1.353 | 0.713 |
| predicted_HBP | 0.055 | - |
| predicted_HR | 0.029 | -0.011 |
| predicted_OBP | 0.282 | 0.002 |
| predicted_R | 0.889 | 0.457 |
| predicted_RBI | 0.541 | 0.251 |
| predicted_SLG | 0.279 | -0.014 |
| predicted_SO | 1.753 | 0.868 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.235 | 0.000 |
| predicted_3B | 0.035 | 0.000 |
| predicted_AB | 6.798 | 0.000 |
| predicted_AVG | 0.204 | -0.017 |
| predicted_BB | 0.815 | 0.007 |
| predicted_H | 1.388 | 0.035 |
| predicted_HBP | 0.055 | 0.000 |
| predicted_HR | 0.029 | 0.001 |
| predicted_OBP | 0.289 | 0.008 |
| predicted_R | 0.929 | 0.039 |
| predicted_RBI | 0.565 | 0.024 |
| predicted_SLG | 0.262 | -0.017 |
| predicted_SO | 1.737 | -0.016 |
AB rounded to 7 (raw=6.80), rates preserved: AVG=0.204 HR/AB=0.004
| 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.235 |
| predicted_3B | 0.000 | -0.035 |
| predicted_AB | 7.000 | 0.202 |
| predicted_AVG | 0.143 | -0.061 |
| predicted_BB | 1.000 | 0.185 |
| predicted_H | 1.000 | -0.388 |
| predicted_HR | 0.000 | -0.029 |
| predicted_OBP | 0.250 | -0.039 |
| predicted_R | 1.000 | 0.071 |
| predicted_RBI | 1.000 | 0.435 |
| predicted_SLG | 0.143 | -0.119 |
| 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 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | - | 17.000 | 4.000 | 3.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.000 | 4.000 | 0.2353 | 0.2353 | 0.4118 | 0.2353 | 0.0000 | 0.0000 | 0.0000 | 0.2353 |
| last_10 | 0.20 | 4 | - | 37.000 | 9.000 | 4.000 | 0.000 | 0.000 | 0.000 | 4.000 | 0.000 | 13.000 | 0.2432 | 0.2432 | 0.3514 | 0.2432 | 0.0000 | 0.0000 | 0.0000 | 0.3513 |
| season | 0.60 | 52 | - | 659.000 | 127.000 | 8.000 | 4.000 | 0.000 | 63.000 | 83.000 | 93.000 | 170.000 | 0.1927 | 0.2951 | 0.2170 | 0.1927 | 0.0000 | 0.0956 | 0.1411 | 0.2580 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4810 |
| predicted_3B | 0.0530 |
| predicted_AB | 11.1010 |
| predicted_AVG | 0.2039 |
| predicted_BB | 1.2220 |
| predicted_H | 2.2640 |
| predicted_HBP | 0.0550 |
| predicted_HR | 0.0140 |
| predicted_OBP | 0.2841 |
| predicted_R | 1.4740 |
| predicted_RBI | 0.8610 |
| predicted_SLG | 0.2606 |
| predicted_SO | 2.8620 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0420 | 0.4810 | 0.2347 | model_form_blend |
| predicted_3B | 0.0210 | 0.0530 | 0.0350 | model_form_blend |
| predicted_AB | 3.4320 | 11.1010 | 6.7978 | model_form_blend |
| predicted_AVG | 0.2340 | 0.2039 | 0.2208 | model_form_blend |
| predicted_BB | 0.4840 | 1.2220 | 0.8079 | model_form_blend |
| predicted_H | 0.6400 | 2.2640 | 1.3527 | model_form_blend |
| predicted_HBP | - | 0.0550 | 0.0550 | form_only |
| predicted_HR | 0.0400 | 0.0140 | 0.0286 | model_form_blend |
| predicted_OBP | 0.2800 | 0.2841 | 0.2818 | model_form_blend |
| predicted_R | 0.4320 | 1.4740 | 0.8893 | model_form_blend |
| predicted_RBI | 0.2900 | 0.8610 | 0.5406 | model_form_blend |
| predicted_SLG | 0.2930 | 0.2606 | 0.2788 | model_form_blend |
| predicted_SO | 0.8850 | 2.8620 | 1.7527 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 192 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| 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 | 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 | 1 |
| 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-2B |
| gameID | 20260531_SD@WAS |
| game_type | ph |
| mlbID | 683083 |
| note | Ran for Vivas in the 7th. |
| playerID | 683083 |
| playerName | Nasim Nuñez |
| pos | 2B |
| started | False |
| startingPosition | PR |
| team | WAS |
| teamID | 30 |
| game_date | 2026-05-31 |
| sl_k_percent | 21.2 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.24 |
| sl_xwoba | 0.27 |
| sl_xba | 0.216 |
| sl_xslg | 0.263 |
| sl_sweet_spot_percent | 30.8 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 19.5 |
| sl_exit_velocity_avg | 84.7 |
| sl_launch_angle_avg | 8.9 |
| sl_whiff_percent | 23.0 |
| sl_swing_percent | 47.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.750 | 2.000 | -0.750 | -1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 2.000 | 1.000 | 0.000 | 1.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 5.250 | 5.000 | 0.750 | 1.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 4.817 | 6.000 | 0.183 | -1.000 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 5.667 | 7.000 | -1.667 | -3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.3333 -> 5.0000 (deboost -0.3333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.3333 -> 5.0000 (deboost -0.3333, 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": "676917",
"player_name": "Cade Cavalli",
"position": "Starter",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement 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": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.3333,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"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": 2.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_R": 2.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.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": 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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"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 | 2.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.333 | - |
| 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 | 1.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 6.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 5.000 | -0.333 |
| 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 | 29.000 | 11.000 | 26.000 | 7.000 | 30.000 | 2.000 | 3.4138 | 1.1379 | 0.3793 | 0.8965 | 0.2414 | 1.0345 | 0.0690 |
| last_10 | 0.35 | 10 | 50.000 | 21.000 | 55.000 | 16.000 | 60.000 | 3.000 | 3.7800 | 1.4200 | 0.4200 | 1.1000 | 0.3200 | 1.2000 | 0.0600 |
| season | 0.20 | 12 | 59.200 | 24.000 | 63.000 | 21.000 | 68.000 | 3.000 | 3.6201 | 1.4078 | 0.4022 | 1.0559 | 0.3520 | 1.1397 | 0.0503 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6660 |
| predicted_ER | 2.2360 |
| predicted_ERA | 3.7904 |
| predicted_H | 5.2310 |
| predicted_HR | 0.4420 |
| predicted_IP | 5.1000 |
| predicted_SO | 5.6420 |
| predicted_WHIP | 1.2989 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.6660 | 1.3501 | model_form_blend |
| predicted_ER | 2.0000 | 2.2360 | 2.1241 | model_form_blend |
| predicted_ERA | - | 3.7904 | 3.7904 | form_only |
| predicted_H | 6.0000 | 5.2310 | 5.5957 | model_form_blend |
| predicted_HR | 1.0000 | 0.4420 | 0.7066 | model_form_blend |
| predicted_IP | 5.1000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 4.0000 | 5.6420 | 4.8633 | model_form_blend |
| predicted_WHIP | - | 1.2989 | 1.2989 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 12 |
| Season rows before report date | 12 |
| Report year | 2026 |
| Profile rows used | 12 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.0 |
| H | 6 |
| R | 2 |
| ER | 2 |
| BB | 1 |
| SO | 4 |
| HR | 1 |
| BF | 22 |
| Pitches | 86 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 25 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.62 |
| 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 | 87 |
| Pitching_R | 1 |
| Pitching_SO | 7 |
| Pitching_Strikes | 61 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260526_WAS@CLE |
| game_type | full |
| mlbID | 676917 |
| playerID | 676917 |
| playerName | Cade Cavalli |
| pos | P |
| started | True |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-05-26 |
| game_pk | 824434.0 |
| sl_k_percent | 25.4 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.322 |
| sl_xwoba | 0.315 |
| sl_sweet_spot_percent | 36.1 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 40.8 |
| sl_whiff_percent | 25.2 |
| sl_swing_percent | 46.0 |
| sv_pitch_count | 88.0 |
| sv_outs_recorded_est | 18.0 |
| sv_release_speed | 91.06896551724138 |
| sv_release_spin_rate | 2206.298850574713 |
| sv_effective_speed | 90.9574712643678 |
| sv_launch_speed | 80.68620689655172 |
| sv_launch_angle | 5.931034482758621 |
| sv_woba_value | 6.25 |
| sv_woba_denom | 25.0 |
| sv_delta_run_exp | -1.709 |
| sv_delta_home_win_exp | -0.208 |
| sl_avg_best_speed | 78.616703059 |
| sl_avg_hyper_speed | 94.39013929 |
| 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.800 | 0.000 | -0.800 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.267 | 0.000 | -0.267 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.467 | 1.000 | 0.533 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.967 | 1.000 | 0.133 | 0.100 |
| 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 -> 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": "690925",
"player_name": "Clayton Beeter",
"position": "Middle Reliever",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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 | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 0.000 | 2.000 | 4.000 | 6.000 | 0.000 | 0.0000 | 1.1250 | 0.0000 | 0.3750 | 0.7500 | 1.1250 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 5.000 | 8.000 | 12.000 | 1.000 | 1.8000 | 1.3000 | 0.2000 | 0.5000 | 0.8000 | 1.2000 | 0.1000 |
| season | 0.20 | 15 | 15.200 | 4.000 | 7.000 | 12.000 | 15.000 | 2.000 | 2.2979 | 1.2128 | 0.2553 | 0.4468 | 0.7660 | 0.9575 | 0.1277 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5220 |
| predicted_ER | 0.3410 |
| predicted_ERA | 3.0657 |
| predicted_H | 0.7530 |
| predicted_HR | 0.1060 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0080 |
| predicted_WHIP | 1.2748 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5220 | 0.2030 | model_form_blend |
| predicted_ER | 0.0000 | 0.3410 | 0.1326 | model_form_blend |
| predicted_ERA | - | 3.0657 | 3.0657 | form_only |
| predicted_H | 1.0000 | 0.7530 | 0.9039 | model_form_blend |
| predicted_HR | 0.0000 | 0.1060 | 0.0412 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0080 | 1.0031 | model_form_blend |
| predicted_WHIP | - | 1.2748 | 1.2748 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 15 |
| Season rows before report date | 15 |
| Report year | 2026 |
| Profile rows used | 15 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.30 |
| 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 | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260531_SD@WAS |
| game_type | full |
| mlbID | 690925 |
| playerID | 690925 |
| playerName | Clayton Beeter |
| pos | P |
| started | False |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-05-31 |
| sl_k_percent | 22.2 |
| sl_bb_percent | 19.0 |
| sl_woba | 0.254 |
| sl_xwoba | 0.318 |
| sl_sweet_spot_percent | 19.4 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 52.8 |
| sl_whiff_percent | 22.9 |
| sl_swing_percent | 41.8 |
| sl_avg_best_speed | 83.094878333 |
| sl_avg_hyper_speed | 94.896530833 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.435 | 3.000 | -0.435 | -3.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.435 | 1.000 | -0.435 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.043 | 1.000 | -0.043 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.774 | 0.200 | 0.326 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.870 | 1.000 | 0.130 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "681402",
"player_name": "Gus Varland",
"position": "Middle Reliever",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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 | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 2.000 | 5.000 | 4.000 | 2.000 | 0.000 | 3.3750 | 1.6875 | 0.3750 | 0.9375 | 0.7500 | 0.3750 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 6.000 | 10.000 | 7.000 | 6.000 | 0.000 | 5.7857 | 1.8214 | 0.6429 | 1.0714 | 0.7500 | 0.6429 | 0.0000 |
| season | 0.20 | 23 | 22.000 | 10.000 | 24.000 | 10.000 | 20.000 | 1.000 | 4.0909 | 1.5455 | 0.4546 | 1.0909 | 0.4546 | 0.9091 | 0.0454 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5180 |
| predicted_ER | 0.4800 |
| predicted_ERA | 4.3222 |
| predicted_H | 0.9800 |
| predicted_HR | 0.0760 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7710 |
| predicted_WHIP | 1.4987 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5180 | 0.2196 | model_form_blend |
| predicted_ER | 0.0000 | 0.4800 | 0.2035 | model_form_blend |
| predicted_ERA | - | 4.3222 | 4.3222 | form_only |
| predicted_H | 1.0000 | 0.9800 | 0.9915 | model_form_blend |
| predicted_HR | 0.0000 | 0.0760 | 0.0322 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7710 | 0.9029 | model_form_blend |
| predicted_WHIP | - | 1.4987 | 1.4987 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 23 |
| Season rows before report date | 23 |
| Report year | 2026 |
| Profile rows used | 23 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 3 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 1 |
| Pitching_ERA | 4.09 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 30 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 1 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260530_SD@WAS |
| game_type | full |
| mlbID | 681402 |
| playerID | 681402 |
| playerName | Gus Varland |
| pos | P |
| started | False |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-05-30 |
| sl_k_percent | 20.2 |
| sl_bb_percent | 10.1 |
| sl_woba | 0.327 |
| sl_xwoba | 0.346 |
| sl_sweet_spot_percent | 43.5 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 49.3 |
| sl_whiff_percent | 25.7 |
| sl_swing_percent | 49.7 |
| sl_avg_best_speed | 84.462616061 |
| sl_avg_hyper_speed | 95.850733182 |
| 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.706 | 1.000 | -0.706 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.235 | 1.000 | -0.235 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.941 | 3.000 | -0.941 | -3.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.776 | 0.100 | 0.324 | 1.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.882 | 0.000 | -0.882 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.6667 -> 1.1000 (boost 0.4333, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.6667 -> 1.1000 (boost 0.4333, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "663992",
"player_name": "Richard Lovelady",
"position": "Middle Reliever",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 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": 0.6667,
"after": 1.1,
"delta": 0.4333,
"percent_delta": 0.65,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.1,
"delta": 0.4333,
"percent_delta": 0.65,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.1,
"delta": 0.4333,
"percent_delta": 0.6499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.1,
"delta": 0.4333,
"percent_delta": 0.6499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 3.200 | 1.000 | 4.000 | 2.000 | 2.000 | 0.000 | 2.4545 | 1.6364 | 0.2727 | 1.0909 | 0.5454 | 0.5454 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 3.000 | 9.000 | 7.000 | 8.000 | 1.000 | 3.0000 | 1.7778 | 0.3333 | 1.0000 | 0.7778 | 0.8889 | 0.1111 |
| season | 0.20 | 23 | 23.100 | 7.000 | 24.000 | 16.000 | 21.000 | 2.000 | 2.7000 | 1.7143 | 0.3000 | 1.0286 | 0.6857 | 0.9000 | 0.0857 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3820 |
| predicted_ER | 0.2950 |
| predicted_ERA | 3.5239 |
| predicted_H | 0.7520 |
| predicted_HR | 0.0730 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6360 |
| predicted_WHIP | 1.5022 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3820 | 0.1643 | model_form_blend |
| predicted_ER | 0.0000 | 0.2950 | 0.1269 | model_form_blend |
| predicted_ERA | - | 3.5239 | 3.5239 | form_only |
| predicted_H | 0.0000 | 0.7520 | 0.3234 | model_form_blend |
| predicted_HR | 0.0000 | 0.0730 | 0.0314 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.6360 | 0.2735 | model_form_blend |
| predicted_WHIP | - | 1.5022 | 1.5022 | 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 | 23 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.70 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 12 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260527_WAS@CLE |
| game_type | full |
| mlbID | 663992 |
| playerID | 663992 |
| playerName | Richard Lovelady |
| pos | P |
| started | False |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-05-27 |
| game_pk | 824432.0 |
| sl_k_percent | 19.4 |
| sl_bb_percent | 14.8 |
| sl_woba | 0.343 |
| sl_xwoba | 0.344 |
| sl_sweet_spot_percent | 31.4 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 31.4 |
| sl_whiff_percent | 25.7 |
| sl_swing_percent | 45.0 |
| sv_pitch_count | 13.0 |
| sv_outs_recorded_est | 1.0 |
| sv_release_speed | 87.06923076923077 |
| sv_release_spin_rate | 2367.076923076923 |
| sv_effective_speed | 88.33076923076922 |
| sv_launch_speed | 83.95 |
| sv_launch_angle | 18.0 |
| sv_woba_value | 3.4 |
| sv_woba_denom | 5.0 |
| sv_delta_run_exp | 1.5299999999999998 |
| sv_delta_home_win_exp | 0.232 |
| sl_avg_best_speed | 76.112474848 |
| sl_avg_hyper_speed | 93.705545152 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | NYM 2 - 3 SEA | SEA | 0.536 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | NYM 2 - 4 SEA | SEA | - | 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.6000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5361 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 5.244 | 4.347 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 5 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 2 | 3 | 0.5361 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 2 | 3 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 2 | 3 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 2 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.6336563414634147,
"base_low_score_probability": 0.42784552845528456,
"low_score_signal_threshold": 0.5078455284552845,
"low_score_signal_strength": 0.2058108130081301,
"confidence": 0.84052,
"factors": {
"environmental": 1.02,
"pitcher_form": 1.4520000000000002,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.4810400000000001
},
"prediction": "low_scoring",
"expected_total_runs": 5,
"pre_simulation_expected_total_runs": 6.6,
"low_score_model_expected_total_runs": 6.6,
"final_simulation_total_runs": 6,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 66,
"near_bucket_sample_size": 66,
"medium_bucket_sample_size": 72,
"wide_bucket_sample_size": 74,
"global_sample_size": 74,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5606,
"bayesian_hit_rate": 0.5476,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.7857,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5288,
"calibrated_pick_probability": 0.5361,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "SEA",
"games": 60,
"wins": 31,
"losses": 29,
"win_pct": 0.5166666666666667,
"runs_scored": 255,
"runs_allowed": 225,
"run_differential": 30,
"run_differential_per_game": 0.5,
"available": true
},
"away": {
"team": "NYM",
"games": 59,
"wins": 26,
"losses": 33,
"win_pct": 0.4406779661016949,
"runs_scored": 239,
"runs_allowed": 252,
"run_differential": -13,
"run_differential_per_game": -0.22033898305084745,
"available": true
},
"run_differential_edge_per_game": 0.7203,
"win_pct_edge": 0.076,
"quality_edge": 0.8343,
"margin_adjustment": 0.3504,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 1.856,
"home_runs": 2.194,
"home_win_probability": 0.5288
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "SEA",
"guardrail_predicted_team": "SEA",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "SEA",
"output_opponent_team": "NYM",
"final_score_winner": "SEA",
"pre_simulation_winner": "SEA",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 3,
"score_text": "NYM 2 - 3 SEA",
"winner": "SEA"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "NYM 2 - 4 SEA",
"winner": "SEA"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "SEA",
"games": 60,
"wins": 31,
"losses": 29,
"win_pct": 0.5166666666666667,
"runs_scored": 255,
"runs_allowed": 225,
"run_differential": 30,
"run_differential_per_game": 0.5,
"available": true
},
"away": {
"team": "NYM",
"games": 59,
"wins": 26,
"losses": 33,
"win_pct": 0.4406779661016949,
"runs_scored": 239,
"runs_allowed": 252,
"run_differential": -13,
"run_differential_per_game": -0.22033898305084745,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.3387,
"final_margin": 0.3387,
"margin_cap": 2.0,
"season_quality_edge": 0.8343,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.535015,
"final_confidence": 0.535015,
"confidence_cap": 0.66,
"score_gap": 0.3387,
"calibration_sample_size": 66,
"calibration_empirical_hit_rate": 0.5606,
"calibration_bayesian_hit_rate": 0.5476,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.8343,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is close",
"local calibration sample has at least 30 games",
"local calibration sample has at least 60 games",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 3,
"score_text": "NYM 2 - 3 SEA",
"winner": "SEA"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "NYM 2 - 4 SEA",
"winner": "SEA"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 2,
"home_runs": 3,
"confidence": 0.536078,
"home_win_probability": 0.536078,
"away_win_probability": 0.46392199999999995,
"predicted_score_text": "NYM 2 - 3 SEA",
"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": "NYM",
"original_runs": 2,
"run_delta": 0.2373,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 58.0,
"quality": 0.2624871625403433,
"contact": 0.37539760537243916,
"power": 0.41671843838618494,
"discipline": 0.0328828804292629,
"xwoba": 0.3315,
"recent_xwoba": 0.3315,
"barrel": 9.698275862068966,
"ab_hard_contact": 0.11587271178936899,
"ab_bat_speed": 69.81114800810342,
"ab_strikeout_rate": 0.2300542370509579,
"available_players": 9,
"top_players": [
{
"player_id": "665742",
"player_name": "Juan Soto",
"position": "LF",
"weight": 8.0,
"quality": 1.1290341102730037,
"contact": 1.6044119781312614,
"power": 2.0,
"discipline": 0.9574775359775358,
"xwoba": 0.417,
"recent_xwoba": 0.417,
"barrel": 18.4,
"ab_hard_contact": 0.9207131182857469,
"ab_bat_speed": 70.41891355641356,
"ab_strikeout_rate": 0.148005148005148,
"available": 1.0
},
{
"player_id": "666182",
"player_name": "Bo Bichette",
"position": "SS",
"weight": 9.0,
"quality": 0.557889975899228,
"contact": 0.7312560132684398,
"power": 0.3436816533796466,
"discipline": 0.2397154882154882,
"xwoba": 0.331,
"recent_xwoba": 0.331,
"barrel": 7.2,
"ab_hard_contact": -0.048652646692796814,
"ab_bat_speed": 69.04705887579499,
"ab_strikeout_rate": 0.16898148148148148,
"available": 1.0
},
{
"player_id": "620443",
"player_name": "Luis Torrens",
"position": "C",
"weight": 5.0,
"quality": -0.2916052617851111,
"contact": -0.7161064442572229,
"power": -0.9176355762648956,
"discipline": -0.45372084904342974,
"xwoba": 0.253,
"recent_xwoba": 0.253,
"barrel": 1.4,
"ab_hard_contact": -0.16109247767888038,
"ab_bat_speed": 68.83047043010752,
"ab_strikeout_rate": 0.20698924731182797,
"available": 1.0
},
{
"player_id": "676724",
"player_name": "Jared Young",
"position": "1B",
"weight": 4.0,
"quality": 0.10486268979929286,
"contact": 1.1790797370023776,
"power": 1.1345541997527697,
"discipline": 0.33076839826839866,
"xwoba": 0.39200000000000007,
"recent_xwoba": 0.392,
"barrel": 17.4,
"ab_hard_contact": -0.8700588620874835,
"ab_bat_speed": 72.63215277777778,
"ab_strikeout_rate": 0.2,
"available": 1.0
},
{
"player_id": "701807",
"player_name": "Carson Benge",
"position": "RF",
"weight": 8.0,
"quality": 0.3096649907364874,
"contact": 0.45958604727448676,
"power": 0.30671049669721373,
"discipline": -0.08792207792207815,
"xwoba": 0.329,
"recent_xwoba": 0.329,
"barrel": 8.0,
"ab_hard_contact": 0.06297183870616724,
"ab_bat_speed": 69.1056576984127,
"ab_strikeout_rate": 0.22833333333333333,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "676106",
"player_name": "Emerson Hancock",
"quality": -0.10080459985267524,
"contact": -0.3361006982865482,
"command": 0.33384084822057786,
"movement": -0.02253166829187025,
"xwoba": 0.319,
"whiff": 23.8,
"faced_est_woba": 0.31435989050120333,
"faced_launch_speed": 85.50441145385606,
"faced_strikeout_rate": 0.27121686263562694,
"faced_run_exp": 0.012737652494618439
}
},
"home": {
"team": "SEA",
"original_runs": 3,
"run_delta": 0.108,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 61.0,
"quality": 0.22220767994892945,
"contact": 0.19026823240566967,
"power": 0.22700647331020826,
"discipline": -0.0275596018681844,
"xwoba": 0.331344262295082,
"recent_xwoba": 0.331344262295082,
"barrel": 8.631147540983607,
"ab_hard_contact": 0.09323485262101065,
"ab_bat_speed": 70.93825849874342,
"ab_strikeout_rate": 0.24130340997264815,
"available_players": 9,
"top_players": [
{
"player_id": "670042",
"player_name": "Luke Raley",
"position": "RF",
"weight": 6.0,
"quality": 0.6660112165465332,
"contact": 0.9664314716962554,
"power": 1.9511321996352304,
"discipline": -1.5392860235003094,
"xwoba": 0.394,
"recent_xwoba": 0.394,
"barrel": 21.1,
"ab_hard_contact": 0.8066439927045915,
"ab_bat_speed": 73.79295027534823,
"ab_strikeout_rate": 0.3860544217687075,
"available": 1.0
},
{
"player_id": "677594",
"player_name": "Julio Rodríguez",
"position": "CF",
"weight": 9.0,
"quality": 0.45643578545628316,
"contact": 0.5332992891160807,
"power": 0.6877518937011824,
"discipline": -0.2963183364254794,
"xwoba": 0.341,
"recent_xwoba": 0.341,
"barrel": 9.2,
"ab_hard_contact": 0.6506569216426745,
"ab_bat_speed": 75.45754712301587,
"ab_strikeout_rate": 0.21594387755102043,
"available": 1.0
},
{
"player_id": "647304",
"player_name": "Josh Naylor",
"position": "1B",
"weight": 8.0,
"quality": 0.3813368144820981,
"contact": 0.6046128816910221,
"power": 0.01496719971461306,
"discipline": 0.3884771894771894,
"xwoba": 0.338,
"recent_xwoba": 0.338,
"barrel": 5.9,
"ab_hard_contact": 0.5983916133398669,
"ab_bat_speed": 68.6788141025641,
"ab_strikeout_rate": 0.13557692307692307,
"available": 1.0
},
{
"player_id": "641487",
"player_name": "J.P. Crawford",
"position": "SS",
"weight": 8.0,
"quality": 0.32562274280446757,
"contact": 0.3614030822404728,
"power": 0.1535587802391973,
"discipline": 1.0333001443001442,
"xwoba": 0.352,
"recent_xwoba": 0.352,
"barrel": 9.2,
"ab_hard_contact": -0.17377677616845277,
"ab_bat_speed": 69.77111979166666,
"ab_strikeout_rate": 0.18611111111111112,
"available": 1.0
},
{
"player_id": "806068",
"player_name": "Colt Emerson",
"position": "3B",
"weight": 5.0,
"quality": -0.10844455690458842,
"contact": -0.8081046545320151,
"power": -0.7268744515920286,
"discipline": -0.08846176046176027,
"xwoba": 0.283,
"recent_xwoba": 0.283,
"barrel": 3.7999999999999994,
"ab_hard_contact": -0.644155698507237,
"ab_bat_speed": 70.67972222222221,
"ab_strikeout_rate": 0.19444444444444445,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "681810",
"player_name": "Austin Warren",
"quality": 0.010595586773571433,
"contact": 0.016194864751983874,
"command": 0.21590448565636522,
"movement": 0.021233227662132013,
"xwoba": 0.303,
"whiff": 26.9,
"faced_est_woba": 0.29748858078231294,
"faced_launch_speed": 83.75193672839507,
"faced_strikeout_rate": 0.23809523809523808,
"faced_run_exp": 0.00977987717309145
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 2,
"home_runs": 3,
"predicted_score_text": "NYM 2 - 3 SEA",
"confidence": 0.536078,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 3,
"score_text": "NYM 2 - 3 SEA",
"winner": "SEA"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "NYM 2 - 4 SEA",
"winner": "SEA"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}Source: data/all_players_stats.csv embedded Savant hitter features. It adjusts team offense through expected production and contact quality, then records coverage so missing hitters are visible.
| Team | Applied | Offense Factor | Raw Avg Factor | Coverage Weight | Covered | Missing |
|---|---|---|---|---|---|---|
| Away NYM | True | 1.0284 | 1.0284 | 1 | 9 | 0 |
| Home SEA | True | 1.0262 | 1.0262 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SS | Bo Bichette | 519 | 1.0615 | 0.8202 | positive_batter_regression | 0.3310 | 0.2790 | 0.4280 | 7.20 | 45.40 | 90.80 | 8.40 | 16.40 | 16.50 | 7.10 | 1.8571 |
| LF | Juan Soto | 30 | 1.0945 | 1.2600 | neutral | 0.4170 | 0.2870 | 0.6260 | 18.40 | 50 | 93 | 15.20 | 21.50 | 14.20 | 13.60 | 0.1143 |
| RF | Carson Benge | 229 | 1.0444 | 0.5917 | neutral | 0.3290 | 0.2670 | 0.4190 | 8 | 44 | 90 | 10.60 | 21 | 20.80 | 7.10 | 0.8286 |
| 1B | Jared Young | 171 | 1.0453 | 0.6047 | neutral | 0.3920 | 0.2920 | 0.4620 | 17.40 | 47.80 | 89.70 | -0.10 | 26.90 | 20.60 | 11.80 | -0.3429 |
| 3B | Brett Baty | 206 | 1.0121 | 0.1609 | neutral | 0.3100 | 0.2410 | 0.3890 | 8.50 | 38.10 | 89.80 | 9.20 | 28.50 | 27.70 | 9.40 | 0.4857 |
| CF | A.J. Ewing | 219 | 1.0188 | 0.2505 | neutral | 0.3340 | 0.2560 | 0.4070 | 7.30 | 46.30 | 88.20 | 9.80 | 23.10 | 30 | 11.40 | 0.7429 |
| DH | MJ Melendez | 260 | 0.9850 | -0.1995 | negative_batter_regression | 0.2740 | 0.1590 | 0.3170 | 13 | 56.50 | 93.90 | 21.60 | 36.20 | 34.40 | 10 | -1.4857 |
| 2B | Marcus Semien | 468 | 1.0212 | 0.2826 | positive_batter_regression | 0.3110 | 0.2560 | 0.4120 | 7.80 | 33.90 | 85.90 | 17.90 | 21.90 | 20.10 | 6.10 | 1.4286 |
| C | Luis Torrens | 175 | 0.9724 | -0.3681 | neutral | 0.2530 | 0.2130 | 0.2900 | 1.40 | 40.80 | 89 | 5.70 | 24.70 | 21.20 | 5.10 | 0.2286 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LF | Randy Arozarena | 25 | 1.0353 | 0.4712 | neutral | 0.3430 | 0.2620 | 0.4120 | 7.40 | 42.60 | 91 | 7.60 | 27.60 | 22.80 | 9.20 | -0.7714 |
| SS | J.P. Crawford | 184 | 1.0480 | 0.6397 | neutral | 0.3520 | 0.2510 | 0.4190 | 9.20 | 35.90 | 88.20 | 12.90 | 17.60 | 17.40 | 14.10 | 0.5143 |
| CF | Julio Rodríguez | 65 | 1.0493 | 0.6567 | neutral | 0.3410 | 0.2640 | 0.4700 | 9.20 | 43.20 | 90.40 | 13.50 | 27.30 | 20.50 | 7 | -0.2571 |
| 1B | Josh Naylor | 425 | 1.0485 | 0.6463 | positive_batter_regression | 0.3380 | 0.2870 | 0.4270 | 5.90 | 38.20 | 87.60 | 14.50 | 20.10 | 13.40 | 8.40 | 1.1429 |
| C | Mitch Garver | 194 | 0.9928 | -0.0964 | neutral | 0.3000 | 0.1810 | 0.3150 | 6.50 | 54.30 | 90.80 | 17.10 | 34 | 29.50 | 18.20 | -0.1714 |
| DH | Rob Refsnyder | 510 | 0.9860 | -0.1870 | positive_batter_regression | 0.2650 | 0.1640 | 0.3180 | 9.80 | 39.20 | 88 | 20.10 | 26.70 | 31.40 | 7 | 1.8286 |
| 2B | Cole Young | 29 | 1.0179 | 0.2392 | neutral | 0.3200 | 0.2560 | 0.3900 | 5.70 | 37.70 | 87.80 | 16.60 | 23 | 21.10 | 8.20 | 0.5429 |
| RF | Luke Raley | 109 | 1.0820 | 1.0938 | neutral | 0.3940 | 0.2750 | 0.5930 | 21.10 | 50.50 | 91 | 15.50 | 42 | 32.90 | 5 | -0.2000 |
| 3B | Colt Emerson | 223 | 0.9761 | -0.3192 | negative_batter_regression | 0.2830 | 0.2030 | 0.3270 | 3.80 | 34.60 | 88.10 | 17.90 | 24.70 | 27.90 | 9.30 | -2 |
{
"home": {
"applied": true,
"offense_factor": 1.0262,
"raw_average_factor": 1.0262,
"team_espn_average_rank": 196.0,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "LF",
"player_id": "668227",
"player_name": "Randy Arozarena",
"offense_factor": 1.0353,
"quality_score": 0.4712,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668227",
"espn_id": 36488,
"player_name": "Randy Arozarena",
"team": "SEA",
"role": "batter",
"espn_rank": 25,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 25,
"gp_value": 60.0,
"gp_rank": 2,
"ab_value": 221.0,
"ab_rank": 26,
"r_value": 40.0,
"r_rank": 12,
"h_value": 64.0,
"h_rank": 11,
"avg_value": 0.2895927,
"avg_rank": 26.0,
"2b_value": 16.0,
"2b_rank": 6,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 6.0,
"hr_rank": 107,
"rbi_value": 26.0,
"rbi_rank": 87,
"tb_value": 100.0,
"tb_rank": 436,
"bb_value": 23.0,
"bb_rank": 67,
"so_value": 58.0,
"so_rank": 36,
"sb_value": 15.0,
"sb_rank": 5,
"obp_value": 0.372549,
"obp_rank": "29",
"slg_value": 0.4524886,
"slg_rank": "53",
"ops_value": 0.8250376,
"ops_rank": 42.0,
"war_value": 2.27,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 236.0,
"k_percent": 22.8,
"bb_percent": 9.2,
"woba": 0.37,
"xwoba": 0.343,
"xba": 0.262,
"xslg": 0.412,
"sweet_spot_percent": 37.0,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 42.6,
"exit_velocity_avg": 91.0,
"launch_angle_avg": 7.6,
"whiff_percent": 27.6,
"swing_percent": 48.3
},
"components": {
"expected_quality": 0.6735,
"regression_edge": -0.7714,
"xwoba_edge": 1.0857,
"xba_edge": 0.6571,
"xslg_edge": 0.5429,
"barrel_edge": 0.1111,
"hard_hit_edge": 0.5143,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": 0.6167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "641487",
"player_name": "J.P. Crawford",
"offense_factor": 1.048,
"quality_score": 0.6397,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641487",
"espn_id": 33210,
"player_name": "J.P. Crawford",
"team": "SEA",
"role": "batter",
"espn_rank": 184,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 184,
"gp_value": 51.0,
"gp_rank": 155,
"ab_value": 182.0,
"ab_rank": 130,
"r_value": 29.0,
"r_rank": 66,
"h_value": 40.0,
"h_rank": 154,
"avg_value": 0.2197802,
"avg_rank": 136.0,
"2b_value": 4.0,
"2b_rank": 260,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 9.0,
"hr_rank": 47,
"rbi_value": 22.0,
"rbi_rank": 134,
"tb_value": 71.0,
"tb_rank": 871,
"bb_value": 31.0,
"bb_rank": 29,
"so_value": 40.0,
"so_rank": 140,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.3440366,
"obp_rank": "62",
"slg_value": 0.3901098,
"slg_rank": "102",
"ops_value": 0.7341464,
"ops_rank": 89.0,
"war_value": 0.48,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 202.0,
"k_percent": 17.4,
"bb_percent": 14.1,
"woba": 0.334,
"xwoba": 0.352,
"xba": 0.251,
"xslg": 0.419,
"sweet_spot_percent": 38.0,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 35.9,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 12.9,
"whiff_percent": 17.6,
"swing_percent": 37.5
},
"components": {
"expected_quality": 0.7264,
"regression_edge": 0.5143,
"xwoba_edge": 1.3429,
"xba_edge": 0.3429,
"xslg_edge": 0.6429,
"barrel_edge": 0.5111,
"hard_hit_edge": -0.4429,
"exit_velocity_edge": -0.24,
"sweet_spot_edge": 0.7833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "677594",
"player_name": "Julio Rodríguez",
"offense_factor": 1.0493,
"quality_score": 0.6567,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677594",
"espn_id": 41044,
"player_name": "Julio Rodriguez",
"team": "SEA",
"role": "batter",
"espn_rank": 65,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 65,
"gp_value": 60.0,
"gp_rank": 2,
"ab_value": 243.0,
"ab_rank": 2,
"r_value": 32.0,
"r_rank": 52,
"h_value": 64.0,
"h_rank": 11,
"avg_value": 0.2633744,
"avg_rank": 62.0,
"2b_value": 13.0,
"2b_rank": 22,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 12.0,
"hr_rank": 28,
"rbi_value": 30.0,
"rbi_rank": 56,
"tb_value": 113.0,
"tb_rank": 433,
"bb_value": 18.0,
"bb_rank": 129,
"so_value": 55.0,
"so_rank": 55,
"sb_value": 5.0,
"sb_rank": 73,
"obp_value": 0.3193916,
"obp_rank": "103",
"slg_value": 0.4650205,
"slg_rank": "46",
"ops_value": 0.7844121,
"ops_rank": 64.0,
"war_value": 1.51,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 244.0,
"k_percent": 20.5,
"bb_percent": 7.0,
"woba": 0.35,
"xwoba": 0.341,
"xba": 0.264,
"xslg": 0.47,
"sweet_spot_percent": 31.4,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 43.2,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 13.5,
"whiff_percent": 27.3,
"swing_percent": 53.6
},
"components": {
"expected_quality": 0.8055,
"regression_edge": -0.2571,
"xwoba_edge": 1.0286,
"xba_edge": 0.7143,
"xslg_edge": 1.3714,
"barrel_edge": 0.5111,
"hard_hit_edge": 0.6,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": -0.3167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "647304",
"player_name": "Josh Naylor",
"offense_factor": 1.0485,
"quality_score": 0.6463,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "647304",
"espn_id": 35066,
"player_name": "Josh Naylor",
"team": "SEA",
"role": "batter",
"espn_rank": 425,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 425,
"gp_value": 56.0,
"gp_rank": 72,
"ab_value": 221.0,
"ab_rank": 26,
"r_value": 20.0,
"r_rank": 167,
"h_value": 56.0,
"h_rank": 56,
"avg_value": 0.2533936,
"avg_rank": 81.0,
"2b_value": 5.0,
"2b_rank": 228,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 5.0,
"hr_rank": 133,
"rbi_value": 24.0,
"rbi_rank": 115,
"tb_value": 76.0,
"tb_rank": 999,
"bb_value": 20.0,
"bb_rank": 98,
"so_value": 33.0,
"so_rank": 190,
"sb_value": 12.0,
"sb_rank": 13,
"obp_value": 0.3168724,
"obp_rank": "109",
"slg_value": 0.3438914,
"slg_rank": "139",
"ops_value": 0.6607638,
"ops_rank": 128.0,
"war_value": -0.19,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 13.4,
"bb_percent": 8.4,
"woba": 0.298,
"xwoba": 0.338,
"xba": 0.287,
"xslg": 0.427,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 38.2,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 14.5,
"whiff_percent": 20.1,
"swing_percent": 53.8
},
"components": {
"expected_quality": 0.5654,
"regression_edge": 1.1429,
"xwoba_edge": 0.9429,
"xba_edge": 1.3714,
"xslg_edge": 0.7571,
"barrel_edge": -0.2222,
"hard_hit_edge": -0.1143,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "641598",
"player_name": "Mitch Garver",
"offense_factor": 0.9928,
"quality_score": -0.0964,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641598",
"espn_id": 33667,
"player_name": "Mitch Garver",
"team": "SEA",
"role": "batter",
"espn_rank": 194,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 194,
"gp_value": 29.0,
"gp_rank": 331,
"ab_value": 72.0,
"ab_rank": 342,
"r_value": 12.0,
"r_rank": 270,
"h_value": 14.0,
"h_rank": 356,
"avg_value": 0.1944444,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 353,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 2.0,
"hr_rank": 255,
"rbi_value": 6.0,
"rbi_rank": 352,
"tb_value": 22.0,
"tb_rank": 1790,
"bb_value": 16.0,
"bb_rank": 154,
"so_value": 26.0,
"so_rank": 247,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.340909,
"obp_rank": "-",
"slg_value": 0.3055555,
"slg_rank": "-",
"ops_value": 0.6464645,
"ops_rank": null,
"war_value": 0.42,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 84.0,
"k_percent": 29.5,
"bb_percent": 18.2,
"woba": 0.306,
"xwoba": 0.3,
"xba": 0.181,
"xslg": 0.315,
"sweet_spot_percent": 19.6,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 54.3,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 17.1,
"whiff_percent": 34.0,
"swing_percent": 42.1
},
"components": {
"expected_quality": -0.2213,
"regression_edge": -0.1714,
"xwoba_edge": -0.1429,
"xba_edge": -1.6571,
"xslg_edge": -0.8429,
"barrel_edge": -0.0889,
"hard_hit_edge": 2.1857,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": -2.2833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "608701",
"player_name": "Rob Refsnyder",
"offense_factor": 0.986,
"quality_score": -0.187,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "608701",
"espn_id": 33411,
"player_name": "Rob Refsnyder",
"team": "SEA",
"role": "batter",
"espn_rank": 510,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 510,
"gp_value": 36.0,
"gp_rank": 283,
"ab_value": 75.0,
"ab_rank": 335,
"r_value": 7.0,
"r_rank": 355,
"h_value": 9.0,
"h_rank": 389,
"avg_value": 0.12,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 455,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 3.0,
"hr_rank": 201,
"rbi_value": 8.0,
"rbi_rank": 314,
"tb_value": 18.0,
"tb_rank": 1763,
"bb_value": 6.0,
"bb_rank": 315,
"so_value": 27.0,
"so_rank": 242,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.1976744,
"obp_rank": "-",
"slg_value": 0.24,
"slg_rank": "-",
"ops_value": 0.4376744,
"ops_rank": null,
"war_value": -0.61,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 83.0,
"k_percent": 31.4,
"bb_percent": 7.0,
"woba": 0.201,
"xwoba": 0.265,
"xba": 0.164,
"xslg": 0.318,
"sweet_spot_percent": 27.5,
"barrel_batted_rate": 9.8,
"hard_hit_percent": 39.2,
"exit_velocity_avg": 88.0,
"launch_angle_avg": 20.1,
"whiff_percent": 26.7,
"swing_percent": 42.9
},
"components": {
"expected_quality": -0.781,
"regression_edge": 1.8286,
"xwoba_edge": -1.1429,
"xba_edge": -2.1429,
"xslg_edge": -0.8,
"barrel_edge": 0.6444,
"hard_hit_edge": 0.0286,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": -0.9667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "702284",
"player_name": "Cole Young",
"offense_factor": 1.0179,
"quality_score": 0.2392,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702284",
"espn_id": 5080641,
"player_name": "Cole Young",
"team": "SEA",
"role": "batter",
"espn_rank": 29,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 29,
"gp_value": 60.0,
"gp_rank": 2,
"ab_value": 209.0,
"ab_rank": 63,
"r_value": 26.0,
"r_rank": 93,
"h_value": 51.0,
"h_rank": 81,
"avg_value": 0.2440191,
"avg_rank": 97.0,
"2b_value": 10.0,
"2b_rank": 72,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 4.0,
"hr_rank": 163,
"rbi_value": 29.0,
"rbi_rank": 62,
"tb_value": 75.0,
"tb_rank": 740,
"bb_value": 19.0,
"bb_rank": 115,
"so_value": 50.0,
"so_rank": 78,
"sb_value": 2.0,
"sb_rank": 160,
"obp_value": 0.3177966,
"obp_rank": "105",
"slg_value": 0.3588516,
"slg_rank": "126",
"ops_value": 0.6766482,
"ops_rank": 122.0,
"war_value": 2.02,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 220.0,
"k_percent": 21.1,
"bb_percent": 8.2,
"woba": 0.301,
"xwoba": 0.32,
"xba": 0.256,
"xslg": 0.39,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 37.7,
"exit_velocity_avg": 87.8,
"launch_angle_avg": 16.6,
"whiff_percent": 23.0,
"swing_percent": 47.8
},
"components": {
"expected_quality": 0.1898,
"regression_edge": 0.5429,
"xwoba_edge": 0.4286,
"xba_edge": 0.4857,
"xslg_edge": 0.2286,
"barrel_edge": -0.2667,
"hard_hit_edge": -0.1857,
"exit_velocity_edge": -0.4,
"sweet_spot_edge": 0.4167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "670042",
"player_name": "Luke Raley",
"offense_factor": 1.082,
"quality_score": 1.0938,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670042",
"espn_id": 40422,
"player_name": "Luke Raley",
"team": "SEA",
"role": "batter",
"espn_rank": 109,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 109,
"gp_value": 54.0,
"gp_rank": 119,
"ab_value": 150.0,
"ab_rank": 189,
"r_value": 22.0,
"r_rank": 134,
"h_value": 42.0,
"h_rank": 139,
"avg_value": 0.28,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 228,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 13.0,
"hr_rank": 16,
"rbi_value": 31.0,
"rbi_rank": 47,
"tb_value": 88.0,
"tb_rank": 513,
"bb_value": 9.0,
"bb_rank": 264,
"so_value": 53.0,
"so_rank": 62,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.3454545,
"obp_rank": "-",
"slg_value": 0.5866666,
"slg_rank": "-",
"ops_value": 0.9321211,
"ops_rank": null,
"war_value": 1.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 150.0,
"k_percent": 32.9,
"bb_percent": 5.0,
"woba": 0.401,
"xwoba": 0.394,
"xba": 0.275,
"xslg": 0.593,
"sweet_spot_percent": 41.1,
"barrel_batted_rate": 21.1,
"hard_hit_percent": 50.5,
"exit_velocity_avg": 91.0,
"launch_angle_avg": 15.5,
"whiff_percent": 42.0,
"swing_percent": 54.2
},
"components": {
"expected_quality": 1.898,
"regression_edge": -0.2,
"xwoba_edge": 2.5,
"xba_edge": 1.0286,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": 1.6429,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": 1.3,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "806068",
"player_name": "Colt Emerson",
"offense_factor": 0.9761,
"quality_score": -0.3192,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "806068",
"espn_id": 5149068,
"player_name": "Colt Emerson",
"team": "SEA",
"role": "batter",
"espn_rank": 223,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 223,
"gp_value": 13.0,
"gp_rank": 419,
"ab_value": 41.0,
"ab_rank": 403,
"r_value": 6.0,
"r_rank": 367,
"h_value": 10.0,
"h_rank": 379,
"avg_value": 0.2439024,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 298,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 2.0,
"hr_rank": 255,
"rbi_value": 7.0,
"rbi_rank": 332,
"tb_value": 21.0,
"tb_rank": 1540,
"bb_value": 5.0,
"bb_rank": 347,
"so_value": 13.0,
"so_rank": 380,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3404255,
"obp_rank": "-",
"slg_value": 0.5121951,
"slg_rank": "-",
"ops_value": 0.8526206,
"ops_rank": null,
"war_value": 0.32,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 32.0,
"k_percent": 27.9,
"bb_percent": 9.3,
"woba": 0.368,
"xwoba": 0.283,
"xba": 0.203,
"xslg": 0.327,
"sweet_spot_percent": 46.2,
"barrel_batted_rate": 3.8,
"hard_hit_percent": 34.6,
"exit_velocity_avg": 88.1,
"launch_angle_avg": 17.9,
"whiff_percent": 24.7,
"swing_percent": 46.8
},
"components": {
"expected_quality": -0.4993,
"regression_edge": -2.0,
"xwoba_edge": -0.6286,
"xba_edge": -1.0286,
"xslg_edge": -0.6714,
"barrel_edge": -0.6889,
"hard_hit_edge": -0.6286,
"exit_velocity_edge": -0.28,
"sweet_spot_edge": 2.15,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0284,
"raw_average_factor": 1.0284,
"team_espn_average_rank": 253.0,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "SS",
"player_id": "666182",
"player_name": "Bo Bichette",
"offense_factor": 1.0615,
"quality_score": 0.8202,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "666182",
"espn_id": 38904,
"player_name": "Bo Bichette",
"team": "NYM",
"role": "batter",
"espn_rank": 519,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 519,
"gp_value": 59.0,
"gp_rank": 19,
"ab_value": 237.0,
"ab_rank": 6,
"r_value": 28.0,
"r_rank": 72,
"h_value": 52.0,
"h_rank": 77,
"avg_value": 0.2194092,
"avg_rank": 138.0,
"2b_value": 6.0,
"2b_rank": 195,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 5.0,
"hr_rank": 133,
"rbi_value": 28.0,
"rbi_rank": 71,
"tb_value": 73.0,
"tb_rank": 987,
"bb_value": 19.0,
"bb_rank": 115,
"so_value": 42.0,
"so_rank": 127,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.2751937,
"obp_rank": "157",
"slg_value": 0.3080168,
"slg_rank": "162",
"ops_value": 0.5832105,
"ops_rank": 164.0,
"war_value": -0.7,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 241.0,
"k_percent": 16.5,
"bb_percent": 7.1,
"woba": 0.266,
"xwoba": 0.331,
"xba": 0.279,
"xslg": 0.428,
"sweet_spot_percent": 32.5,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 45.4,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 8.4,
"whiff_percent": 16.4,
"swing_percent": 52.9
},
"components": {
"expected_quality": 0.6514,
"regression_edge": 1.8571,
"xwoba_edge": 0.7429,
"xba_edge": 1.1429,
"xslg_edge": 0.7714,
"barrel_edge": 0.0667,
"hard_hit_edge": 0.9143,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": -0.1333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "665742",
"player_name": "Juan Soto",
"offense_factor": 1.0945,
"quality_score": 1.26,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665742",
"espn_id": 36969,
"player_name": "Juan Soto",
"team": "NYM",
"role": "batter",
"espn_rank": 30,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 30,
"gp_value": 42.0,
"gp_rank": 233,
"ab_value": 154.0,
"ab_rank": 185,
"r_value": 27.0,
"r_rank": 84,
"h_value": 47.0,
"h_rank": 108,
"avg_value": 0.3051948,
"avg_rank": 10.0,
"2b_value": 4.0,
"2b_rank": 260,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 13.0,
"hr_rank": 16,
"rbi_value": 29.0,
"rbi_rank": 62,
"tb_value": 92.0,
"tb_rank": 514,
"bb_value": 24.0,
"bb_rank": 60,
"so_value": 26.0,
"so_rank": 247,
"sb_value": 5.0,
"sb_rank": 73,
"obp_value": 0.396648,
"obp_rank": "8",
"slg_value": 0.5974025,
"slg_rank": "3",
"ops_value": 0.9940505,
"ops_rank": 3.0,
"war_value": 2.01,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 157.0,
"k_percent": 14.2,
"bb_percent": 13.6,
"woba": 0.413,
"xwoba": 0.417,
"xba": 0.287,
"xslg": 0.626,
"sweet_spot_percent": 30.2,
"barrel_batted_rate": 18.4,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 93.0,
"launch_angle_avg": 15.2,
"whiff_percent": 21.5,
"swing_percent": 40.6
},
"components": {
"expected_quality": 2.0344,
"regression_edge": 0.1143,
"xwoba_edge": 2.5,
"xba_edge": 1.3714,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": 1.5714,
"exit_velocity_edge": 1.68,
"sweet_spot_edge": -0.5167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "701807",
"player_name": "Carson Benge",
"offense_factor": 1.0444,
"quality_score": 0.5917,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701807",
"espn_id": 4925604,
"player_name": "Carson Benge",
"team": "NYM",
"role": "batter",
"espn_rank": 229,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 229,
"gp_value": 56.0,
"gp_rank": 72,
"ab_value": 198.0,
"ab_rank": 101,
"r_value": 28.0,
"r_rank": 72,
"h_value": 50.0,
"h_rank": 88,
"avg_value": 0.2525252,
"avg_rank": 81.0,
"2b_value": 9.0,
"2b_rank": 97,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 4.0,
"hr_rank": 163,
"rbi_value": 21.0,
"rbi_rank": 141,
"tb_value": 71.0,
"tb_rank": 990,
"bb_value": 16.0,
"bb_rank": 154,
"so_value": 46.0,
"so_rank": 94,
"sb_value": 9.0,
"sb_rank": 28,
"obp_value": 0.3179723,
"obp_rank": "105",
"slg_value": 0.3585858,
"slg_rank": "126",
"ops_value": 0.6765581,
"ops_rank": 122.0,
"war_value": 0.29,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 199.0,
"k_percent": 20.8,
"bb_percent": 7.1,
"woba": 0.3,
"xwoba": 0.329,
"xba": 0.267,
"xslg": 0.419,
"sweet_spot_percent": 40.7,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 44.0,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 10.6,
"whiff_percent": 21.0,
"swing_percent": 44.9
},
"components": {
"expected_quality": 0.6257,
"regression_edge": 0.8286,
"xwoba_edge": 0.6857,
"xba_edge": 0.8,
"xslg_edge": 0.6429,
"barrel_edge": 0.2444,
"hard_hit_edge": 0.7143,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 1.2333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "676724",
"player_name": "Jared Young",
"offense_factor": 1.0453,
"quality_score": 0.6047,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676724",
"espn_id": 41575,
"player_name": "Jared Young",
"team": "NYM",
"role": "batter",
"espn_rank": 171,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 171,
"gp_value": 16.0,
"gp_rank": 406,
"ab_value": 33.0,
"ab_rank": 417,
"r_value": 6.0,
"r_rank": 367,
"h_value": 10.0,
"h_rank": 379,
"avg_value": 0.3030303,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 353,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 1.0,
"hr_rank": 317,
"rbi_value": 3.0,
"rbi_rank": 410,
"tb_value": 15.0,
"tb_rank": 1999,
"bb_value": 5.0,
"bb_rank": 347,
"so_value": 8.0,
"so_rank": 426,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3846153,
"obp_rank": "-",
"slg_value": 0.4545454,
"slg_rank": "-",
"ops_value": 0.8391607,
"ops_rank": null,
"war_value": 0.55,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 25.0,
"k_percent": 20.6,
"bb_percent": 11.8,
"woba": 0.404,
"xwoba": 0.392,
"xba": 0.292,
"xslg": 0.462,
"sweet_spot_percent": 26.1,
"barrel_batted_rate": 17.4,
"hard_hit_percent": 47.8,
"exit_velocity_avg": 89.7,
"launch_angle_avg": -0.1,
"whiff_percent": 26.9,
"swing_percent": 46.5
},
"components": {
"expected_quality": 1.6183,
"regression_edge": -0.3429,
"xwoba_edge": 2.4857,
"xba_edge": 1.5143,
"xslg_edge": 1.2571,
"barrel_edge": 2.3333,
"hard_hit_edge": 1.2571,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": -1.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "683146",
"player_name": "Brett Baty",
"offense_factor": 1.0121,
"quality_score": 0.1609,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683146",
"espn_id": 42414,
"player_name": "Brett Baty",
"team": "NYM",
"role": "batter",
"espn_rank": 206,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 206,
"gp_value": 55.0,
"gp_rank": 100,
"ab_value": 173.0,
"ab_rank": 141,
"r_value": 22.0,
"r_rank": 134,
"h_value": 40.0,
"h_rank": 154,
"avg_value": 0.2312138,
"avg_rank": 122.0,
"2b_value": 8.0,
"2b_rank": 139,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 3.0,
"hr_rank": 201,
"rbi_value": 23.0,
"rbi_rank": 126,
"tb_value": 59.0,
"tb_rank": 994,
"bb_value": 18.0,
"bb_rank": 129,
"so_value": 55.0,
"so_rank": 55,
"sb_value": 2.0,
"sb_rank": 160,
"obp_value": 0.3041237,
"obp_rank": "126",
"slg_value": 0.3410404,
"slg_rank": "141",
"ops_value": 0.6451641,
"ops_rank": 139.0,
"war_value": 0.37,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 180.0,
"k_percent": 27.7,
"bb_percent": 9.4,
"woba": 0.293,
"xwoba": 0.31,
"xba": 0.241,
"xslg": 0.389,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 38.1,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 9.2,
"whiff_percent": 28.5,
"swing_percent": 45.3
},
"components": {
"expected_quality": 0.1496,
"regression_edge": 0.4857,
"xwoba_edge": 0.1429,
"xba_edge": 0.0571,
"xslg_edge": 0.2143,
"barrel_edge": 0.3556,
"hard_hit_edge": -0.1286,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": 0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "805999",
"player_name": "A.J. Ewing",
"offense_factor": 1.0188,
"quality_score": 0.2505,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805999",
"espn_id": 5208019,
"player_name": "A.J. Ewing",
"team": "NYM",
"role": "batter",
"espn_rank": 219,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 219,
"gp_value": 19.0,
"gp_rank": 386,
"ab_value": 63.0,
"ab_rank": 361,
"r_value": 8.0,
"r_rank": 335,
"h_value": 15.0,
"h_rank": 342,
"avg_value": 0.2380952,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 455,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 1.0,
"hr_rank": 317,
"rbi_value": 6.0,
"rbi_rank": 352,
"tb_value": 20.0,
"tb_rank": 1846,
"bb_value": 9.0,
"bb_rank": 264,
"so_value": 24.0,
"so_rank": 275,
"sb_value": 4.0,
"sb_rank": 95,
"obp_value": 0.3333333,
"obp_rank": "-",
"slg_value": 0.3174603,
"slg_rank": "-",
"ops_value": 0.6507936,
"ops_rank": null,
"war_value": 0.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 57.0,
"k_percent": 30.0,
"bb_percent": 11.4,
"woba": 0.308,
"xwoba": 0.334,
"xba": 0.256,
"xslg": 0.407,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 46.3,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 9.8,
"whiff_percent": 23.1,
"swing_percent": 40.6
},
"components": {
"expected_quality": 0.5263,
"regression_edge": 0.7429,
"xwoba_edge": 0.8286,
"xba_edge": 0.4857,
"xslg_edge": 0.4714,
"barrel_edge": 0.0889,
"hard_hit_edge": 1.0429,
"exit_velocity_edge": -0.24,
"sweet_spot_edge": 0.55,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "669004",
"player_name": "MJ Melendez",
"offense_factor": 0.985,
"quality_score": -0.1995,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "669004",
"espn_id": 40948,
"player_name": "MJ Melendez",
"team": "NYM",
"role": "batter",
"espn_rank": 260,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 260,
"gp_value": 36.0,
"gp_rank": 283,
"ab_value": 76.0,
"ab_rank": 332,
"r_value": 9.0,
"r_rank": 318,
"h_value": 16.0,
"h_rank": 334,
"avg_value": 0.2105263,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 298,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 3.0,
"hr_rank": 201,
"rbi_value": 9.0,
"rbi_rank": 298,
"tb_value": 30.0,
"tb_rank": 1333,
"bb_value": 9.0,
"bb_rank": 264,
"so_value": 31.0,
"so_rank": 207,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3222222,
"obp_rank": "-",
"slg_value": 0.3947368,
"slg_rank": "-",
"ops_value": 0.716959,
"ops_rank": null,
"war_value": 0.18,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 83.0,
"k_percent": 34.4,
"bb_percent": 10.0,
"woba": 0.326,
"xwoba": 0.274,
"xba": 0.159,
"xslg": 0.317,
"sweet_spot_percent": 23.9,
"barrel_batted_rate": 13.0,
"hard_hit_percent": 56.5,
"exit_velocity_avg": 93.9,
"launch_angle_avg": 21.6,
"whiff_percent": 36.2,
"swing_percent": 47.2
},
"components": {
"expected_quality": -0.2736,
"regression_edge": -1.4857,
"xwoba_edge": -0.8857,
"xba_edge": -2.2857,
"xslg_edge": -0.8143,
"barrel_edge": 1.3556,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.04,
"sweet_spot_edge": -1.5667,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "2B",
"player_id": "543760",
"player_name": "Marcus Semien",
"offense_factor": 1.0212,
"quality_score": 0.2826,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "543760",
"espn_id": 32146,
"player_name": "Marcus Semien",
"team": "NYM",
"role": "batter",
"espn_rank": 468,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 468,
"gp_value": 59.0,
"gp_rank": 19,
"ab_value": 212.0,
"ab_rank": 55,
"r_value": 22.0,
"r_rank": 134,
"h_value": 48.0,
"h_rank": 102,
"avg_value": 0.226415,
"avg_rank": 128.0,
"2b_value": 8.0,
"2b_rank": 139,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 5.0,
"hr_rank": 133,
"rbi_value": 22.0,
"rbi_rank": 134,
"tb_value": 71.0,
"tb_rank": 956,
"bb_value": 16.0,
"bb_rank": 154,
"so_value": 46.0,
"so_rank": 94,
"sb_value": 5.0,
"sb_rank": 73,
"obp_value": 0.2801724,
"obp_rank": "154",
"slg_value": 0.3349056,
"slg_rank": "146",
"ops_value": 0.615078,
"ops_rank": 157.0,
"war_value": -0.36,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 214.0,
"k_percent": 20.1,
"bb_percent": 6.1,
"woba": 0.261,
"xwoba": 0.311,
"xba": 0.256,
"xslg": 0.412,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 33.9,
"exit_velocity_avg": 85.9,
"launch_angle_avg": 17.9,
"whiff_percent": 21.9,
"swing_percent": 51.2
},
"components": {
"expected_quality": 0.1053,
"regression_edge": 1.4286,
"xwoba_edge": 0.1714,
"xba_edge": 0.4857,
"xslg_edge": 0.5429,
"barrel_edge": 0.2,
"hard_hit_edge": -0.7286,
"exit_velocity_edge": -1.16,
"sweet_spot_edge": 0.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "620443",
"player_name": "Luis Torrens",
"offense_factor": 0.9724,
"quality_score": -0.3681,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "620443",
"espn_id": 33805,
"player_name": "Luis Torrens",
"team": "NYM",
"role": "batter",
"espn_rank": 175,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 175,
"gp_value": 35.0,
"gp_rank": 290,
"ab_value": 93.0,
"ab_rank": 295,
"r_value": 9.0,
"r_rank": 318,
"h_value": 20.0,
"h_rank": 300,
"avg_value": 0.2150537,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 170,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 0.0,
"hr_rank": 401,
"rbi_value": 13.0,
"rbi_rank": 247,
"tb_value": 27.0,
"tb_rank": 1989,
"bb_value": 5.0,
"bb_rank": 347,
"so_value": 21.0,
"so_rank": 306,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.2772277,
"obp_rank": "-",
"slg_value": 0.2903225,
"slg_rank": "-",
"ops_value": 0.5675502,
"ops_rank": null,
"war_value": 0.53,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 92.0,
"k_percent": 21.2,
"bb_percent": 5.1,
"woba": 0.245,
"xwoba": 0.253,
"xba": 0.213,
"xslg": 0.29,
"sweet_spot_percent": 28.2,
"barrel_batted_rate": 1.4,
"hard_hit_percent": 40.8,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 5.7,
"whiff_percent": 24.7,
"swing_percent": 50.7
},
"components": {
"expected_quality": -0.9884,
"regression_edge": 0.2286,
"xwoba_edge": -1.4857,
"xba_edge": -0.7429,
"xslg_edge": -1.2,
"barrel_edge": -1.2222,
"hard_hit_edge": 0.2571,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": -0.85,
"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 NYM | True | 101 | -0.0223 | 0.4500 | 1.0019 | 1.0162 | 1.0189 | 1.0079 | neutral | 0.3030 | 0.2780 | 27.80 | 11.40 | 26.90 | 8.30 | 39.60 | |
| Home SEA | True | 39 | -0.0969 | 0.8200 | 1.0082 | 1.0023 | 0.9459 | 1.0586 | negative_pitcher_regression | 0.3190 | 0.2810 | 25.10 | 6 | 23.80 | 9.50 | 42.90 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away NYM | True | None | 32 | 88.03 | 2603 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0930 | |
| Home SEA | True | None | 95 | 89.48 | 2379 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0118 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0067 |
| home_runs_vs_away_pitcher | 1.0009 |
| home_pitcher_quality_edge | -0.0746 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "676106",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 205.0,
"k_percent": 25.1,
"bb_percent": 6.0,
"woba": 0.281,
"xwoba": 0.319,
"sweet_spot_percent": 31.8,
"barrel_batted_rate": 9.5,
"hard_hit_percent": 42.9,
"avg_best_speed": 78.6203,
"avg_hyper_speed": 94.7691,
"whiff_percent": 23.8,
"swing_percent": 52.6
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.1201,
"command_and_miss": 0.2257,
"regression_edge": -1.0857,
"xwoba_edge": -0.2,
"barrel_edge": -0.5111,
"hard_hit_edge": -0.6143,
"whiff_edge": -0.2857,
"bb_edge": 0.825,
"pitch_design_score": -0.0118
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676106",
"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": 89.48465440929276,
"release_spin_rate": 2379.0926715043242,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 89.48465440929276,
"release_spin_rate": 2379.0926715043242,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.4847,
"release_spin_rate": 2379.0927,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.0969,
"sample_weight": 0.82,
"run_prevention_factor": 1.0082,
"strikeout_factor": 1.0023,
"walk_factor": 0.9459,
"homer_factor": 1.0586,
"woba_minus_xwoba": -0.038,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "676106",
"espn_id": 4297897,
"player_name": "Emerson Hancock",
"team": "SEA",
"role": "pitcher",
"espn_rank": 39,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 39,
"gp_value": 11.0,
"gp_rank": 291,
"gs_value": 11.0,
"gs_rank": 48,
"qs_value": 7.0,
"qs_rank": 12,
"era_value": 2.7835,
"era_rank": 13.0,
"w_value": 4.0,
"w_rank": 43,
"l_value": 2.0,
"l_rank": 140,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 64.2,
"ip_rank": 40,
"h_value": 50.0,
"h_rank": 84,
"er_value": 20.0,
"er_rank": 114,
"hr_value": 8.0,
"hr_rank": 48,
"bb_value": 15.0,
"bb_rank": 143,
"k_value": 63.0,
"k_rank": 40,
"k_per_9_value": 8.768042,
"k_per_9_rank": 27,
"whip_value": 1.0051,
"whip_rank": 11.0,
"war_value": 1.5,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "681810",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 65.0,
"k_percent": 27.8,
"bb_percent": 11.4,
"woba": 0.278,
"xwoba": 0.303,
"sweet_spot_percent": 50.0,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 39.6,
"avg_best_speed": 81.991,
"avg_hyper_speed": 93.5025,
"whiff_percent": 26.9,
"swing_percent": 42.4
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.0796,
"command_and_miss": 0.2843,
"regression_edge": -0.7143,
"xwoba_edge": 0.2571,
"barrel_edge": -0.2444,
"hard_hit_edge": -0.1429,
"whiff_edge": 0.1571,
"bb_edge": -0.525,
"pitch_design_score": -0.093
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "681810",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 32,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 32,
"pitch_usage": 0.0,
"release_speed": 88.03446769159858,
"release_spin_rate": 2603.242340277507,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 32,
"pitch_usage": 0.0,
"release_speed": 88.03446769159858,
"release_spin_rate": 2603.242340277507,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0345,
"release_spin_rate": 2603.2423,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.093,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6643,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0223,
"sample_weight": 0.45,
"run_prevention_factor": 1.0019,
"strikeout_factor": 1.0162,
"walk_factor": 1.0189,
"homer_factor": 1.0079,
"woba_minus_xwoba": -0.025,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681810",
"espn_id": 42848,
"player_name": "Austin Warren",
"team": "NYM",
"role": "pitcher",
"espn_rank": 101,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 101,
"gp_value": 14.0,
"gp_rank": 210,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 1.3965,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 19.1,
"ip_rank": 334,
"h_value": 14.0,
"h_rank": 375,
"er_value": 3.0,
"er_rank": 505,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 9.0,
"bb_rank": 272,
"k_value": 22.0,
"k_rank": 269,
"k_per_9_value": 10.24138,
"k_per_9_rank": 21,
"whip_value": 1.1896,
"whip_rank": null,
"war_value": 0.77,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0067,
"home_runs_vs_away_pitcher": 1.0009,
"home_pitcher_quality_edge": -0.0746
},
"score_before": {
"away_runs": 2.0,
"home_runs": 2.0
},
"score_after": {
"away_runs": 2.0134,
"home_runs": 2.0017,
"home_win_probability": 0.4977
},
"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 NYM | 20-32 | 0.385 | 1.20 | 3.20 | -106 | cold | strong | |
| Home SEA | 24-31 | 0.436 | 1.30 | 2.90 | -88 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away NYM | 26-33 | 0.441 | -13 | -0.220 | True |
| Home SEA | 31-29 | 0.517 | 30 | 0.500 | True |
| Signal | - | - | 0.720 | 0.834 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target NYM | - | - | 2 | - | - | - | - |
| Game target SEA | - | - | 3 | - | - | - | - |
| Player finalized NYM | 58 | 13 | 7 | 1 | 8 | 6 | 14 |
| Player finalized SEA | 61 | 15 | 9 | 2 | 10 | 7 | 15 |
| Player model fractional NYM | 56.15 | 12.58 | 7.13 | 1.72 | 6.72 | 5.76 | 13.45 |
| Player model fractional SEA | 59.31 | 15.57 | 9.43 | 2.60 | 8.50 | 6.06 | 14.03 |
| Simulation box NYM | 33 | 6 | 2 | 0 | 2 | 2 | 8 |
| Simulation box SEA | 33 | 9 | 4 | 1 | 4 | 4 | 10 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away NYM | Starter | Austin Warren | 4 | 4 | 6 | 6 | 3 | 3.26 | 1.30 | True |
| Away NYM | Middle Reliever | Brooks Raley | 1 | 0 | 1 | 1 | 0 | 3.05 | 1.51 | True |
| Away NYM | Middle Reliever | Devin Williams | 1 | 0 | 1 | 2 | 0 | 5.06 | 1.44 | True |
| Away NYM | Middle Reliever | Huascar Brazobán | 1 | 0 | 1 | 0 | 0 | 3.21 | 1.19 | True |
| Away NYM | Middle Reliever | Luke Weaver | 1 | 0 | 1 | 0 | 1 | 2.46 | 1.18 | True |
| Home SEA | Starter | Emerson Hancock | 6 | 0 | 6 | 2 | 0 | 3.30 | 1.13 | True |
| Home SEA | Middle Reliever | Matt Brash | 2 | 0 | 1 | 1 | 2 | 3.25 | 1.27 | True |
| Home SEA | Middle Reliever | José A. Ferrer | 1 | 2 | 1 | 3 | 0 | 3.10 | 1.10 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | SEA | batter | C | Mitch Garver | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 2.0000 | boost | worse |
| home | SEA | batter | LF | Randy Arozarena | better | 11 | 8 | 3 | 9 | 2 | predicted_RBI | 1.5500 | boost | better |
| away | NYM | batter | 1B | Jared Young | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.4640 | boost | worse |
| away | NYM | batter | DH | MJ Melendez | better | 10 | 5 | 5 | 6 | 4 | predicted_H | 1.4400 | boost | better |
| home | SEA | batter | SS | J.P. Crawford | worse | 11 | 4 | 7 | 5 | 6 | predicted_BB | 1.3480 | boost | better |
| away | NYM | batter | CF | A.J. Ewing | better | 11 | 6 | 5 | 7 | 4 | predicted_H | 1.2100 | boost | better |
| home | SEA | batter | RF | Luke Raley | better | 11 | 7 | 4 | 8 | 3 | predicted_H | 1.2000 | boost | better |
| away | NYM | batter | RF | Carson Benge | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.1720 | boost | worse |
| home | SEA | batter | 2B | Cole Young | better | 11 | 8 | 3 | 7 | 4 | predicted_SO | 1.1410 | boost | worse |
| home | SEA | pitcher | Starter | Emerson Hancock | better | 1 | 1 | 0 | 1 | 0 | predicted_SO | 1.0000 | boost | better |
| home | SEA | pitcher | Middle Reliever | Matt Brash | neutral | 2 | 1 | 1 | 1 | 1 | predicted_IP | 1.0000 | boost | better |
| away | NYM | batter | SS | Bo Bichette | worse | 11 | 0 | 11 | 1 | 10 | predicted_H | -0.9600 | deboost | worse |
| away | NYM | batter | 3B | Brett Baty | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 0.9130 | boost | worse |
| away | NYM | batter | LF | Juan Soto | worse | 10 | 4 | 6 | 3 | 7 | predicted_RBI | -0.8600 | deboost | worse |
| away | NYM | batter | 2B | Marcus Semien | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -0.8000 | deboost | worse |
| away | NYM | batter | C | Luis Torrens | worse | 9 | 1 | 8 | 2 | 7 | predicted_H | 0.7700 | boost | better |
| home | SEA | batter | DH | Rob Refsnyder | better | 10 | 7 | 3 | 6 | 4 | predicted_BB | 0.7650 | boost | better |
| home | SEA | batter | 3B | Colt Emerson | worse | 12 | 5 | 7 | 4 | 8 | predicted_H | -0.7100 | deboost | worse |
| home | SEA | batter | CF | Julio Rodríguez | worse | 11 | 3 | 8 | 2 | 9 | predicted_RBI | -0.6500 | deboost | worse |
| home | SEA | batter | 1B | Josh Naylor | worse | 10 | 3 | 7 | 2 | 8 | predicted_R | -0.4010 | deboost | worse |
| home | SEA | pitcher | Middle Reliever | José A. Ferrer | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.3333 | boost | better |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Austin Warren |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0223 |
| ESPN Rank | 101 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0930 |
| Avg Velo | 88.0345 |
| Avg Spin | 2603.2423 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4 |
| Pre ER | 4 |
| Pre H | 6 |
| Pre BB | 3 |
| Pre SO | 6 |
| Season ERA | 1.3966 |
| Season WHIP | 1.1897 |
| Role Avg IP | 1.3810 |
| Recent Avg IP | 1.3330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 66,
"wins": 27,
"losses": 39,
"win_pct": 0.4091,
"runs_scored": 257.0,
"runs_allowed": 272.0,
"run_differential": -15.0,
"run_differential_per_game": -0.2273,
"avg_runs_scored": 3.8939,
"avg_runs_allowed": 4.1212,
"offense_index": 0.8772,
"defense_index": 1.0771,
"current_streak": "W4",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 3.6,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.1054
},
"opponent": {
"team": "SEA",
"games": 66,
"wins": 35,
"losses": 31,
"win_pct": 0.5303,
"runs_scored": 296.0,
"runs_allowed": 259.0,
"run_differential": 37.0,
"run_differential_per_game": 0.5606,
"avg_runs_scored": 4.4848,
"avg_runs_allowed": 3.9242,
"offense_index": 1.0103,
"defense_index": 1.1312,
"current_streak": "W6",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.0,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.2002
},
"edges": {
"quality_edge": -0.3056,
"offense_edge": -0.1228,
"opponent_offense_edge": 0.0103,
"defense_strength": 0.0771,
"opponent_defense_weakness": -0.1312,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9897,
"run_prevention": 1.0092,
"strikeout": 0.99
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681810",
"profile": {
"available": true,
"pitcher_id": "681810",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 65.0,
"k_percent": 27.8,
"bb_percent": 11.4,
"woba": 0.278,
"xwoba": 0.303,
"sweet_spot_percent": 50.0,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 39.6,
"avg_best_speed": 81.991,
"avg_hyper_speed": 93.5025,
"whiff_percent": 26.9,
"swing_percent": 42.4
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.0796,
"command_and_miss": 0.2843,
"regression_edge": -0.7143,
"xwoba_edge": 0.2571,
"barrel_edge": -0.2444,
"hard_hit_edge": -0.1429,
"whiff_edge": 0.1571,
"bb_edge": -0.525,
"pitch_design_score": -0.093
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "681810",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 32,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 32,
"pitch_usage": 0.0,
"release_speed": 88.03446769159858,
"release_spin_rate": 2603.242340277507,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 32,
"pitch_usage": 0.0,
"release_speed": 88.03446769159858,
"release_spin_rate": 2603.242340277507,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0345,
"release_spin_rate": 2603.2423,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.093,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6643,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0223,
"sample_weight": 0.45,
"run_prevention_factor": 1.0019,
"strikeout_factor": 1.0162,
"walk_factor": 1.0189,
"homer_factor": 1.0079,
"woba_minus_xwoba": -0.025,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681810",
"espn_id": 42848,
"player_name": "Austin Warren",
"team": "NYM",
"role": "pitcher",
"espn_rank": 101,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 101,
"gp_value": 14.0,
"gp_rank": 210,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 1.3965,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 19.1,
"ip_rank": 334,
"h_value": 14.0,
"h_rank": 375,
"er_value": 3.0,
"er_rank": 505,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 9.0,
"bb_rank": 272,
"k_value": 22.0,
"k_rank": 269,
"k_per_9_value": 10.24138,
"k_per_9_rank": 21,
"whip_value": 1.1896,
"whip_rank": null,
"war_value": 0.77,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0009,
"adjusted": 1
},
"predicted_H": {
"original": 3.0,
"factor": 1.0009,
"adjusted": 3
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0085,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0036,
"adjusted": 0
},
"predicted_SO": {
"original": 4.0,
"factor": 1.0073,
"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": 15.0,
"ER": 2,
"H": 10,
"BB": 8,
"SO": 17,
"HR": 0,
"ERA": 1.2,
"WHIP": 1.2,
"K9": 10.2,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-30T00:00:00"
}{
"available": true,
"pitcher_id": "681810",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 32,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 32,
"pitch_usage": 0.0,
"release_speed": 88.03446769159858,
"release_spin_rate": 2603.242340277507,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 32,
"pitch_usage": 0.0,
"release_speed": 88.03446769159858,
"release_spin_rate": 2603.242340277507,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0345,
"release_spin_rate": 2603.2423,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.093,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6643,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.815,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4328,
"prior_weight": 0.5672
},
"role": "pitcher",
"player_id": "681810",
"report_date": "20260601_N",
"season_year": 2026,
"rows_used": 14,
"reference_playing_time": 4.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.2,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 3.0,
"SO": 7.0,
"HR": 0.0,
"BF": 28.0,
"Pitches": 113.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.4,
"H": 1.2,
"BB": 0.6,
"SO": 1.4,
"HR": 0.0,
"BF": 5.6,
"Pitches": 22.6
},
"rates": {
"ERA": 2.7,
"WHIP": 1.35,
"ER_per_IP": 0.3,
"H_per_IP": 0.9,
"BB_per_IP": 0.45,
"SO_per_IP": 1.05,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 15.0,
"ER": 2.0,
"R": 2.0,
"H": 10.0,
"BB": 8.0,
"SO": 17.0,
"HR": 0.0,
"BF": 61.0,
"Pitches": 249.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.8,
"SO": 1.7,
"HR": 0.0,
"BF": 6.1,
"Pitches": 24.9
},
"rates": {
"ERA": 1.2,
"WHIP": 1.2,
"ER_per_IP": 0.13333,
"H_per_IP": 0.66667,
"BB_per_IP": 0.53333,
"SO_per_IP": 1.13333,
"HR_per_IP": 0.0
}
},
"season": {
"games": 14,
"totals": {
"IP": 19.1,
"ER": 3.0,
"R": 4.0,
"H": 14.0,
"BB": 9.0,
"SO": 22.0,
"HR": 1.0,
"BF": 79.0,
"Pitches": 316.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2143,
"R": 0.2857,
"H": 1.0,
"BB": 0.6429,
"SO": 1.5714,
"HR": 0.0714,
"BF": 5.6429,
"Pitches": 22.5714
},
"rates": {
"ERA": 1.3966,
"WHIP": 1.1897,
"ER_per_IP": 0.15517,
"H_per_IP": 0.72414,
"BB_per_IP": 0.46552,
"SO_per_IP": 1.13793,
"HR_per_IP": 0.05172
}
}
},
"weighted_prediction": {
"predicted_IP": 3.0,
"predicted_ER": 1.031,
"predicted_H": 2.498,
"predicted_BB": 1.189,
"predicted_SO": 2.869,
"predicted_HR": 0.229,
"predicted_ERA": 3.2605,
"predicted_WHIP": 1.2956
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5896,
"form_weight": 0.4104,
"form_reliability": 0.4328,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.815,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4328,
"prior_weight": 0.5672
},
"applied_metrics": {
"predicted_IP": {
"model": 4.0,
"form": 3.0,
"final": 3.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 1.031,
"final": 2.7816,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 2.498,
"final": 4.5629,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.189,
"final": 2.2568,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 2.869,
"final": 4.7152,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.229,
"final": 0.6836,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2605,
"final": 3.2605,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2956,
"final": 1.2956,
"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 | Brooks Raley |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0765 |
| ESPN Rank | 77 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2800 |
| Avg Velo | 84.2931 |
| Avg Spin | 2613.9990 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 1.2462 |
| Season WHIP | 1.2000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 66,
"wins": 27,
"losses": 39,
"win_pct": 0.4091,
"runs_scored": 257.0,
"runs_allowed": 272.0,
"run_differential": -15.0,
"run_differential_per_game": -0.2273,
"avg_runs_scored": 3.8939,
"avg_runs_allowed": 4.1212,
"offense_index": 0.8772,
"defense_index": 1.0771,
"current_streak": "W4",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 3.6,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.1054
},
"opponent": {
"team": "SEA",
"games": 66,
"wins": 35,
"losses": 31,
"win_pct": 0.5303,
"runs_scored": 296.0,
"runs_allowed": 259.0,
"run_differential": 37.0,
"run_differential_per_game": 0.5606,
"avg_runs_scored": 4.4848,
"avg_runs_allowed": 3.9242,
"offense_index": 1.0103,
"defense_index": 1.1312,
"current_streak": "W6",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.0,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.2002
},
"edges": {
"quality_edge": -0.3056,
"offense_edge": -0.1228,
"opponent_offense_edge": 0.0103,
"defense_strength": 0.0771,
"opponent_defense_weakness": -0.1312,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9897,
"run_prevention": 1.0092,
"strikeout": 0.99
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "548384",
"profile": {
"available": true,
"pitcher_id": "548384",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 89.0,
"k_percent": 27.2,
"bb_percent": 10.9,
"woba": 0.272,
"xwoba": 0.3,
"sweet_spot_percent": 40.0,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 30.9,
"avg_best_speed": 76.0683,
"avg_hyper_speed": 93.2193,
"whiff_percent": 25.8,
"swing_percent": 44.0
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.3863,
"command_and_miss": 0.2157,
"regression_edge": -0.8,
"xwoba_edge": 0.3429,
"barrel_edge": -0.0222,
"hard_hit_edge": 1.1,
"whiff_edge": 0.0,
"bb_edge": -0.4,
"pitch_design_score": -0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "548384",
"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": 84.29312753140702,
"release_spin_rate": 2613.99902757283,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 84.29312753140702,
"release_spin_rate": 2613.99902757283,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2931,
"release_spin_rate": 2613.999,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.0765,
"sample_weight": 0.45,
"run_prevention_factor": 0.9935,
"strikeout_factor": 1.0118,
"walk_factor": 1.0144,
"homer_factor": 0.9764,
"woba_minus_xwoba": -0.028,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "548384",
"espn_id": 32005,
"player_name": "Brooks Raley",
"team": "NYM",
"role": "pitcher",
"espn_rank": 77,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 77,
"gp_value": 24.0,
"gp_rank": 72,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 1.2461,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 10.0,
"hld_rank": 10,
"ip_value": 21.2,
"ip_rank": 298,
"h_value": 16.0,
"h_rank": 326,
"er_value": 3.0,
"er_rank": 505,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 10.0,
"bb_rank": 248,
"k_value": 25.0,
"k_rank": 236,
"k_per_9_value": 10.384615,
"k_per_9_rank": 21,
"whip_value": 1.2,
"whip_rank": null,
"war_value": 0.99,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9971,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9971,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0065,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9894,
"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": 9.0,
"ER": 1,
"H": 9,
"BB": 6,
"SO": 9,
"HR": 0,
"ERA": 1.0,
"WHIP": 1.6666666666666667,
"K9": 9.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-29T00:00:00"
}{
"available": true,
"pitcher_id": "548384",
"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": 84.29312753140702,
"release_spin_rate": 2613.99902757283,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 84.29312753140702,
"release_spin_rate": 2613.99902757283,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2931,
"release_spin_rate": 2613.999,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.276,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.461,
"prior_weight": 0.539
},
"role": "pitcher",
"player_id": "548384",
"report_date": "20260601_N",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 4.0,
"SO": 4.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 79.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.8,
"SO": 0.8,
"HR": 0.0,
"BF": 4.0,
"Pitches": 15.8
},
"rates": {
"ERA": 2.25,
"WHIP": 2.0,
"ER_per_IP": 0.25,
"H_per_IP": 1.0,
"BB_per_IP": 1.0,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 1.0,
"R": 2.0,
"H": 9.0,
"BB": 6.0,
"SO": 9.0,
"HR": 0.0,
"BF": 43.0,
"Pitches": 157.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.2,
"H": 0.9,
"BB": 0.6,
"SO": 0.9,
"HR": 0.0,
"BF": 4.3,
"Pitches": 15.7
},
"rates": {
"ERA": 1.0,
"WHIP": 1.6667,
"ER_per_IP": 0.11111,
"H_per_IP": 1.0,
"BB_per_IP": 0.66667,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 24,
"totals": {
"IP": 21.2,
"ER": 3.0,
"R": 4.0,
"H": 16.0,
"BB": 10.0,
"SO": 25.0,
"HR": 1.0,
"BF": 92.0,
"Pitches": 343.0
},
"per_game": {
"IP": 1.0,
"ER": 0.125,
"R": 0.1667,
"H": 0.6667,
"BB": 0.4167,
"SO": 1.0417,
"HR": 0.0417,
"BF": 3.8333,
"Pitches": 14.2917
},
"rates": {
"ERA": 1.2462,
"WHIP": 1.2,
"ER_per_IP": 0.13846,
"H_per_IP": 0.73846,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.04615
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.316,
"predicted_H": 0.883,
"predicted_BB": 0.518,
"predicted_SO": 0.914,
"predicted_HR": 0.071,
"predicted_ERA": 3.0541,
"predicted_WHIP": 1.5052
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5777,
"form_weight": 0.4223,
"form_reliability": 0.461,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.276,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.461,
"prior_weight": 0.539
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.316,
"final": 0.1334,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.883,
"final": 0.9506,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.518,
"final": 0.2187,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.914,
"final": 0.9637,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.071,
"final": 0.03,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0541,
"final": 3.0541,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5052,
"final": 1.5052,
"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 | Devin Williams |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2392 |
| ESPN Rank | 564 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0329 |
| Avg Velo | 89.1068 |
| Avg Spin | 2442.9373 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 4.7368 |
| Season WHIP | 1.4211 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 66,
"wins": 27,
"losses": 39,
"win_pct": 0.4091,
"runs_scored": 257.0,
"runs_allowed": 272.0,
"run_differential": -15.0,
"run_differential_per_game": -0.2273,
"avg_runs_scored": 3.8939,
"avg_runs_allowed": 4.1212,
"offense_index": 0.8772,
"defense_index": 1.0771,
"current_streak": "W4",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 3.6,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.1054
},
"opponent": {
"team": "SEA",
"games": 66,
"wins": 35,
"losses": 31,
"win_pct": 0.5303,
"runs_scored": 296.0,
"runs_allowed": 259.0,
"run_differential": 37.0,
"run_differential_per_game": 0.5606,
"avg_runs_scored": 4.4848,
"avg_runs_allowed": 3.9242,
"offense_index": 1.0103,
"defense_index": 1.1312,
"current_streak": "W6",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.0,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.2002
},
"edges": {
"quality_edge": -0.3056,
"offense_edge": -0.1228,
"opponent_offense_edge": 0.0103,
"defense_strength": 0.0771,
"opponent_defense_weakness": -0.1312,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9897,
"run_prevention": 1.0092,
"strikeout": 0.99
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "642207",
"profile": {
"available": true,
"pitcher_id": "642207",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 80.0,
"k_percent": 33.7,
"bb_percent": 15.1,
"woba": 0.347,
"xwoba": 0.287,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 29.5,
"avg_best_speed": 79.9381,
"avg_hyper_speed": 93.4165,
"whiff_percent": 40.0,
"swing_percent": 49.7
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.1215,
"command_and_miss": 1.1336,
"regression_edge": 1.7143,
"xwoba_edge": 0.7143,
"barrel_edge": -0.4222,
"hard_hit_edge": 1.3,
"whiff_edge": 2.0286,
"bb_edge": -1.45,
"pitch_design_score": -0.0329
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "642207",
"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.10680032150675,
"release_spin_rate": 2442.9373156663596,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.10680032150675,
"release_spin_rate": 2442.9373156663596,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1068,
"release_spin_rate": 2442.9373,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0329,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2354,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2392,
"sample_weight": 0.45,
"run_prevention_factor": 0.9797,
"strikeout_factor": 1.0651,
"walk_factor": 1.0522,
"homer_factor": 0.9822,
"woba_minus_xwoba": 0.06,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "642207",
"espn_id": 33224,
"player_name": "Devin Williams",
"team": "NYM",
"role": "pitcher",
"espn_rank": 564,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 564,
"gp_value": 22.0,
"gp_rank": 108,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 5.6842,
"era_rank": null,
"w_value": 3.0,
"w_rank": 74,
"l_value": 2.0,
"l_rank": 140,
"sv_value": 8.0,
"sv_rank": 13,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 19.0,
"ip_rank": 344,
"h_value": 18.0,
"h_rank": 296,
"er_value": 12.0,
"er_rank": 210,
"hr_value": 2.0,
"hr_rank": 258,
"bb_value": 13.0,
"bb_rank": 179,
"k_value": 29.0,
"k_rank": 188,
"k_per_9_value": 13.736842,
"k_per_9_rank": 14,
"whip_value": 1.6315,
"whip_rank": null,
"war_value": -0.31,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9909,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9909,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0235,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.992,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0293,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 4,
"H": 3,
"BB": 7,
"SO": 12,
"HR": 1,
"ERA": 4.0,
"WHIP": 1.1111111111111112,
"K9": 12.0,
"HR9": 1.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-30T00:00:00"
}{
"available": true,
"pitcher_id": "642207",
"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.10680032150675,
"release_spin_rate": 2442.9373156663596,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.10680032150675,
"release_spin_rate": 2442.9373156663596,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1068,
"release_spin_rate": 2442.9373,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0329,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2354,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.75,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4286,
"prior_weight": 0.5714
},
"role": "pitcher",
"player_id": "642207",
"report_date": "20260601_N",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 6.0,
"SO": 6.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 82.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 0.6,
"BB": 1.2,
"SO": 1.2,
"HR": 0.2,
"BF": 4.2,
"Pitches": 16.4
},
"rates": {
"ERA": 8.3077,
"WHIP": 2.0769,
"ER_per_IP": 0.92308,
"H_per_IP": 0.69231,
"BB_per_IP": 1.38462,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 4.0,
"R": 4.0,
"H": 3.0,
"BB": 7.0,
"SO": 12.0,
"HR": 1.0,
"BF": 36.0,
"Pitches": 132.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.3,
"BB": 0.7,
"SO": 1.2,
"HR": 0.1,
"BF": 3.6,
"Pitches": 13.2
},
"rates": {
"ERA": 4.0,
"WHIP": 1.1111,
"ER_per_IP": 0.44444,
"H_per_IP": 0.33333,
"BB_per_IP": 0.77778,
"SO_per_IP": 1.33333,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 21,
"totals": {
"IP": 19.0,
"ER": 10.0,
"R": 10.0,
"H": 17.0,
"BB": 10.0,
"SO": 29.0,
"HR": 2.0,
"BF": 81.0,
"Pitches": 321.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4762,
"R": 0.4762,
"H": 0.8095,
"BB": 0.4762,
"SO": 1.381,
"HR": 0.0952,
"BF": 3.8571,
"Pitches": 15.2857
},
"rates": {
"ERA": 4.7368,
"WHIP": 1.4211,
"ER_per_IP": 0.52632,
"H_per_IP": 0.89474,
"BB_per_IP": 0.52632,
"SO_per_IP": 1.52632,
"HR_per_IP": 0.10526
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.562,
"predicted_H": 0.803,
"predicted_BB": 0.639,
"predicted_SO": 1.135,
"predicted_HR": 0.147,
"predicted_ERA": 5.0584,
"predicted_WHIP": 1.4425
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5914,
"form_weight": 0.4086,
"form_reliability": 0.4286,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.75,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4286,
"prior_weight": 0.5714
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.562,
"final": 0.2296,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.803,
"final": 1.5109,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.639,
"final": 0.2611,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.135,
"final": 1.0552,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.147,
"final": 0.0601,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.0584,
"final": 5.0584,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4425,
"final": 1.4425,
"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 | Huascar Brazobán |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4536 |
| ESPN Rank | 62 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2053 |
| Avg Velo | 93.3616 |
| Avg Spin | 2171.8862 |
| 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 | 1.8621 |
| Season WHIP | 0.9655 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 66,
"wins": 27,
"losses": 39,
"win_pct": 0.4091,
"runs_scored": 257.0,
"runs_allowed": 272.0,
"run_differential": -15.0,
"run_differential_per_game": -0.2273,
"avg_runs_scored": 3.8939,
"avg_runs_allowed": 4.1212,
"offense_index": 0.8772,
"defense_index": 1.0771,
"current_streak": "W4",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 3.6,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.1054
},
"opponent": {
"team": "SEA",
"games": 66,
"wins": 35,
"losses": 31,
"win_pct": 0.5303,
"runs_scored": 296.0,
"runs_allowed": 259.0,
"run_differential": 37.0,
"run_differential_per_game": 0.5606,
"avg_runs_scored": 4.4848,
"avg_runs_allowed": 3.9242,
"offense_index": 1.0103,
"defense_index": 1.1312,
"current_streak": "W6",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.0,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.2002
},
"edges": {
"quality_edge": -0.3056,
"offense_edge": -0.1228,
"opponent_offense_edge": 0.0103,
"defense_strength": 0.0771,
"opponent_defense_weakness": -0.1312,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9897,
"run_prevention": 1.0092,
"strikeout": 0.99
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "623211",
"profile": {
"available": true,
"pitcher_id": "623211",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 104.0,
"k_percent": 20.9,
"bb_percent": 10.4,
"woba": 0.232,
"xwoba": 0.244,
"sweet_spot_percent": 20.5,
"barrel_batted_rate": 1.3,
"hard_hit_percent": 21.8,
"avg_best_speed": 70.3621,
"avg_hyper_speed": 91.769,
"whiff_percent": 26.9,
"swing_percent": 50.0
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.8825,
"command_and_miss": -0.1093,
"regression_edge": -0.3429,
"xwoba_edge": 1.9429,
"barrel_edge": 1.3111,
"hard_hit_edge": 2.4,
"whiff_edge": 0.1571,
"bb_edge": -0.275,
"pitch_design_score": 0.2053
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "623211",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 93.3616354823113,
"release_spin_rate": 2171.886234530355,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 93.3616354823113,
"release_spin_rate": 2171.886234530355,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3616,
"release_spin_rate": 2171.8862,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2053,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.4666,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.4536,
"sample_weight": 0.45,
"run_prevention_factor": 0.9614,
"strikeout_factor": 0.9985,
"walk_factor": 1.0099,
"homer_factor": 0.8834,
"woba_minus_xwoba": -0.012,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "623211",
"espn_id": 4916509,
"player_name": "Huascar Brazoban",
"team": "NYM",
"role": "pitcher",
"espn_rank": 62,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 62,
"gp_value": 25.0,
"gp_rank": 47,
"gs_value": 4.0,
"gs_rank": 163,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 1.862,
"era_rank": null,
"w_value": 3.0,
"w_rank": 74,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 4.0,
"hld_rank": 94,
"ip_value": 29.0,
"ip_rank": 179,
"h_value": 16.0,
"h_rank": 326,
"er_value": 6.0,
"er_rank": 389,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 12.0,
"bb_rank": 199,
"k_value": 24.0,
"k_rank": 249,
"k_per_9_value": 7.4482756,
"k_per_9_rank": 37,
"whip_value": 0.9655,
"whip_rank": null,
"war_value": 1.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9826,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9826,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0045,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9475,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9993,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 12.1,
"ER": 4,
"H": 5,
"BB": 9,
"SO": 11,
"HR": 0,
"ERA": 2.918918918918919,
"WHIP": 1.135135135135135,
"K9": 8.027027027027026,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-30T00:00:00"
}{
"available": true,
"pitcher_id": "623211",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 93.3616354823113,
"release_spin_rate": 2171.886234530355,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 93.3616354823113,
"release_spin_rate": 2171.886234530355,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3616,
"release_spin_rate": 2171.8862,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2053,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.4666,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.723,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5337,
"prior_weight": 0.4663
},
"role": "pitcher",
"player_id": "623211",
"report_date": "20260601_N",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 64.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.4,
"SO": 1.0,
"HR": 0.0,
"BF": 3.8,
"Pitches": 12.8
},
"rates": {
"ERA": 1.9286,
"WHIP": 1.0714,
"ER_per_IP": 0.21429,
"H_per_IP": 0.64286,
"BB_per_IP": 0.42857,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.1,
"ER": 4.0,
"R": 5.0,
"H": 5.0,
"BB": 9.0,
"SO": 11.0,
"HR": 0.0,
"BF": 52.0,
"Pitches": 190.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.5,
"H": 0.5,
"BB": 0.9,
"SO": 1.1,
"HR": 0.0,
"BF": 5.2,
"Pitches": 19.0
},
"rates": {
"ERA": 2.9189,
"WHIP": 1.1351,
"ER_per_IP": 0.32432,
"H_per_IP": 0.40541,
"BB_per_IP": 0.72973,
"SO_per_IP": 0.89189,
"HR_per_IP": 0.0
}
},
"season": {
"games": 25,
"totals": {
"IP": 29.0,
"ER": 6.0,
"R": 7.0,
"H": 16.0,
"BB": 12.0,
"SO": 24.0,
"HR": 1.0,
"BF": 115.0,
"Pitches": 432.0
},
"per_game": {
"IP": 1.0,
"ER": 0.24,
"R": 0.28,
"H": 0.64,
"BB": 0.48,
"SO": 0.96,
"HR": 0.04,
"BF": 4.6,
"Pitches": 17.28
},
"rates": {
"ERA": 1.8621,
"WHIP": 0.9655,
"ER_per_IP": 0.2069,
"H_per_IP": 0.55172,
"BB_per_IP": 0.41379,
"SO_per_IP": 0.82759,
"HR_per_IP": 0.03448
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.378,
"predicted_H": 0.778,
"predicted_BB": 0.484,
"predicted_SO": 1.01,
"predicted_HR": 0.07,
"predicted_ERA": 3.2065,
"predicted_WHIP": 1.1873
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.547,
"form_weight": 0.453,
"form_reliability": 0.5337,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.723,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5337,
"prior_weight": 0.4663
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.378,
"final": 0.1712,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.778,
"final": 0.3524,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.484,
"final": 0.2192,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.01,
"final": 1.0045,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.07,
"final": 0.0317,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2065,
"final": 3.2065,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1873,
"final": 1.1873,
"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 | Luke Weaver |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1843 |
| ESPN Rank | 118 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1179 |
| Avg Velo | 91.8004 |
| Avg Spin | 2250.8882 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 2.9189 |
| Season WHIP | 1.0946 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 66,
"wins": 27,
"losses": 39,
"win_pct": 0.4091,
"runs_scored": 257.0,
"runs_allowed": 272.0,
"run_differential": -15.0,
"run_differential_per_game": -0.2273,
"avg_runs_scored": 3.8939,
"avg_runs_allowed": 4.1212,
"offense_index": 0.8772,
"defense_index": 1.0771,
"current_streak": "W4",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 3.6,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.1054
},
"opponent": {
"team": "SEA",
"games": 66,
"wins": 35,
"losses": 31,
"win_pct": 0.5303,
"runs_scored": 296.0,
"runs_allowed": 259.0,
"run_differential": 37.0,
"run_differential_per_game": 0.5606,
"avg_runs_scored": 4.4848,
"avg_runs_allowed": 3.9242,
"offense_index": 1.0103,
"defense_index": 1.1312,
"current_streak": "W6",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.0,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.2002
},
"edges": {
"quality_edge": -0.3056,
"offense_edge": -0.1228,
"opponent_offense_edge": 0.0103,
"defense_strength": 0.0771,
"opponent_defense_weakness": -0.1312,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9897,
"run_prevention": 1.0092,
"strikeout": 0.99
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "596133",
"profile": {
"available": true,
"pitcher_id": "596133",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 95.0,
"k_percent": 23.8,
"bb_percent": 7.9,
"woba": 0.269,
"xwoba": 0.283,
"sweet_spot_percent": 26.5,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 29.4,
"avg_best_speed": 77.8256,
"avg_hyper_speed": 92.7954,
"whiff_percent": 25.1,
"swing_percent": 50.4
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.734,
"command_and_miss": 0.1121,
"regression_edge": -0.4,
"xwoba_edge": 0.8286,
"barrel_edge": -0.0444,
"hard_hit_edge": 1.3143,
"whiff_edge": -0.1,
"bb_edge": 0.35,
"pitch_design_score": 0.1179
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "596133",
"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.80042932776298,
"release_spin_rate": 2250.888190520952,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.80042932776298,
"release_spin_rate": 2250.888190520952,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8004,
"release_spin_rate": 2250.8882,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1179,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.8421,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1843,
"sample_weight": 0.45,
"run_prevention_factor": 0.9843,
"strikeout_factor": 1.0013,
"walk_factor": 0.9874,
"homer_factor": 0.9668,
"woba_minus_xwoba": -0.014,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "596133",
"espn_id": 33770,
"player_name": "Luke Weaver",
"team": "NYM",
"role": "pitcher",
"espn_rank": 118,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 118,
"gp_value": 23.0,
"gp_rank": 87,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.9189,
"era_rank": null,
"w_value": 2.0,
"w_rank": 141,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 7.0,
"hld_rank": 33,
"ip_value": 24.2,
"ip_rank": 247,
"h_value": 19.0,
"h_rank": 276,
"er_value": 8.0,
"er_rank": 322,
"hr_value": 2.0,
"hr_rank": 258,
"bb_value": 8.0,
"bb_rank": 302,
"k_value": 24.0,
"k_rank": 249,
"k_per_9_value": 8.756757,
"k_per_9_rank": 27,
"whip_value": 1.0945,
"whip_rank": null,
"war_value": 0.71,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9929,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9929,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9943,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9851,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0006,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.2,
"ER": 0,
"H": 9,
"BB": 4,
"SO": 14,
"HR": 0,
"ERA": 0.0,
"WHIP": 1.1142857142857143,
"K9": 10.8,
"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-29T00:00:00"
}{
"available": true,
"pitcher_id": "596133",
"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.80042932776298,
"release_spin_rate": 2250.888190520952,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.80042932776298,
"release_spin_rate": 2250.888190520952,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8004,
"release_spin_rate": 2250.8882,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1179,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.8421,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.868,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4933,
"prior_weight": 0.5067
},
"role": "pitcher",
"player_id": "596133",
"report_date": "20260601_N",
"season_year": 2026,
"rows_used": 23,
"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": 5.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 76.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.8,
"BB": 0.2,
"SO": 1.0,
"HR": 0.0,
"BF": 4.4,
"Pitches": 15.2
},
"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": 0.9375,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.2,
"ER": 0.0,
"R": 0.0,
"H": 9.0,
"BB": 4.0,
"SO": 14.0,
"HR": 0.0,
"BF": 48.0,
"Pitches": 179.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.9,
"BB": 0.4,
"SO": 1.4,
"HR": 0.0,
"BF": 4.8,
"Pitches": 17.9
},
"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.2,
"HR_per_IP": 0.0
}
},
"season": {
"games": 23,
"totals": {
"IP": 24.2,
"ER": 8.0,
"R": 8.0,
"H": 19.0,
"BB": 8.0,
"SO": 24.0,
"HR": 2.0,
"BF": 101.0,
"Pitches": 387.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3478,
"R": 0.3478,
"H": 0.8261,
"BB": 0.3478,
"SO": 1.0435,
"HR": 0.087,
"BF": 4.3913,
"Pitches": 16.8261
},
"rates": {
"ERA": 2.9189,
"WHIP": 1.0946,
"ER_per_IP": 0.32432,
"H_per_IP": 0.77027,
"BB_per_IP": 0.32432,
"SO_per_IP": 0.97297,
"HR_per_IP": 0.08108
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.289,
"predicted_H": 0.906,
"predicted_BB": 0.338,
"predicted_SO": 1.045,
"predicted_HR": 0.08,
"predicted_ERA": 2.4605,
"predicted_WHIP": 1.1766
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5641,
"form_weight": 0.4359,
"form_reliability": 0.4933,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.868,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4933,
"prior_weight": 0.5067
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.289,
"final": 0.126,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.906,
"final": 0.3949,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.338,
"final": 0.7114,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.045,
"final": 1.0196,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.08,
"final": 0.0349,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.4605,
"final": 2.4605,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1766,
"final": 1.1766,
"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.118 | 0.000 | 0.000 | Hitting_2B | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.510 | 4.000 | 9.000 | Hitting_AB | 4.139 | 3.000 | -0.139 | 1.000 |
| predicted_AVG | 0.214 | 0.000 | 0.222 | Hitting_AVG | 0.227 | 0.000 | -0.227 | 0.000 |
| predicted_BB | 0.290 | 0.000 | 1.000 | Hitting_BB | 0.290 | 1.000 | -0.290 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.960 | 0.000 | 2.000 | Hitting_H | 0.939 | 0.000 | -0.939 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.098 | 0.000 | -0.098 | 0.000 |
| predicted_OBP | 0.286 | 0.000 | 0.300 | Hitting_OBP | 0.275 | 0.250 | -0.275 | -0.250 |
| predicted_R | 0.469 | 0.000 | 1.000 | Hitting_R | 0.469 | 1.000 | -0.469 | -1.000 |
| predicted_RBI | 0.450 | 0.000 | 1.000 | Hitting_RBI | 0.539 | 1.000 | -0.539 | -1.000 |
| predicted_SLG | 0.323 | 0.000 | 0.222 | Hitting_SLG | 0.326 | 0.000 | -0.326 | 0.000 |
| predicted_SO | 0.771 | 0.000 | 1.000 | Hitting_SO | 0.771 | 0.000 | -0.771 | 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.9600 -> 0.0000 (deboost -0.9600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 8 | 2 | 7 | 3 | predicted_AB: 4.5100 -> 8.6953 (boost 4.1853, better) | predicted_SLG: 0.3230 -> 0.2982 (deboost -0.0248, 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_R: 1.0730 -> 0.9927 (deboost -0.0803, 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_H: 1.6351 -> 2.0000 (boost 0.3649, better) | predicted_SO: 1.3527 -> 1.0000 (deboost -0.3527, better) | AB rounded to 9 (raw=8.70), rates preserved: AVG=0.188 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 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2654 -> 0.3000 (boost 0.0346, better) | predicted_SLG: 0.2670 -> 0.2220 (deboost -0.0450, 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2220 -> 0.2670 (boost 0.0450, better) | predicted_OBP: 0.3000 -> 0.2654 (deboost -0.0346, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666182",
"player_name": "Bo Bichette",
"position": "SS",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.118,
"predicted_3B": 0.0,
"predicted_AB": 4.51,
"predicted_AVG": 0.214,
"predicted_BB": 0.29,
"predicted_H": 0.96,
"predicted_HR": 0.1,
"predicted_OBP": 0.286,
"predicted_R": 0.469,
"predicted_RBI": 0.45,
"predicted_SLG": 0.323,
"predicted_SO": 0.771
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2029,
"predicted_3B": 0.0004,
"predicted_AB": 8.6953,
"predicted_AVG": 0.2034,
"predicted_BB": 0.9281,
"predicted_H": 1.7104,
"predicted_HBP": 0.003,
"predicted_HR": 0.1681,
"predicted_OBP": 0.2824,
"predicted_R": 1.073,
"predicted_RBI": 0.9439,
"predicted_SLG": 0.2982,
"predicted_SO": 1.3339
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.2029,
"delta": 0.0849,
"percent_delta": 0.7195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.51,
"after": 8.6953,
"delta": 4.1853,
"percent_delta": 0.928,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.2034,
"delta": -0.0106,
"percent_delta": -0.0495,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.29,
"after": 0.9281,
"delta": 0.6381,
"percent_delta": 2.2003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 1.7104,
"delta": 0.7504,
"percent_delta": 0.7817,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1681,
"delta": 0.0681,
"percent_delta": 0.681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2824,
"delta": -0.0036,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.469,
"after": 1.073,
"delta": 0.604,
"percent_delta": 1.2878,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.9439,
"delta": 0.4939,
"percent_delta": 1.0976,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.323,
"after": 0.2982,
"delta": -0.0248,
"percent_delta": -0.0768,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.771,
"after": 1.3339,
"delta": 0.5629,
"percent_delta": 0.7301,
"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.51,
"after": 8.6953,
"delta": 4.1853,
"percent_delta": 0.928,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.323,
"after": 0.2982,
"delta": -0.0248,
"percent_delta": -0.0768,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 58
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2029,
"predicted_3B": 0.0004,
"predicted_AB": 8.6953,
"predicted_AVG": 0.188,
"predicted_BB": 0.915,
"predicted_H": 1.6351,
"predicted_HBP": 0.003,
"predicted_HR": 0.1609,
"predicted_OBP": 0.2654,
"predicted_R": 0.9927,
"predicted_RBI": 0.8733,
"predicted_SLG": 0.267,
"predicted_SO": 1.3527
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2029,
"after": 0.2029,
"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.6953,
"after": 8.6953,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2034,
"after": 0.188,
"delta": -0.0154,
"percent_delta": -0.0757,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9281,
"after": 0.915,
"delta": -0.0131,
"percent_delta": -0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7104,
"after": 1.6351,
"delta": -0.0753,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1681,
"after": 0.1609,
"delta": -0.0072,
"percent_delta": -0.0428,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2824,
"after": 0.2654,
"delta": -0.017,
"percent_delta": -0.0602,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.073,
"after": 0.9927,
"delta": -0.0803,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9439,
"after": 0.8733,
"delta": -0.0706,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.2982,
"after": 0.267,
"delta": -0.0312,
"percent_delta": -0.1046,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3339,
"after": 1.3527,
"delta": 0.0188,
"percent_delta": 0.0141,
"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": 1.073,
"after": 0.9927,
"delta": -0.0803,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=8.70), rates preserved: AVG=0.188 HR/AB=0.018",
"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.2029,
"after": 0.0,
"delta": -0.2029,
"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.6953,
"after": 9.0,
"delta": 0.3047,
"percent_delta": 0.035,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.915,
"after": 1.0,
"delta": 0.085,
"percent_delta": 0.0929,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6351,
"after": 2.0,
"delta": 0.3649,
"percent_delta": 0.2232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1609,
"after": 0.0,
"delta": -0.1609,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8733,
"after": 1.0,
"delta": 0.1267,
"percent_delta": 0.1451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3527,
"after": 1.0,
"delta": -0.3527,
"percent_delta": -0.2607,
"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_H",
"before": 1.6351,
"after": 2.0,
"delta": 0.3649,
"percent_delta": 0.2232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.3527,
"after": 1.0,
"delta": -0.3527,
"percent_delta": -0.2607,
"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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.9927,
"after": 1.0,
"delta": 0.0073,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_AVG": 0.222,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.222,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.188,
"after": 0.222,
"delta": 0.034,
"percent_delta": 0.1809,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2654,
"after": 0.3,
"delta": 0.0346,
"percent_delta": 0.1304,
"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.267,
"after": 0.222,
"delta": -0.045,
"percent_delta": -0.1685,
"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.2654,
"after": 0.3,
"delta": 0.0346,
"percent_delta": 0.1304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.267,
"after": 0.222,
"delta": -0.045,
"percent_delta": -0.1685,
"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": 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": 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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.188,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2654,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.267,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.188,
"delta": -0.034,
"percent_delta": -0.1529,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.2654,
"delta": -0.0346,
"percent_delta": -0.1155,
"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.267,
"delta": 0.045,
"percent_delta": 0.2026,
"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.222,
"after": 0.267,
"delta": 0.045,
"percent_delta": 0.2026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.2654,
"delta": -0.0346,
"percent_delta": -0.1155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.51,
"after": 4.0,
"delta": -0.51,
"percent_delta": -0.1131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.188,
"delta": -0.026,
"percent_delta": -0.1215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.0,
"delta": -0.96,
"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.286,
"after": 0.2654,
"delta": -0.0206,
"percent_delta": -0.072,
"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.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.323,
"after": 0.267,
"delta": -0.056,
"percent_delta": -0.1734,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.771,
"after": 0.0,
"delta": -0.771,
"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.96,
"after": 0.0,
"delta": -0.96,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.118 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.510 | - |
| predicted_AVG | 0.214 | - |
| predicted_BB | 0.290 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.286 | - |
| predicted_R | 0.469 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.323 | - |
| predicted_SO | 0.771 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.203 | 0.085 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.695 | 4.185 |
| predicted_AVG | 0.203 | -0.011 |
| predicted_BB | 0.928 | 0.638 |
| predicted_H | 1.710 | 0.750 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.168 | 0.068 |
| predicted_OBP | 0.282 | -0.004 |
| predicted_R | 1.073 | 0.604 |
| predicted_RBI | 0.944 | 0.494 |
| predicted_SLG | 0.298 | -0.025 |
| predicted_SO | 1.334 | 0.563 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.203 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.695 | 0.000 |
| predicted_AVG | 0.188 | -0.015 |
| predicted_BB | 0.915 | -0.013 |
| predicted_H | 1.635 | -0.075 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.161 | -0.007 |
| predicted_OBP | 0.265 | -0.017 |
| predicted_R | 0.993 | -0.080 |
| predicted_RBI | 0.873 | -0.071 |
| predicted_SLG | 0.267 | -0.031 |
| predicted_SO | 1.353 | 0.019 |
AB rounded to 9 (raw=8.70), rates preserved: AVG=0.188 HR/AB=0.018
| 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.203 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 9.000 | 0.305 |
| predicted_AVG | 0.222 | 0.034 |
| predicted_BB | 1.000 | 0.085 |
| predicted_H | 2.000 | 0.365 |
| predicted_HR | 0.000 | -0.161 |
| predicted_OBP | 0.300 | 0.035 |
| predicted_R | 1.000 | 0.007 |
| predicted_RBI | 1.000 | 0.127 |
| predicted_SLG | 0.222 | -0.045 |
| predicted_SO | 1.000 | -0.353 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -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 | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 16.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 5.000 | 0.000 | 0.0625 | 0.2857 | 0.0625 | 0.0625 | 0.0000 | 0.0625 | 0.3125 | 0.0000 |
| last_10 | 0.20 | 5 | - | 34.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 6.000 | 7.000 | 3.000 | 0.1176 | 0.2683 | 0.1176 | 0.1177 | 0.0000 | 0.0294 | 0.2059 | 0.0882 |
| season | 0.60 | 58 | - | 1014.000 | 230.000 | 29.000 | 0.000 | 24.000 | 132.000 | 115.000 | 71.000 | 189.000 | 0.2268 | 0.2751 | 0.3264 | 0.2268 | 0.0237 | 0.1302 | 0.0700 | 0.1864 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3100 |
| predicted_3B | 0.0010 |
| predicted_AB | 13.9750 |
| predicted_AVG | 0.1901 |
| predicted_BB | 1.7330 |
| predicted_H | 2.6570 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.2540 |
| predicted_OBP | 0.2779 |
| predicted_R | 1.8350 |
| predicted_RBI | 1.5670 |
| predicted_SLG | 0.2670 |
| predicted_SO | 2.0440 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1180 | 0.3100 | 0.2029 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.5100 | 13.9750 | 8.6953 | model_form_blend |
| predicted_AVG | 0.2140 | 0.1901 | 0.2034 | model_form_blend |
| predicted_BB | 0.2900 | 1.7330 | 0.9281 | model_form_blend |
| predicted_H | 0.9600 | 2.6570 | 1.7104 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1000 | 0.2540 | 0.1681 | model_form_blend |
| predicted_OBP | 0.2860 | 0.2779 | 0.2824 | model_form_blend |
| predicted_R | 0.4690 | 1.8350 | 1.0730 | model_form_blend |
| predicted_RBI | 0.4500 | 1.5670 | 0.9439 | model_form_blend |
| predicted_SLG | 0.3230 | 0.2670 | 0.2982 | model_form_blend |
| predicted_SO | 0.7710 | 2.0440 | 1.3339 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 245 |
| Season rows before report date | 245 |
| Report year | 2026 |
| Profile rows used | 245 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.227 |
| 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 | 1 |
| Hitting_RBI | 1 |
| 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 | SS |
| gameID | 20260531_MIA@NYM |
| game_type | full |
| mlbID | 666182 |
| playerID | 666182 |
| playerName | Bo Bichette |
| pos | 3B |
| started | True |
| startingPosition | SS |
| team | NYM |
| teamID | 18 |
| game_date | 2026-05-31 |
| sl_k_percent | 16.5 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.266 |
| sl_xwoba | 0.331 |
| sl_xba | 0.279 |
| sl_xslg | 0.428 |
| sl_sweet_spot_percent | 32.5 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 45.4 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 8.4 |
| sl_whiff_percent | 16.4 |
| sl_swing_percent | 52.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.108 | 0.000 | 0.000 | Hitting_2B | 0.108 | 0.000 | -0.108 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_AB | 4.000 | 4.000 | 8.000 | Hitting_AB | 3.778 | 4.000 | 0.222 | 0.000 |
| predicted_AVG | 0.267 | 0.250 | 0.250 | Hitting_AVG | 0.304 | 0.500 | -0.054 | -0.250 |
| predicted_BB | 0.635 | 0.000 | 1.000 | Hitting_BB | 0.635 | 0.000 | -0.635 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.048 | 0.000 | -0.048 | 0.000 |
| predicted_H | 1.070 | 1.000 | 2.000 | Hitting_H | 1.150 | 2.000 | -0.150 | -1.000 |
| predicted_HR | 0.320 | 0.000 | 1.000 | Hitting_HR | 0.275 | 1.000 | -0.275 | -1.000 |
| predicted_OBP | 0.374 | 0.250 | 0.333 | Hitting_OBP | 0.402 | 0.500 | -0.152 | -0.250 |
| predicted_R | 0.617 | 0.000 | 1.000 | Hitting_R | 0.617 | 1.000 | -0.617 | -1.000 |
| predicted_RBI | 0.860 | 0.000 | 2.000 | Hitting_RBI | 0.647 | 4.000 | -0.647 | -4.000 |
| predicted_SLG | 0.589 | 0.250 | 0.625 | Hitting_SLG | 0.564 | 1.250 | -0.314 | -1.000 |
| predicted_SO | 0.677 | 1.000 | 1.000 | Hitting_SO | 0.677 | 1.000 | 0.323 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.6770 -> 1.0000 (boost 0.3230, 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.0000 -> 7.6831 (boost 3.6831, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 1 | 4 | 1 | 4 | predicted_AVG: 0.2991 -> 0.3049 (boost 0.0058, better) | predicted_RBI: 1.7236 -> 1.5947 (deboost -0.1289, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 4 | 3 | predicted_RBI: 1.5947 -> 2.0000 (boost 0.4053, better) | predicted_H: 2.3425 -> 2.0000 (deboost -0.3425, worse) | AB rounded to 8 (raw=7.68), rates preserved: AVG=0.305 HR/AB=0.089 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2907 -> 1.0000 (deboost -0.2907, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.6067 -> 0.6250 (boost 0.0183, better) | predicted_OBP: 0.3956 -> 0.3330 (deboost -0.0626, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 0 | 6 | 0 | 6 | - | 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_OBP: 0.3330 -> 0.3956 (boost 0.0626, better) | predicted_SLG: 0.6250 -> 0.6067 (deboost -0.0183, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665742",
"player_name": "Juan Soto",
"position": "LF",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.108,
"predicted_3B": 0.024,
"predicted_AB": 4.0,
"predicted_AVG": 0.267,
"predicted_BB": 0.635,
"predicted_H": 1.07,
"predicted_HR": 0.32,
"predicted_OBP": 0.374,
"predicted_R": 0.617,
"predicted_RBI": 0.86,
"predicted_SLG": 0.589,
"predicted_SO": 0.677
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.183,
"predicted_3B": 0.0394,
"predicted_AB": 7.6831,
"predicted_AVG": 0.2991,
"predicted_BB": 1.1692,
"predicted_H": 2.4503,
"predicted_HBP": 0.004,
"predicted_HR": 0.7165,
"predicted_OBP": 0.3963,
"predicted_R": 1.3951,
"predicted_RBI": 1.7236,
"predicted_SLG": 0.6238,
"predicted_SO": 1.22
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.108,
"after": 0.183,
"delta": 0.075,
"percent_delta": 0.6944,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0394,
"delta": 0.0154,
"percent_delta": 0.6417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 7.6831,
"delta": 3.6831,
"percent_delta": 0.9208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2991,
"delta": 0.0321,
"percent_delta": 0.1202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.635,
"after": 1.1692,
"delta": 0.5342,
"percent_delta": 0.8413,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 2.4503,
"delta": 1.3803,
"percent_delta": 1.29,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.32,
"after": 0.7165,
"delta": 0.3965,
"percent_delta": 1.2391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.374,
"after": 0.3963,
"delta": 0.0223,
"percent_delta": 0.0596,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.617,
"after": 1.3951,
"delta": 0.7781,
"percent_delta": 1.2611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.86,
"after": 1.7236,
"delta": 0.8636,
"percent_delta": 1.0042,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.589,
"after": 0.6238,
"delta": 0.0348,
"percent_delta": 0.0591,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.677,
"after": 1.22,
"delta": 0.543,
"percent_delta": 0.8021,
"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.0,
"after": 7.6831,
"delta": 3.6831,
"percent_delta": 0.9208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.183,
"predicted_3B": 0.0394,
"predicted_AB": 7.6831,
"predicted_AVG": 0.3049,
"predicted_BB": 1.1527,
"predicted_H": 2.3425,
"predicted_HBP": 0.004,
"predicted_HR": 0.6856,
"predicted_OBP": 0.3956,
"predicted_R": 1.2907,
"predicted_RBI": 1.5947,
"predicted_SLG": 0.6067,
"predicted_SO": 1.2372
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.183,
"after": 0.183,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0394,
"after": 0.0394,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.6831,
"after": 7.6831,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2991,
"after": 0.3049,
"delta": 0.0058,
"percent_delta": 0.0194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1692,
"after": 1.1527,
"delta": -0.0165,
"percent_delta": -0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.4503,
"after": 2.3425,
"delta": -0.1078,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.7165,
"after": 0.6856,
"delta": -0.0309,
"percent_delta": -0.0431,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3963,
"after": 0.3956,
"delta": -0.0007,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.3951,
"after": 1.2907,
"delta": -0.1044,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.7236,
"after": 1.5947,
"delta": -0.1289,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.6238,
"after": 0.6067,
"delta": -0.0171,
"percent_delta": -0.0274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.22,
"after": 1.2372,
"delta": 0.0172,
"percent_delta": 0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2991,
"after": 0.3049,
"delta": 0.0058,
"percent_delta": 0.0194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.7236,
"after": 1.5947,
"delta": -0.1289,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.68), rates preserved: AVG=0.305 HR/AB=0.089",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.183,
"after": 0.0,
"delta": -0.183,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0394,
"after": 0.0,
"delta": -0.0394,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.6831,
"after": 8.0,
"delta": 0.3169,
"percent_delta": 0.0412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1527,
"after": 1.0,
"delta": -0.1527,
"percent_delta": -0.1325,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.3425,
"after": 2.0,
"delta": -0.3425,
"percent_delta": -0.1462,
"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.6856,
"after": 1.0,
"delta": 0.3144,
"percent_delta": 0.4586,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.5947,
"after": 2.0,
"delta": 0.4053,
"percent_delta": 0.2542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2372,
"after": 1.0,
"delta": -0.2372,
"percent_delta": -0.1917,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.5947,
"after": 2.0,
"delta": 0.4053,
"percent_delta": 0.2542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.3425,
"after": 2.0,
"delta": -0.3425,
"percent_delta": -0.1462,
"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": 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": 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.2907,
"after": 1.0,
"delta": -0.2907,
"percent_delta": -0.2252,
"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.2907,
"after": 1.0,
"delta": -0.2907,
"percent_delta": -0.2252,
"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": 2.0,
"predicted_SLG": 0.625,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.3049,
"after": 0.25,
"delta": -0.0549,
"percent_delta": -0.1801,
"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.3956,
"after": 0.333,
"delta": -0.0626,
"percent_delta": -0.1582,
"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.6067,
"after": 0.625,
"delta": 0.0183,
"percent_delta": 0.0302,
"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.6067,
"after": 0.625,
"delta": 0.0183,
"percent_delta": 0.0302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3956,
"after": 0.333,
"delta": -0.0626,
"percent_delta": -0.1582,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"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_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.3049,
"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.3956,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.6067,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.3049,
"delta": 0.0549,
"percent_delta": 0.2196,
"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.3956,
"delta": 0.0626,
"percent_delta": 0.1879,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.625,
"after": 0.6067,
"delta": -0.0183,
"percent_delta": -0.0293,
"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.333,
"after": 0.3956,
"delta": 0.0626,
"percent_delta": 0.1879,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.625,
"after": 0.6067,
"delta": -0.0183,
"percent_delta": -0.0293,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.108,
"after": 0.0,
"delta": -0.108,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.3049,
"delta": 0.0379,
"percent_delta": 0.1419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.635,
"after": 0.0,
"delta": -0.635,
"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.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.374,
"after": 0.3956,
"delta": 0.0216,
"percent_delta": 0.0578,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.617,
"after": 0.0,
"delta": -0.617,
"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.589,
"after": 0.6067,
"delta": 0.0177,
"percent_delta": 0.0301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.677,
"after": 1.0,
"delta": 0.323,
"percent_delta": 0.4771,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.677,
"after": 1.0,
"delta": 0.323,
"percent_delta": 0.4771,
"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.108 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 4.000 | - |
| predicted_AVG | 0.267 | - |
| predicted_BB | 0.635 | - |
| predicted_H | 1.070 | - |
| predicted_HR | 0.320 | - |
| predicted_OBP | 0.374 | - |
| predicted_R | 0.617 | - |
| predicted_RBI | 0.860 | - |
| predicted_SLG | 0.589 | - |
| predicted_SO | 0.677 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.183 | 0.075 |
| predicted_3B | 0.039 | 0.015 |
| predicted_AB | 7.683 | 3.683 |
| predicted_AVG | 0.299 | 0.032 |
| predicted_BB | 1.169 | 0.534 |
| predicted_H | 2.450 | 1.380 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.717 | 0.397 |
| predicted_OBP | 0.396 | 0.022 |
| predicted_R | 1.395 | 0.778 |
| predicted_RBI | 1.724 | 0.864 |
| predicted_SLG | 0.624 | 0.035 |
| predicted_SO | 1.220 | 0.543 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.183 | 0.000 |
| predicted_3B | 0.039 | 0.000 |
| predicted_AB | 7.683 | 0.000 |
| predicted_AVG | 0.305 | 0.006 |
| predicted_BB | 1.153 | -0.016 |
| predicted_H | 2.342 | -0.108 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.686 | -0.031 |
| predicted_OBP | 0.396 | -0.001 |
| predicted_R | 1.291 | -0.104 |
| predicted_RBI | 1.595 | -0.129 |
| predicted_SLG | 0.607 | -0.017 |
| predicted_SO | 1.237 | 0.017 |
AB rounded to 8 (raw=7.68), rates preserved: AVG=0.305 HR/AB=0.089
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 1.000 | - |
| RBI | 2.000 | - |
| SB | 0.000 | - |
| SO | 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 | 1.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.183 |
| predicted_3B | 0.000 | -0.039 |
| predicted_AB | 8.000 | 0.317 |
| predicted_AVG | 0.250 | -0.055 |
| predicted_BB | 1.000 | -0.153 |
| predicted_H | 2.000 | -0.342 |
| predicted_HR | 1.000 | 0.314 |
| predicted_OBP | 0.333 | -0.063 |
| predicted_R | 1.000 | -0.291 |
| predicted_RBI | 2.000 | 0.405 |
| predicted_SLG | 0.625 | 0.018 |
| predicted_SO | 1.000 | -0.237 |
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 | -1.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 17.000 | 8.000 | 0.000 | 0.000 | 3.000 | 7.000 | 5.000 | 2.000 | 1.000 | 0.4706 | 0.5263 | 1.0000 | 0.4706 | 0.1765 | 0.4118 | 0.1177 | 0.0588 |
| last_10 | 0.20 | 5 | - | 35.000 | 15.000 | 0.000 | 0.000 | 8.000 | 15.000 | 10.000 | 2.000 | 4.000 | 0.4286 | 0.4595 | 1.1143 | 0.4286 | 0.2286 | 0.4286 | 0.0571 | 0.1143 |
| season | 0.60 | 41 | - | 631.000 | 192.000 | 18.000 | 4.000 | 46.000 | 108.000 | 103.000 | 106.000 | 113.000 | 0.3043 | 0.4016 | 0.5642 | 0.3043 | 0.0729 | 0.1712 | 0.1680 | 0.1791 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2790 |
| predicted_3B | 0.0590 |
| predicted_AB | 12.3970 |
| predicted_AVG | 0.3401 |
| predicted_BB | 1.8530 |
| predicted_H | 4.2170 |
| predicted_HBP | 0.0040 |
| predicted_HR | 1.2240 |
| predicted_OBP | 0.4249 |
| predicted_R | 2.3910 |
| predicted_RBI | 2.8290 |
| predicted_SLG | 0.6683 |
| predicted_SO | 1.9150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1080 | 0.2790 | 0.1830 | model_form_blend |
| predicted_3B | 0.0240 | 0.0590 | 0.0394 | model_form_blend |
| predicted_AB | 4.0000 | 12.3970 | 7.6831 | model_form_blend |
| predicted_AVG | 0.2670 | 0.3401 | 0.2991 | model_form_blend |
| predicted_BB | 0.6350 | 1.8530 | 1.1692 | model_form_blend |
| predicted_H | 1.0700 | 4.2170 | 2.4503 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.3200 | 1.2240 | 0.7165 | model_form_blend |
| predicted_OBP | 0.3740 | 0.4249 | 0.3963 | model_form_blend |
| predicted_R | 0.6170 | 2.3910 | 1.3951 | model_form_blend |
| predicted_RBI | 0.8600 | 2.8290 | 1.7236 | model_form_blend |
| predicted_SLG | 0.5890 | 0.6683 | 0.6238 | model_form_blend |
| predicted_SO | 0.6770 | 1.9150 | 1.2200 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 167 |
| Season rows before report date | 167 |
| Report year | 2026 |
| Profile rows used | 167 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.304 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| 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 | 1 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260531_MIA@NYM |
| game_type | full |
| mlbID | 665742 |
| playerID | 665742 |
| playerName | Juan Soto |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | NYM |
| teamID | 18 |
| game_date | 2026-05-31 |
| sl_k_percent | 14.2 |
| sl_bb_percent | 13.6 |
| sl_woba | 0.413 |
| sl_xwoba | 0.417 |
| sl_xba | 0.287 |
| sl_xslg | 0.626 |
| sl_sweet_spot_percent | 30.2 |
| sl_barrel_batted_rate | 18.4 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 93.0 |
| sl_launch_angle_avg | 15.2 |
| sl_whiff_percent | 21.5 |
| sl_swing_percent | 40.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.163 | 0.000 | 0.000 | Hitting_2B | 0.162 | 0.000 | -0.162 | 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 | 8.000 | Hitting_AB | 3.804 | 4.000 | 0.196 | 0.000 |
| predicted_AVG | 0.237 | 0.000 | 0.250 | Hitting_AVG | 0.264 | 0.250 | -0.264 | -0.250 |
| predicted_BB | 0.315 | 0.000 | 1.000 | Hitting_BB | 0.314 | 1.000 | -0.314 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_H | 0.960 | 0.000 | 2.000 | Hitting_H | 1.005 | 1.000 | -1.005 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.059 | 1.000 | -0.059 | -1.000 |
| predicted_OBP | 0.319 | 0.000 | 0.333 | Hitting_OBP | 0.333 | 0.400 | -0.333 | -0.400 |
| predicted_R | 0.576 | 0.000 | 1.000 | Hitting_R | 0.574 | 2.000 | -0.574 | -2.000 |
| predicted_RBI | 0.450 | 0.000 | 1.000 | Hitting_RBI | 0.475 | 1.000 | -0.475 | -1.000 |
| predicted_SLG | 0.393 | 0.000 | 0.250 | Hitting_SLG | 0.353 | 1.000 | -0.353 | -1.000 |
| predicted_SO | 0.828 | 2.000 | 2.000 | Hitting_SO | 0.824 | 2.000 | 1.176 | 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.8280 -> 2.0000 (boost 1.1720, worse) |
| Biggest Deboost | predicted_H: 0.9600 -> 0.0000 (deboost -0.9600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.0600 -> 7.5085 (boost 3.4485, 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.0646 -> 1.9738 (deboost -0.0908, 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: 7.5085 -> 8.0000 (boost 0.4915, better) | predicted_2B: 0.3751 -> 0.0000 (deboost -0.3751, worse) | AB rounded to 8 (raw=7.51), rates preserved: AVG=0.263 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 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3181 -> 0.3330 (boost 0.0149, better) | predicted_SLG: 0.3852 -> 0.2500 (deboost -0.1352, 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3852 (boost 0.1352, better) | predicted_OBP: 0.3330 -> 0.3181 (deboost -0.0149, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701807",
"player_name": "Carson Benge",
"position": "RF",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is 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.0,
"predicted_AB": 4.06,
"predicted_AVG": 0.237,
"predicted_BB": 0.315,
"predicted_H": 0.96,
"predicted_HR": 0.12,
"predicted_OBP": 0.319,
"predicted_R": 0.576,
"predicted_RBI": 0.45,
"predicted_SLG": 0.393,
"predicted_SO": 0.828
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3751,
"predicted_3B": 0.0009,
"predicted_AB": 7.5085,
"predicted_AVG": 0.2611,
"predicted_BB": 0.6169,
"predicted_H": 2.0646,
"predicted_HBP": 0.181,
"predicted_HR": 0.1887,
"predicted_OBP": 0.3352,
"predicted_R": 1.0878,
"predicted_RBI": 1.0591,
"predicted_SLG": 0.403,
"predicted_SO": 1.6276
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.163,
"after": 0.3751,
"delta": 0.2121,
"percent_delta": 1.3012,
"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": 7.5085,
"delta": 3.4485,
"percent_delta": 0.8494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2611,
"delta": 0.0241,
"percent_delta": 0.1017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.315,
"after": 0.6169,
"delta": 0.3019,
"percent_delta": 0.9584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 2.0646,
"delta": 1.1046,
"percent_delta": 1.1506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1887,
"delta": 0.0687,
"percent_delta": 0.5725,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3352,
"delta": 0.0162,
"percent_delta": 0.0508,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.576,
"after": 1.0878,
"delta": 0.5118,
"percent_delta": 0.8885,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 1.0591,
"delta": 0.6091,
"percent_delta": 1.3536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.403,
"delta": 0.01,
"percent_delta": 0.0254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.828,
"after": 1.6276,
"delta": 0.7996,
"percent_delta": 0.9657,
"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": 7.5085,
"delta": 3.4485,
"percent_delta": 0.8494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.3751,
"predicted_3B": 0.0009,
"predicted_AB": 7.5085,
"predicted_AVG": 0.2629,
"predicted_BB": 0.6082,
"predicted_H": 1.9738,
"predicted_HBP": 0.181,
"predicted_HR": 0.1806,
"predicted_OBP": 0.3181,
"predicted_R": 1.0064,
"predicted_RBI": 0.9799,
"predicted_SLG": 0.3852,
"predicted_SO": 1.6505
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3751,
"after": 0.3751,
"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.5085,
"after": 7.5085,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2611,
"after": 0.2629,
"delta": 0.0018,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6169,
"after": 0.6082,
"delta": -0.0087,
"percent_delta": -0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0646,
"after": 1.9738,
"delta": -0.0908,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.1887,
"after": 0.1806,
"delta": -0.0081,
"percent_delta": -0.0429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3352,
"after": 0.3181,
"delta": -0.0171,
"percent_delta": -0.051,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0878,
"after": 1.0064,
"delta": -0.0814,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0591,
"after": 0.9799,
"delta": -0.0792,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.3852,
"delta": -0.0178,
"percent_delta": -0.0442,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6276,
"after": 1.6505,
"delta": 0.0229,
"percent_delta": 0.0141,
"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.0646,
"after": 1.9738,
"delta": -0.0908,
"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 8 (raw=7.51), rates preserved: AVG=0.263 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.3751,
"after": 0.0,
"delta": -0.3751,
"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.5085,
"after": 8.0,
"delta": 0.4915,
"percent_delta": 0.0655,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6082,
"after": 1.0,
"delta": 0.3918,
"percent_delta": 0.6442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.9738,
"after": 2.0,
"delta": 0.0262,
"percent_delta": 0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1806,
"after": 0.0,
"delta": -0.1806,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9799,
"after": 1.0,
"delta": 0.0201,
"percent_delta": 0.0205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.6505,
"after": 2.0,
"delta": 0.3495,
"percent_delta": 0.2118,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 7.5085,
"after": 8.0,
"delta": 0.4915,
"percent_delta": 0.0655,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3751,
"after": 0.0,
"delta": -0.3751,
"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.0064,
"after": 1.0,
"delta": -0.0064,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2629,
"after": 0.25,
"delta": -0.0129,
"percent_delta": -0.0491,
"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.3181,
"after": 0.333,
"delta": 0.0149,
"percent_delta": 0.0468,
"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.3852,
"after": 0.25,
"delta": -0.1352,
"percent_delta": -0.351,
"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.3181,
"after": 0.333,
"delta": 0.0149,
"percent_delta": 0.0468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3852,
"after": 0.25,
"delta": -0.1352,
"percent_delta": -0.351,
"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": 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.2629,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3181,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3852,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2629,
"delta": 0.0129,
"percent_delta": 0.0515,
"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.3181,
"delta": -0.0149,
"percent_delta": -0.0447,
"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.3852,
"delta": 0.1352,
"percent_delta": 0.5408,
"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.3852,
"delta": 0.1352,
"percent_delta": 0.5408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3181,
"delta": -0.0149,
"percent_delta": -0.0447,
"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.163,
"after": 0.0,
"delta": -0.163,
"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.237,
"after": 0.2629,
"delta": 0.0259,
"percent_delta": 0.1093,
"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": 0.96,
"after": 0.0,
"delta": -0.96,
"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.319,
"after": 0.3181,
"delta": -0.0009,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.576,
"after": 0.0,
"delta": -0.576,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.3852,
"delta": -0.0078,
"percent_delta": -0.0198,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.828,
"after": 2.0,
"delta": 1.172,
"percent_delta": 1.4155,
"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.828,
"after": 2.0,
"delta": 1.172,
"percent_delta": 1.4155,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.96,
"after": 0.0,
"delta": -0.96,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.163 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.060 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.315 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.319 | - |
| predicted_R | 0.576 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.393 | - |
| predicted_SO | 0.828 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.375 | 0.212 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 7.508 | 3.449 |
| predicted_AVG | 0.261 | 0.024 |
| predicted_BB | 0.617 | 0.302 |
| predicted_H | 2.065 | 1.105 |
| predicted_HBP | 0.181 | - |
| predicted_HR | 0.189 | 0.069 |
| predicted_OBP | 0.335 | 0.016 |
| predicted_R | 1.088 | 0.512 |
| predicted_RBI | 1.059 | 0.609 |
| predicted_SLG | 0.403 | 0.010 |
| predicted_SO | 1.628 | 0.800 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.375 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 7.508 | 0.000 |
| predicted_AVG | 0.263 | 0.002 |
| predicted_BB | 0.608 | -0.009 |
| predicted_H | 1.974 | -0.091 |
| predicted_HBP | 0.181 | 0.000 |
| predicted_HR | 0.181 | -0.008 |
| predicted_OBP | 0.318 | -0.017 |
| predicted_R | 1.006 | -0.081 |
| predicted_RBI | 0.980 | -0.079 |
| predicted_SLG | 0.385 | -0.018 |
| predicted_SO | 1.651 | 0.023 |
AB rounded to 8 (raw=7.51), rates preserved: AVG=0.263 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.375 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | 0.492 |
| predicted_AVG | 0.250 | -0.013 |
| predicted_BB | 1.000 | 0.392 |
| predicted_H | 2.000 | 0.026 |
| predicted_HR | 0.000 | -0.181 |
| predicted_OBP | 0.333 | 0.015 |
| predicted_R | 1.000 | -0.006 |
| predicted_RBI | 1.000 | 0.020 |
| predicted_SLG | 0.250 | -0.135 |
| predicted_SO | 2.000 | 0.349 |
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 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 20.000 | 8.000 | 2.000 | 0.000 | 1.000 | 5.000 | 3.000 | 2.000 | 5.000 | 0.4000 | 0.4545 | 0.6500 | 0.4000 | 0.0500 | 0.2500 | 0.1000 | 0.2500 |
| last_10 | 0.20 | 5 | - | 40.000 | 12.000 | 2.000 | 0.000 | 1.000 | 9.000 | 3.000 | 2.000 | 8.000 | 0.3000 | 0.3333 | 0.4250 | 0.3000 | 0.0250 | 0.2250 | 0.0500 | 0.2000 |
| season | 0.60 | 54 | - | 776.000 | 205.000 | 33.000 | 0.000 | 12.000 | 97.000 | 117.000 | 64.000 | 168.000 | 0.2642 | 0.3329 | 0.3531 | 0.2642 | 0.0155 | 0.1250 | 0.0825 | 0.2165 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6450 |
| predicted_3B | 0.0020 |
| predicted_AB | 11.8960 |
| predicted_AVG | 0.2917 |
| predicted_BB | 1.0010 |
| predicted_H | 3.4700 |
| predicted_HBP | 0.1810 |
| predicted_HR | 0.2760 |
| predicted_OBP | 0.3558 |
| predicted_R | 1.7390 |
| predicted_RBI | 1.8340 |
| predicted_SLG | 0.4158 |
| predicted_SO | 2.6450 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1630 | 0.6450 | 0.3751 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 4.0600 | 11.8960 | 7.5085 | model_form_blend |
| predicted_AVG | 0.2370 | 0.2917 | 0.2611 | model_form_blend |
| predicted_BB | 0.3150 | 1.0010 | 0.6169 | model_form_blend |
| predicted_H | 0.9600 | 3.4700 | 2.0646 | model_form_blend |
| predicted_HBP | - | 0.1810 | 0.1810 | form_only |
| predicted_HR | 0.1200 | 0.2760 | 0.1887 | model_form_blend |
| predicted_OBP | 0.3190 | 0.3558 | 0.3352 | model_form_blend |
| predicted_R | 0.5760 | 1.7390 | 1.0878 | model_form_blend |
| predicted_RBI | 0.4500 | 1.8340 | 1.0591 | model_form_blend |
| predicted_SLG | 0.3930 | 0.4158 | 0.4030 | model_form_blend |
| predicted_SO | 0.8280 | 2.6450 | 1.6276 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 204 |
| Season rows before report date | 204 |
| Report year | 2026 |
| Profile rows used | 203 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.264 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260531_MIA@NYM |
| game_type | full |
| mlbID | 701807 |
| playerID | 701807 |
| playerName | Carson Benge |
| pos | OF |
| started | True |
| startingPosition | RF |
| team | NYM |
| teamID | 18 |
| game_date | 2026-05-31 |
| sl_k_percent | 20.8 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.3 |
| sl_xwoba | 0.329 |
| sl_xba | 0.267 |
| sl_xslg | 0.419 |
| sl_sweet_spot_percent | 40.7 |
| sl_barrel_batted_rate | 8.0 |
| sl_hard_hit_percent | 44.0 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 10.6 |
| sl_whiff_percent | 21.0 |
| sl_swing_percent | 44.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.250 | 0.000 | 0.000 | Hitting_2B | 0.226 | 0.000 | -0.226 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.893 | 4.000 | 4.000 | Hitting_AB | 2.613 | 4.000 | 1.387 | 0.000 |
| predicted_AVG | 0.281 | 0.000 | 0.250 | Hitting_AVG | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_BB | 0.214 | 0.000 | 0.000 | Hitting_BB | 0.226 | 1.000 | -0.226 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.240 | 0.000 | 1.000 | Hitting_H | 0.871 | 0.000 | -0.871 | 0.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_OBP | 0.322 | 0.000 | 0.250 | Hitting_OBP | 0.382 | 0.200 | -0.382 | -0.200 |
| predicted_R | 0.393 | 0.000 | 1.000 | Hitting_R | 0.355 | 0.000 | -0.355 | 0.000 |
| predicted_RBI | 0.130 | 0.000 | 0.000 | Hitting_RBI | 0.194 | 0.000 | -0.194 | 0.000 |
| predicted_SLG | 0.417 | 0.000 | 0.250 | Hitting_SLG | 0.457 | 0.000 | -0.457 | 0.000 |
| predicted_SO | 0.536 | 2.000 | 1.000 | Hitting_SO | 0.484 | 1.000 | 1.516 | 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.5360 -> 2.0000 (boost 1.4640, worse) |
| Biggest Deboost | predicted_R: 0.3930 -> 0.0000 (deboost -0.3930, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 9 | 0 | 8 | 1 | predicted_AB: 2.8930 -> 3.6726 (boost 0.7796, 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.4279 -> 0.3189 (deboost -0.1090, 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: 3.6726 -> 4.0000 (boost 0.3274, better) | predicted_BB: 0.3038 -> 0.0000 (deboost -0.3038, worse) | AB rounded to 4 (raw=3.67), rates preserved: AVG=0.185 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5222 -> 1.0000 (boost 0.4778, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.1853 -> 0.2500 (boost 0.0647, better) | predicted_SLG: 0.3189 -> 0.2500 (deboost -0.0689, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 0 | 3 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.3189 (boost 0.0689, better) | predicted_AVG: 0.2500 -> 0.1853 (deboost -0.0647, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676724",
"player_name": "Jared Young",
"position": "1B",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.25,
"predicted_3B": 0.0,
"predicted_AB": 2.893,
"predicted_AVG": 0.281,
"predicted_BB": 0.214,
"predicted_H": 0.24,
"predicted_HR": 0.04,
"predicted_OBP": 0.322,
"predicted_R": 0.393,
"predicted_RBI": 0.13,
"predicted_SLG": 0.417,
"predicted_SO": 0.536
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2613,
"predicted_3B": 0.0019,
"predicted_AB": 3.6726,
"predicted_AVG": 0.2886,
"predicted_BB": 0.3081,
"predicted_H": 0.7118,
"predicted_HBP": 0.012,
"predicted_HR": 0.0786,
"predicted_OBP": 0.3375,
"predicted_R": 0.5644,
"predicted_RBI": 0.2283,
"predicted_SLG": 0.4279,
"predicted_SO": 0.7426
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.2613,
"delta": 0.0113,
"percent_delta": 0.0452,
"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.893,
"after": 3.6726,
"delta": 0.7796,
"percent_delta": 0.2695,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.2886,
"delta": 0.0076,
"percent_delta": 0.027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.214,
"after": 0.3081,
"delta": 0.0941,
"percent_delta": 0.4397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.24,
"after": 0.7118,
"delta": 0.4718,
"percent_delta": 1.9658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0786,
"delta": 0.0386,
"percent_delta": 0.965,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3375,
"delta": 0.0155,
"percent_delta": 0.0481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.393,
"after": 0.5644,
"delta": 0.1714,
"percent_delta": 0.4361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 0.2283,
"delta": 0.0983,
"percent_delta": 0.7562,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.4279,
"delta": 0.0109,
"percent_delta": 0.0261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.536,
"after": 0.7426,
"delta": 0.2066,
"percent_delta": 0.3854,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.893,
"after": 3.6726,
"delta": 0.7796,
"percent_delta": 0.2695,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 7,
"season": 13
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2613,
"predicted_3B": 0.0019,
"predicted_AB": 3.6726,
"predicted_AVG": 0.1853,
"predicted_BB": 0.3038,
"predicted_H": 0.6805,
"predicted_HBP": 0.012,
"predicted_HR": 0.0752,
"predicted_OBP": 0.2475,
"predicted_R": 0.5222,
"predicted_RBI": 0.2112,
"predicted_SLG": 0.3189,
"predicted_SO": 0.7531
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2613,
"after": 0.2613,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6726,
"after": 3.6726,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2886,
"after": 0.1853,
"delta": -0.1033,
"percent_delta": -0.3579,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3081,
"after": 0.3038,
"delta": -0.0043,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7118,
"after": 0.6805,
"delta": -0.0313,
"percent_delta": -0.044,
"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.0786,
"after": 0.0752,
"delta": -0.0034,
"percent_delta": -0.0433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3375,
"after": 0.2475,
"delta": -0.09,
"percent_delta": -0.2667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5644,
"after": 0.5222,
"delta": -0.0422,
"percent_delta": -0.0748,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2283,
"after": 0.2112,
"delta": -0.0171,
"percent_delta": -0.0749,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4279,
"after": 0.3189,
"delta": -0.109,
"percent_delta": -0.2547,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7426,
"after": 0.7531,
"delta": 0.0105,
"percent_delta": 0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4279,
"after": 0.3189,
"delta": -0.109,
"percent_delta": -0.2547,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.67), rates preserved: AVG=0.185 HR/AB=0.020",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2613,
"after": 0.0,
"delta": -0.2613,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0,
"delta": -0.0019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6726,
"after": 4.0,
"delta": 0.3274,
"percent_delta": 0.0891,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3038,
"after": 0.0,
"delta": -0.3038,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6805,
"after": 1.0,
"delta": 0.3195,
"percent_delta": 0.4695,
"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.0752,
"after": 0.0,
"delta": -0.0752,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2112,
"after": 0.0,
"delta": -0.2112,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7531,
"after": 1.0,
"delta": 0.2469,
"percent_delta": 0.3278,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.6726,
"after": 4.0,
"delta": 0.3274,
"percent_delta": 0.0891,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3038,
"after": 0.0,
"delta": -0.3038,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5222,
"after": 1.0,
"delta": 0.4778,
"percent_delta": 0.915,
"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.5222,
"after": 1.0,
"delta": 0.4778,
"percent_delta": 0.915,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1853,
"after": 0.25,
"delta": 0.0647,
"percent_delta": 0.3492,
"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.2475,
"after": 0.25,
"delta": 0.0025,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3189,
"after": 0.25,
"delta": -0.0689,
"percent_delta": -0.2161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1853,
"after": 0.25,
"delta": 0.0647,
"percent_delta": 0.3492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3189,
"after": 0.25,
"delta": -0.0689,
"percent_delta": -0.2161,
"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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1853,
"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.2475,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3189,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.1853,
"delta": -0.0647,
"percent_delta": -0.2589,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2475,
"delta": -0.0025,
"percent_delta": -0.0099,
"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.3189,
"delta": 0.0689,
"percent_delta": 0.2756,
"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.25,
"after": 0.3189,
"delta": 0.0689,
"percent_delta": 0.2756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1853,
"delta": -0.0647,
"percent_delta": -0.2589,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.893,
"after": 4.0,
"delta": 1.107,
"percent_delta": 0.3826,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.1853,
"delta": -0.0957,
"percent_delta": -0.3406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.214,
"after": 0.0,
"delta": -0.214,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.2475,
"delta": -0.0745,
"percent_delta": -0.2314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.393,
"after": 0.0,
"delta": -0.393,
"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.417,
"after": 0.3189,
"delta": -0.0981,
"percent_delta": -0.2353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.536,
"after": 2.0,
"delta": 1.464,
"percent_delta": 2.7313,
"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.536,
"after": 2.0,
"delta": 1.464,
"percent_delta": 2.7313,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.393,
"after": 0.0,
"delta": -0.393,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.250 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.893 | - |
| predicted_AVG | 0.281 | - |
| predicted_BB | 0.214 | - |
| predicted_H | 0.240 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.393 | - |
| predicted_RBI | 0.130 | - |
| predicted_SLG | 0.417 | - |
| predicted_SO | 0.536 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.011 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.673 | 0.780 |
| predicted_AVG | 0.289 | 0.008 |
| predicted_BB | 0.308 | 0.094 |
| predicted_H | 0.712 | 0.472 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.079 | 0.039 |
| predicted_OBP | 0.338 | 0.016 |
| predicted_R | 0.564 | 0.171 |
| predicted_RBI | 0.228 | 0.098 |
| predicted_SLG | 0.428 | 0.011 |
| predicted_SO | 0.743 | 0.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.261 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.673 | 0.000 |
| predicted_AVG | 0.185 | -0.103 |
| predicted_BB | 0.304 | -0.004 |
| predicted_H | 0.680 | -0.031 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.075 | -0.003 |
| predicted_OBP | 0.247 | -0.090 |
| predicted_R | 0.522 | -0.042 |
| predicted_RBI | 0.211 | -0.017 |
| predicted_SLG | 0.319 | -0.109 |
| predicted_SO | 0.753 | 0.010 |
AB rounded to 4 (raw=3.67), rates preserved: AVG=0.185 HR/AB=0.020
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.261 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | 0.327 |
| predicted_AVG | 0.250 | 0.065 |
| predicted_BB | 0.000 | -0.304 |
| predicted_H | 1.000 | 0.320 |
| predicted_HR | 0.000 | -0.075 |
| predicted_OBP | 0.250 | 0.003 |
| predicted_R | 1.000 | 0.478 |
| predicted_RBI | 0.000 | -0.211 |
| predicted_SLG | 0.250 | -0.069 |
| predicted_SO | 1.000 | 0.247 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -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 | 4 | - | 14.000 | 4.000 | 0.000 | 0.000 | 1.000 | 1.000 | 5.000 | 2.000 | 4.000 | 0.2857 | 0.3750 | 0.5000 | 0.2857 | 0.0714 | 0.0714 | 0.1429 | 0.2857 |
| last_10 | 0.20 | 7 | - | 24.000 | 7.000 | 0.000 | 0.000 | 1.000 | 1.000 | 5.000 | 4.000 | 7.000 | 0.2917 | 0.3929 | 0.4167 | 0.2917 | 0.0417 | 0.0417 | 0.1667 | 0.2917 |
| season | 0.60 | 13 | - | 81.000 | 27.000 | 7.000 | 0.000 | 1.000 | 5.000 | 11.000 | 6.000 | 15.000 | 0.3333 | 0.3793 | 0.4568 | 0.3333 | 0.0123 | 0.0617 | 0.0741 | 0.1852 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2800 |
| predicted_3B | 0.0050 |
| predicted_AB | 4.9720 |
| predicted_AVG | 0.3013 |
| predicted_BB | 0.4650 |
| predicted_H | 1.4980 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.1430 |
| predicted_OBP | 0.3632 |
| predicted_R | 0.8500 |
| predicted_RBI | 0.3920 |
| predicted_SLG | 0.4460 |
| predicted_SO | 1.0870 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2500 | 0.2800 | 0.2613 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0019 | model_form_blend |
| predicted_AB | 2.8930 | 4.9720 | 3.6726 | model_form_blend |
| predicted_AVG | 0.2810 | 0.3013 | 0.2886 | model_form_blend |
| predicted_BB | 0.2140 | 0.4650 | 0.3081 | model_form_blend |
| predicted_H | 0.2400 | 1.4980 | 0.7118 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.0400 | 0.1430 | 0.0786 | model_form_blend |
| predicted_OBP | 0.3220 | 0.3632 | 0.3375 | model_form_blend |
| predicted_R | 0.3930 | 0.8500 | 0.5644 | model_form_blend |
| predicted_RBI | 0.1300 | 0.3920 | 0.2283 | model_form_blend |
| predicted_SLG | 0.4170 | 0.4460 | 0.4279 | model_form_blend |
| predicted_SO | 0.5360 | 1.0870 | 0.7426 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 28 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.333 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | DH |
| gameID | 20260531_MIA@NYM |
| game_type | full |
| mlbID | 676724 |
| playerID | 676724 |
| playerName | Jared Young |
| pos | 1B |
| started | True |
| startingPosition | DH |
| team | NYM |
| teamID | 18 |
| game_date | 2026-05-31 |
| sl_k_percent | 20.6 |
| sl_bb_percent | 11.8 |
| sl_woba | 0.404 |
| sl_xwoba | 0.392 |
| sl_xba | 0.292 |
| sl_xslg | 0.462 |
| sl_sweet_spot_percent | 26.1 |
| sl_barrel_batted_rate | 17.4 |
| sl_hard_hit_percent | 47.8 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | -0.1 |
| sl_whiff_percent | 26.9 |
| sl_swing_percent | 46.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.186 | 0.000 | 0.000 | Hitting_2B | 0.182 | 0.000 | -0.182 | 0.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_AB | 3.585 | 4.000 | 7.000 | Hitting_AB | 3.508 | 4.000 | 0.492 | 0.000 |
| predicted_AVG | 0.242 | 0.000 | 0.143 | Hitting_AVG | 0.245 | 0.250 | -0.245 | -0.250 |
| predicted_BB | 0.328 | 0.000 | 1.000 | Hitting_BB | 0.348 | 0.000 | -0.348 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_H | 0.740 | 0.000 | 1.000 | Hitting_H | 0.861 | 1.000 | -0.861 | -1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.075 | 0.000 | -0.075 | 0.000 |
| predicted_OBP | 0.299 | 0.000 | 0.250 | Hitting_OBP | 0.316 | 0.250 | -0.316 | -0.250 |
| predicted_R | 0.508 | 0.000 | 1.000 | Hitting_R | 0.508 | 1.000 | -0.508 | -1.000 |
| predicted_RBI | 0.410 | 0.000 | 1.000 | Hitting_RBI | 0.481 | 0.000 | -0.481 | 0.000 |
| predicted_SLG | 0.350 | 0.000 | 0.143 | Hitting_SLG | 0.377 | 0.250 | -0.377 | -0.250 |
| predicted_SO | 1.087 | 2.000 | 2.000 | Hitting_SO | 1.064 | 2.000 | 0.936 | 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.0870 -> 2.0000 (boost 0.9130, worse) |
| Biggest Deboost | predicted_H: 0.7400 -> 0.0000 (deboost -0.7400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 7 | 3 | 6 | 4 | predicted_AB: 3.5850 -> 6.7613 (boost 3.1763, better) | predicted_OBP: 0.2990 -> 0.2879 (deboost -0.0111, 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_R: 1.0582 -> 0.9790 (deboost -0.0792, 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_BB: 0.5335 -> 1.0000 (boost 0.4665, better) | predicted_H: 1.3918 -> 1.0000 (deboost -0.3918, worse) | AB rounded to 7 (raw=6.76), rates preserved: AVG=0.206 HR/AB=0.017 |
| 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.3182 -> 0.1430 (deboost -0.1752, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1430 -> 0.3182 (boost 0.1752, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683146",
"player_name": "Brett Baty",
"position": "3B",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is 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.027,
"predicted_AB": 3.585,
"predicted_AVG": 0.242,
"predicted_BB": 0.328,
"predicted_H": 0.74,
"predicted_HR": 0.07,
"predicted_OBP": 0.299,
"predicted_R": 0.508,
"predicted_RBI": 0.41,
"predicted_SLG": 0.35,
"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.3351,
"predicted_3B": 0.0419,
"predicted_AB": 6.7613,
"predicted_AVG": 0.232,
"predicted_BB": 0.5411,
"predicted_H": 1.4559,
"predicted_HBP": 0.063,
"predicted_HR": 0.1187,
"predicted_OBP": 0.2879,
"predicted_R": 1.0582,
"predicted_RBI": 0.8339,
"predicted_SLG": 0.3408,
"predicted_SO": 1.9827
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.186,
"after": 0.3351,
"delta": 0.1491,
"percent_delta": 0.8016,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0419,
"delta": 0.0149,
"percent_delta": 0.5519,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.585,
"after": 6.7613,
"delta": 3.1763,
"percent_delta": 0.886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.232,
"delta": -0.01,
"percent_delta": -0.0413,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.328,
"after": 0.5411,
"delta": 0.2131,
"percent_delta": 0.6497,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 1.4559,
"delta": 0.7159,
"percent_delta": 0.9674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.1187,
"delta": 0.0487,
"percent_delta": 0.6957,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2879,
"delta": -0.0111,
"percent_delta": -0.0371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.508,
"after": 1.0582,
"delta": 0.5502,
"percent_delta": 1.0831,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.8339,
"delta": 0.4239,
"percent_delta": 1.0339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.35,
"after": 0.3408,
"delta": -0.0092,
"percent_delta": -0.0263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.087,
"after": 1.9827,
"delta": 0.8957,
"percent_delta": 0.824,
"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.585,
"after": 6.7613,
"delta": 3.1763,
"percent_delta": 0.886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2879,
"delta": -0.0111,
"percent_delta": -0.0371,
"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": 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.3351,
"predicted_3B": 0.0419,
"predicted_AB": 6.7613,
"predicted_AVG": 0.2059,
"predicted_BB": 0.5335,
"predicted_H": 1.3918,
"predicted_HBP": 0.063,
"predicted_HR": 0.1136,
"predicted_OBP": 0.2639,
"predicted_R": 0.979,
"predicted_RBI": 0.7715,
"predicted_SLG": 0.3182,
"predicted_SO": 2.0107
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3351,
"after": 0.3351,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0419,
"after": 0.0419,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.7613,
"after": 6.7613,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2059,
"delta": -0.0261,
"percent_delta": -0.1125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5411,
"after": 0.5335,
"delta": -0.0076,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4559,
"after": 1.3918,
"delta": -0.0641,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.063,
"after": 0.063,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1187,
"after": 0.1136,
"delta": -0.0051,
"percent_delta": -0.043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2879,
"after": 0.2639,
"delta": -0.024,
"percent_delta": -0.0834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0582,
"after": 0.979,
"delta": -0.0792,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8339,
"after": 0.7715,
"delta": -0.0624,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3408,
"after": 0.3182,
"delta": -0.0226,
"percent_delta": -0.0663,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9827,
"after": 2.0107,
"delta": 0.028,
"percent_delta": 0.0141,
"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": 1.0582,
"after": 0.979,
"delta": -0.0792,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.76), rates preserved: AVG=0.206 HR/AB=0.017",
"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.3351,
"after": 0.0,
"delta": -0.3351,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0419,
"after": 0.0,
"delta": -0.0419,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.7613,
"after": 7.0,
"delta": 0.2387,
"percent_delta": 0.0353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5335,
"after": 1.0,
"delta": 0.4665,
"percent_delta": 0.8744,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3918,
"after": 1.0,
"delta": -0.3918,
"percent_delta": -0.2815,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.063,
"after": 0.0,
"delta": -0.063,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1136,
"after": 0.0,
"delta": -0.1136,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7715,
"after": 1.0,
"delta": 0.2285,
"percent_delta": 0.2962,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0107,
"after": 2.0,
"delta": -0.0107,
"percent_delta": -0.0053,
"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_BB",
"before": 0.5335,
"after": 1.0,
"delta": 0.4665,
"percent_delta": 0.8744,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.3918,
"after": 1.0,
"delta": -0.3918,
"percent_delta": -0.2815,
"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.979,
"after": 1.0,
"delta": 0.021,
"percent_delta": 0.0215,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.143,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.143,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2059,
"after": 0.143,
"delta": -0.0629,
"percent_delta": -0.3055,
"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.2639,
"after": 0.25,
"delta": -0.0139,
"percent_delta": -0.0527,
"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.3182,
"after": 0.143,
"delta": -0.1752,
"percent_delta": -0.5506,
"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.3182,
"after": 0.143,
"delta": -0.1752,
"percent_delta": -0.5506,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2059,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2639,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3182,
"predicted_SO": 2.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.143,
"after": 0.2059,
"delta": 0.0629,
"percent_delta": 0.4395,
"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.2639,
"delta": 0.0139,
"percent_delta": 0.0557,
"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.3182,
"delta": 0.1752,
"percent_delta": 1.2252,
"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.3182,
"delta": 0.1752,
"percent_delta": 1.2252,
"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.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.585,
"after": 4.0,
"delta": 0.415,
"percent_delta": 0.1158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2059,
"delta": -0.0361,
"percent_delta": -0.1492,
"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.74,
"after": 0.0,
"delta": -0.74,
"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.299,
"after": 0.2639,
"delta": -0.0351,
"percent_delta": -0.1174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.508,
"after": 0.0,
"delta": -0.508,
"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.35,
"after": 0.3182,
"delta": -0.0318,
"percent_delta": -0.0909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.087,
"after": 2.0,
"delta": 0.913,
"percent_delta": 0.8399,
"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.087,
"after": 2.0,
"delta": 0.913,
"percent_delta": 0.8399,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.186 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 3.585 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.328 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.299 | - |
| predicted_R | 0.508 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.350 | - |
| 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.335 | 0.149 |
| predicted_3B | 0.042 | 0.015 |
| predicted_AB | 6.761 | 3.176 |
| predicted_AVG | 0.232 | -0.010 |
| predicted_BB | 0.541 | 0.213 |
| predicted_H | 1.456 | 0.716 |
| predicted_HBP | 0.063 | - |
| predicted_HR | 0.119 | 0.049 |
| predicted_OBP | 0.288 | -0.011 |
| predicted_R | 1.058 | 0.550 |
| predicted_RBI | 0.834 | 0.424 |
| predicted_SLG | 0.341 | -0.009 |
| predicted_SO | 1.983 | 0.896 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.335 | 0.000 |
| predicted_3B | 0.042 | 0.000 |
| predicted_AB | 6.761 | 0.000 |
| predicted_AVG | 0.206 | -0.026 |
| predicted_BB | 0.533 | -0.008 |
| predicted_H | 1.392 | -0.064 |
| predicted_HBP | 0.063 | 0.000 |
| predicted_HR | 0.114 | -0.005 |
| predicted_OBP | 0.264 | -0.024 |
| predicted_R | 0.979 | -0.079 |
| predicted_RBI | 0.771 | -0.062 |
| predicted_SLG | 0.318 | -0.023 |
| predicted_SO | 2.011 | 0.028 |
AB rounded to 7 (raw=6.76), rates preserved: AVG=0.206 HR/AB=0.017
| 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.335 |
| predicted_3B | 0.000 | -0.042 |
| predicted_AB | 7.000 | 0.239 |
| predicted_AVG | 0.143 | -0.063 |
| predicted_BB | 1.000 | 0.467 |
| predicted_H | 1.000 | -0.392 |
| predicted_HR | 0.000 | -0.114 |
| predicted_OBP | 0.250 | -0.014 |
| predicted_R | 1.000 | 0.021 |
| predicted_RBI | 1.000 | 0.229 |
| predicted_SLG | 0.143 | -0.175 |
| predicted_SO | 2.000 | -0.011 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 3 | - | 17.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 4.000 | 0.000 | 4.000 | 0.1176 | 0.1176 | 0.1176 | 0.1177 | 0.0000 | 0.1177 | 0.0000 | 0.2353 |
| last_10 | 0.20 | 5 | - | 31.000 | 5.000 | 3.000 | 0.000 | 0.000 | 2.000 | 7.000 | 2.000 | 9.000 | 0.1613 | 0.2121 | 0.2581 | 0.1613 | 0.0000 | 0.0645 | 0.0645 | 0.2903 |
| season | 0.60 | 51 | - | 656.000 | 161.000 | 34.000 | 5.000 | 14.000 | 90.000 | 93.000 | 60.000 | 199.000 | 0.2454 | 0.3109 | 0.3765 | 0.2454 | 0.0213 | 0.1372 | 0.0915 | 0.3034 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5260 |
| predicted_3B | 0.0610 |
| predicted_AB | 10.8300 |
| predicted_AVG | 0.2191 |
| predicted_BB | 0.8140 |
| predicted_H | 2.3730 |
| predicted_HBP | 0.0630 |
| predicted_HR | 0.1810 |
| predicted_OBP | 0.2737 |
| predicted_R | 1.7630 |
| predicted_RBI | 1.3770 |
| predicted_SLG | 0.3291 |
| predicted_SO | 3.1300 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1860 | 0.5260 | 0.3351 | model_form_blend |
| predicted_3B | 0.0270 | 0.0610 | 0.0419 | model_form_blend |
| predicted_AB | 3.5850 | 10.8300 | 6.7613 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2191 | 0.2320 | model_form_blend |
| predicted_BB | 0.3280 | 0.8140 | 0.5411 | model_form_blend |
| predicted_H | 0.7400 | 2.3730 | 1.4559 | model_form_blend |
| predicted_HBP | - | 0.0630 | 0.0630 | form_only |
| predicted_HR | 0.0700 | 0.1810 | 0.1187 | model_form_blend |
| predicted_OBP | 0.2990 | 0.2737 | 0.2879 | model_form_blend |
| predicted_R | 0.5080 | 1.7630 | 1.0582 | model_form_blend |
| predicted_RBI | 0.4100 | 1.3770 | 0.8339 | model_form_blend |
| predicted_SLG | 0.3500 | 0.3291 | 0.3408 | model_form_blend |
| predicted_SO | 1.0870 | 3.1300 | 1.9827 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 187 |
| Season rows before report date | 187 |
| Report year | 2026 |
| Profile rows used | 183 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.245 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260531_MIA@NYM |
| game_type | full |
| mlbID | 683146 |
| playerID | 683146 |
| playerName | Brett Baty |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | NYM |
| teamID | 18 |
| game_date | 2026-05-31 |
| sl_k_percent | 27.7 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.293 |
| sl_xwoba | 0.31 |
| sl_xba | 0.241 |
| sl_xslg | 0.389 |
| sl_sweet_spot_percent | 34.7 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 38.1 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 9.2 |
| sl_whiff_percent | 28.5 |
| sl_swing_percent | 45.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.000 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.079 | 1.000 | 0.000 | Hitting_3B | 0.079 | 0.000 | 0.921 | 1.000 |
| predicted_AB | 3.429 | 4.000 | 6.000 | Hitting_AB | 3.429 | 3.000 | 0.571 | 1.000 |
| predicted_AVG | 0.233 | 0.500 | 0.167 | Hitting_AVG | 0.259 | 0.000 | 0.241 | 0.500 |
| predicted_BB | 0.619 | 0.000 | 1.000 | Hitting_BB | 0.619 | 1.000 | -0.619 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.175 | 0.000 | -0.175 | 0.000 |
| predicted_H | 0.790 | 2.000 | 1.000 | Hitting_H | 0.889 | 0.000 | 1.111 | 2.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.063 | 0.000 | -0.063 | 0.000 |
| predicted_OBP | 0.298 | 0.500 | 0.286 | Hitting_OBP | 0.373 | 0.250 | 0.127 | 0.250 |
| predicted_R | 0.492 | 1.000 | 1.000 | Hitting_R | 0.492 | 1.000 | 0.508 | 0.000 |
| predicted_RBI | 0.380 | 1.000 | 1.000 | Hitting_RBI | 0.349 | 0.000 | 0.651 | 1.000 |
| predicted_SLG | 0.330 | 1.000 | 0.167 | Hitting_SLG | 0.361 | 0.000 | 0.639 | 1.000 |
| predicted_SO | 1.270 | 1.000 | 2.000 | Hitting_SO | 1.270 | 3.000 | -0.270 | -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_H: 0.7900 -> 2.0000 (boost 1.2100, better) |
| Biggest Deboost | predicted_BB: 0.6190 -> 0.0000 (deboost -0.6190, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.4290 -> 5.8629 (boost 2.4339, better) | predicted_SLG: 0.3300 -> 0.3215 (deboost -0.0085, 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 | 1 | 4 | 1 | 4 | predicted_OBP: 0.3058 -> 0.3198 (boost 0.0140, better) | predicted_R: 0.7921 -> 0.7329 (deboost -0.0592, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 4 | 3 | predicted_RBI: 0.5742 -> 1.0000 (boost 0.4258, better) | predicted_H: 1.2710 -> 1.0000 (deboost -0.2710, worse) | AB rounded to 6 (raw=5.86), rates preserved: AVG=0.217 HR/AB=0.018 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7329 -> 1.0000 (boost 0.2671, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3100 -> 0.1670 (deboost -0.1430, 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_3B: 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.3100 (boost 0.1430, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805999",
"player_name": "A.J. Ewing",
"position": "CF",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is 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.079,
"predicted_AB": 3.429,
"predicted_AVG": 0.233,
"predicted_BB": 0.619,
"predicted_H": 0.79,
"predicted_HR": 0.08,
"predicted_OBP": 0.298,
"predicted_R": 0.492,
"predicted_RBI": 0.38,
"predicted_SLG": 0.33,
"predicted_SO": 1.27
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0201,
"predicted_3B": 0.1075,
"predicted_AB": 5.8629,
"predicted_AVG": 0.2296,
"predicted_BB": 0.9011,
"predicted_H": 1.3295,
"predicted_HBP": 0.009,
"predicted_HR": 0.1085,
"predicted_OBP": 0.3058,
"predicted_R": 0.7921,
"predicted_RBI": 0.6206,
"predicted_SLG": 0.3215,
"predicted_SO": 2.1478
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0201,
"delta": 0.0201,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.079,
"after": 0.1075,
"delta": 0.0285,
"percent_delta": 0.3608,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.429,
"after": 5.8629,
"delta": 2.4339,
"percent_delta": 0.7098,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2296,
"delta": -0.0034,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.619,
"after": 0.9011,
"delta": 0.2821,
"percent_delta": 0.4557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 1.3295,
"delta": 0.5395,
"percent_delta": 0.6829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1085,
"delta": 0.0285,
"percent_delta": 0.3562,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.3058,
"delta": 0.0078,
"percent_delta": 0.0262,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.492,
"after": 0.7921,
"delta": 0.3001,
"percent_delta": 0.61,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.6206,
"delta": 0.2406,
"percent_delta": 0.6332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.33,
"after": 0.3215,
"delta": -0.0085,
"percent_delta": -0.0258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.27,
"after": 2.1478,
"delta": 0.8778,
"percent_delta": 0.6912,
"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.429,
"after": 5.8629,
"delta": 2.4339,
"percent_delta": 0.7098,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.33,
"after": 0.3215,
"delta": -0.0085,
"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": 4,
"last_10": 5,
"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.0201,
"predicted_3B": 0.1075,
"predicted_AB": 5.8629,
"predicted_AVG": 0.2168,
"predicted_BB": 0.8884,
"predicted_H": 1.271,
"predicted_HBP": 0.009,
"predicted_HR": 0.1038,
"predicted_OBP": 0.3198,
"predicted_R": 0.7329,
"predicted_RBI": 0.5742,
"predicted_SLG": 0.31,
"predicted_SO": 2.1781
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0201,
"after": 0.0201,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1075,
"after": 0.1075,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.8629,
"after": 5.8629,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2296,
"after": 0.2168,
"delta": -0.0128,
"percent_delta": -0.0557,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9011,
"after": 0.8884,
"delta": -0.0127,
"percent_delta": -0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3295,
"after": 1.271,
"delta": -0.0585,
"percent_delta": -0.044,
"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.1085,
"after": 0.1038,
"delta": -0.0047,
"percent_delta": -0.0433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3058,
"after": 0.3198,
"delta": 0.014,
"percent_delta": 0.0458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7921,
"after": 0.7329,
"delta": -0.0592,
"percent_delta": -0.0747,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6206,
"after": 0.5742,
"delta": -0.0464,
"percent_delta": -0.0748,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3215,
"after": 0.31,
"delta": -0.0115,
"percent_delta": -0.0358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1478,
"after": 2.1781,
"delta": 0.0303,
"percent_delta": 0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3058,
"after": 0.3198,
"delta": 0.014,
"percent_delta": 0.0458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.7921,
"after": 0.7329,
"delta": -0.0592,
"percent_delta": -0.0747,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.86), rates preserved: AVG=0.217 HR/AB=0.018",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0201,
"after": 0.0,
"delta": -0.0201,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1075,
"after": 0.0,
"delta": -0.1075,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 5.8629,
"after": 6.0,
"delta": 0.1371,
"percent_delta": 0.0234,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8884,
"after": 1.0,
"delta": 0.1116,
"percent_delta": 0.1256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.271,
"after": 1.0,
"delta": -0.271,
"percent_delta": -0.2132,
"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.1038,
"after": 0.0,
"delta": -0.1038,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5742,
"after": 1.0,
"delta": 0.4258,
"percent_delta": 0.7416,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1781,
"after": 2.0,
"delta": -0.1781,
"percent_delta": -0.0818,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5742,
"after": 1.0,
"delta": 0.4258,
"percent_delta": 0.7416,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.271,
"after": 1.0,
"delta": -0.271,
"percent_delta": -0.2132,
"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.7329,
"after": 1.0,
"delta": 0.2671,
"percent_delta": 0.3644,
"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.7329,
"after": 1.0,
"delta": 0.2671,
"percent_delta": 0.3644,
"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.2168,
"after": 0.167,
"delta": -0.0498,
"percent_delta": -0.2297,
"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.3198,
"after": 0.286,
"delta": -0.0338,
"percent_delta": -0.1057,
"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.31,
"after": 0.167,
"delta": -0.143,
"percent_delta": -0.4613,
"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.31,
"after": 0.167,
"delta": -0.143,
"percent_delta": -0.4613,
"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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"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_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": 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": 1.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2168,
"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.3198,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.31,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"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.167,
"after": 0.2168,
"delta": 0.0498,
"percent_delta": 0.2981,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.3198,
"delta": 0.0338,
"percent_delta": 0.1184,
"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.31,
"delta": 0.143,
"percent_delta": 0.8564,
"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.31,
"delta": 0.143,
"percent_delta": 0.8564,
"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.079,
"after": 1.0,
"delta": 0.921,
"percent_delta": 11.6582,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.429,
"after": 4.0,
"delta": 0.571,
"percent_delta": 0.1665,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2168,
"delta": -0.0162,
"percent_delta": -0.0695,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.619,
"after": 0.0,
"delta": -0.619,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 2.0,
"delta": 1.21,
"percent_delta": 1.5316,
"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.298,
"after": 0.3198,
"delta": 0.0218,
"percent_delta": 0.0732,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.492,
"after": 1.0,
"delta": 0.508,
"percent_delta": 1.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 1.0,
"delta": 0.62,
"percent_delta": 1.6316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.33,
"after": 0.31,
"delta": -0.02,
"percent_delta": -0.0606,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.27,
"after": 1.0,
"delta": -0.27,
"percent_delta": -0.2126,
"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.79,
"after": 2.0,
"delta": 1.21,
"percent_delta": 1.5316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.619,
"after": 0.0,
"delta": -0.619,
"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.079 | - |
| predicted_AB | 3.429 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.619 | - |
| predicted_H | 0.790 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.492 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.330 | - |
| predicted_SO | 1.270 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.020 | 0.020 |
| predicted_3B | 0.107 | 0.028 |
| predicted_AB | 5.863 | 2.434 |
| predicted_AVG | 0.230 | -0.003 |
| predicted_BB | 0.901 | 0.282 |
| predicted_H | 1.329 | 0.539 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.108 | 0.028 |
| predicted_OBP | 0.306 | 0.008 |
| predicted_R | 0.792 | 0.300 |
| predicted_RBI | 0.621 | 0.241 |
| predicted_SLG | 0.322 | -0.009 |
| predicted_SO | 2.148 | 0.878 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.020 | 0.000 |
| predicted_3B | 0.107 | 0.000 |
| predicted_AB | 5.863 | 0.000 |
| predicted_AVG | 0.217 | -0.013 |
| predicted_BB | 0.888 | -0.013 |
| predicted_H | 1.271 | -0.058 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.104 | -0.005 |
| predicted_OBP | 0.320 | 0.014 |
| predicted_R | 0.733 | -0.059 |
| predicted_RBI | 0.574 | -0.046 |
| predicted_SLG | 0.310 | -0.012 |
| predicted_SO | 2.178 | 0.030 |
AB rounded to 6 (raw=5.86), rates preserved: AVG=0.217 HR/AB=0.018
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.020 |
| predicted_3B | 0.000 | -0.107 |
| predicted_AB | 6.000 | 0.137 |
| predicted_AVG | 0.167 | -0.050 |
| predicted_BB | 1.000 | 0.112 |
| predicted_H | 1.000 | -0.271 |
| predicted_HR | 0.000 | -0.104 |
| predicted_OBP | 0.286 | -0.034 |
| predicted_R | 1.000 | 0.267 |
| predicted_RBI | 1.000 | 0.426 |
| predicted_SLG | 0.167 | -0.143 |
| predicted_SO | 2.000 | -0.178 |
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 | -2.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 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 | 4 | - | 19.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 1.000 | 8.000 | 0.1053 | 0.1500 | 0.1053 | 0.1053 | 0.0000 | 0.1053 | 0.0526 | 0.4210 |
| last_10 | 0.20 | 5 | - | 39.000 | 5.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 1.000 | 15.000 | 0.1282 | 0.1500 | 0.1282 | 0.1282 | 0.0000 | 0.0513 | 0.0256 | 0.3846 |
| season | 0.60 | 19 | - | 216.000 | 56.000 | 0.000 | 5.000 | 4.000 | 22.000 | 31.000 | 39.000 | 80.000 | 0.2593 | 0.3725 | 0.3611 | 0.2593 | 0.0185 | 0.1018 | 0.1806 | 0.3704 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0480 |
| predicted_3B | 0.1470 |
| predicted_AB | 9.2350 |
| predicted_AVG | 0.2249 |
| predicted_BB | 1.2920 |
| predicted_H | 2.0770 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.1480 |
| predicted_OBP | 0.3165 |
| predicted_R | 1.2080 |
| predicted_RBI | 0.9540 |
| predicted_SLG | 0.3098 |
| predicted_SO | 3.3640 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0480 | 0.0201 | model_form_blend |
| predicted_3B | 0.0790 | 0.1470 | 0.1075 | model_form_blend |
| predicted_AB | 3.4290 | 9.2350 | 5.8629 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2249 | 0.2296 | model_form_blend |
| predicted_BB | 0.6190 | 1.2920 | 0.9011 | model_form_blend |
| predicted_H | 0.7900 | 2.0770 | 1.3295 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.0800 | 0.1480 | 0.1085 | model_form_blend |
| predicted_OBP | 0.2980 | 0.3165 | 0.3058 | model_form_blend |
| predicted_R | 0.4920 | 1.2080 | 0.7921 | model_form_blend |
| predicted_RBI | 0.3800 | 0.9540 | 0.6206 | model_form_blend |
| predicted_SLG | 0.3300 | 0.3098 | 0.3215 | model_form_blend |
| predicted_SO | 1.2700 | 3.3640 | 2.1478 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 63 |
| Season rows before report date | 63 |
| 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 | 2 |
| 2B | 0 |
| 3B | 1 |
| 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 | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 20260531_MIA@NYM |
| game_type | full |
| mlbID | 805999 |
| playerID | 805999 |
| playerName | A.J. Ewing |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | NYM |
| teamID | 18 |
| game_date | 2026-05-31 |
| sl_k_percent | 30.0 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.308 |
| sl_xwoba | 0.334 |
| sl_xba | 0.256 |
| sl_xslg | 0.407 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 46.3 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 9.8 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 40.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.148 | 0.000 | 0.000 | Hitting_2B | 0.146 | 0.000 | -0.146 | 0.000 |
| predicted_3B | 0.034 | 0.000 | 0.000 | Hitting_3B | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_AB | 2.614 | 3.000 | 4.000 | Hitting_AB | 2.584 | 1.000 | 0.416 | 2.000 |
| predicted_AVG | 0.259 | 0.667 | 0.250 | Hitting_AVG | 0.239 | 0.000 | 0.428 | 0.667 |
| predicted_BB | 0.307 | 1.000 | 0.000 | Hitting_BB | 0.315 | 0.000 | 0.685 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_H | 0.560 | 2.000 | 1.000 | Hitting_H | 0.618 | 0.000 | 1.382 | 2.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.090 | 0.000 | -0.090 | 0.000 |
| predicted_OBP | 0.313 | 0.750 | 0.250 | Hitting_OBP | 0.358 | 0.000 | 0.392 | 0.750 |
| predicted_R | 0.318 | 1.000 | 0.000 | Hitting_R | 0.315 | 0.000 | 0.685 | 1.000 |
| predicted_RBI | 0.390 | 1.000 | 1.000 | Hitting_RBI | 0.258 | 0.000 | 0.742 | 1.000 |
| predicted_SLG | 0.399 | 0.667 | 0.250 | Hitting_SLG | 0.426 | 0.000 | 0.241 | 0.667 |
| predicted_SO | 1.091 | 0.000 | 2.000 | Hitting_SO | 1.079 | 0.000 | -1.079 | 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.5600 -> 2.0000 (boost 1.4400, better) |
| Biggest Deboost | predicted_SO: 1.0910 -> 0.0000 (deboost -1.0910, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 8 | 1 | 7 | 2 | predicted_AB: 2.6140 -> 3.9597 (boost 1.3457, better) | predicted_AVG: 0.2590 -> 0.2430 (deboost -0.0160, 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.2430 -> 0.2089 (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 | 7 | 3 | 4 | 2 | 5 | predicted_RBI: 0.5053 -> 1.0000 (boost 0.4947, better) | predicted_BB: 0.4285 -> 0.0000 (deboost -0.4285, worse) | AB rounded to 4 (raw=3.96), rates preserved: AVG=0.209 HR/AB=0.041 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4232 -> 0.0000 (deboost -0.4232, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2089 -> 0.2500 (boost 0.0411, better) | predicted_SLG: 0.4020 -> 0.2500 (deboost -0.1520, 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_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4020 (boost 0.1520, better) | predicted_AVG: 0.2500 -> 0.2089 (deboost -0.0411, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669004",
"player_name": "MJ Melendez",
"position": "DH",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is 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.034,
"predicted_AB": 2.614,
"predicted_AVG": 0.259,
"predicted_BB": 0.307,
"predicted_H": 0.56,
"predicted_HR": 0.11,
"predicted_OBP": 0.313,
"predicted_R": 0.318,
"predicted_RBI": 0.39,
"predicted_SLG": 0.399,
"predicted_SO": 1.091
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1909,
"predicted_3B": 0.042,
"predicted_AB": 3.9597,
"predicted_AVG": 0.243,
"predicted_BB": 0.4346,
"predicted_H": 0.8653,
"predicted_HBP": 0.366,
"predicted_HR": 0.1706,
"predicted_OBP": 0.3175,
"predicted_R": 0.4574,
"predicted_RBI": 0.5462,
"predicted_SLG": 0.4051,
"predicted_SO": 1.5533
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.148,
"after": 0.1909,
"delta": 0.0429,
"percent_delta": 0.2899,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.034,
"after": 0.042,
"delta": 0.008,
"percent_delta": 0.2353,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.614,
"after": 3.9597,
"delta": 1.3457,
"percent_delta": 0.5148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.243,
"delta": -0.016,
"percent_delta": -0.0618,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.307,
"after": 0.4346,
"delta": 0.1276,
"percent_delta": 0.4156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.56,
"after": 0.8653,
"delta": 0.3053,
"percent_delta": 0.5452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1706,
"delta": 0.0606,
"percent_delta": 0.5509,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3175,
"delta": 0.0045,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.318,
"after": 0.4574,
"delta": 0.1394,
"percent_delta": 0.4384,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.5462,
"delta": 0.1562,
"percent_delta": 0.4005,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.399,
"after": 0.4051,
"delta": 0.0061,
"percent_delta": 0.0153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.091,
"after": 1.5533,
"delta": 0.4623,
"percent_delta": 0.4237,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 8,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.614,
"after": 3.9597,
"delta": 1.3457,
"percent_delta": 0.5148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.243,
"delta": -0.016,
"percent_delta": -0.0618,
"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": 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.1909,
"predicted_3B": 0.042,
"predicted_AB": 3.9597,
"predicted_AVG": 0.2089,
"predicted_BB": 0.4285,
"predicted_H": 0.8272,
"predicted_HBP": 0.366,
"predicted_HR": 0.1632,
"predicted_OBP": 0.2862,
"predicted_R": 0.4232,
"predicted_RBI": 0.5053,
"predicted_SLG": 0.402,
"predicted_SO": 1.5752
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1909,
"after": 0.1909,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.042,
"after": 0.042,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9597,
"after": 3.9597,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2089,
"delta": -0.0341,
"percent_delta": -0.1403,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4346,
"after": 0.4285,
"delta": -0.0061,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8653,
"after": 0.8272,
"delta": -0.0381,
"percent_delta": -0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.366,
"after": 0.366,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1706,
"after": 0.1632,
"delta": -0.0074,
"percent_delta": -0.0434,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3175,
"after": 0.2862,
"delta": -0.0313,
"percent_delta": -0.0986,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4574,
"after": 0.4232,
"delta": -0.0342,
"percent_delta": -0.0748,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5462,
"after": 0.5053,
"delta": -0.0409,
"percent_delta": -0.0749,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4051,
"after": 0.402,
"delta": -0.0031,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.5533,
"after": 1.5752,
"delta": 0.0219,
"percent_delta": 0.0141,
"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.243,
"after": 0.2089,
"delta": -0.0341,
"percent_delta": -0.1403,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.96), rates preserved: AVG=0.209 HR/AB=0.041",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1909,
"after": 0.0,
"delta": -0.1909,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.042,
"after": 0.0,
"delta": -0.042,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9597,
"after": 4.0,
"delta": 0.0403,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4285,
"after": 0.0,
"delta": -0.4285,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8272,
"after": 1.0,
"delta": 0.1728,
"percent_delta": 0.2089,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.366,
"after": 0.0,
"delta": -0.366,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1632,
"after": 0.0,
"delta": -0.1632,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5053,
"after": 1.0,
"delta": 0.4947,
"percent_delta": 0.979,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5752,
"after": 2.0,
"delta": 0.4248,
"percent_delta": 0.2697,
"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.5053,
"after": 1.0,
"delta": 0.4947,
"percent_delta": 0.979,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4285,
"after": 0.0,
"delta": -0.4285,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4232,
"after": 0.0,
"delta": -0.4232,
"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.4232,
"after": 0.0,
"delta": -0.4232,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 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": 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.2089,
"after": 0.25,
"delta": 0.0411,
"percent_delta": 0.1967,
"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.2862,
"after": 0.25,
"delta": -0.0362,
"percent_delta": -0.1265,
"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.402,
"after": 0.25,
"delta": -0.152,
"percent_delta": -0.3781,
"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.2089,
"after": 0.25,
"delta": 0.0411,
"percent_delta": 0.1967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.25,
"delta": -0.152,
"percent_delta": -0.3781,
"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": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 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": 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": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2089,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2862,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.402,
"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.2089,
"delta": -0.0411,
"percent_delta": -0.1644,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.2862,
"delta": 0.0362,
"percent_delta": 0.1446,
"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.402,
"delta": 0.152,
"percent_delta": 0.6081,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.402,
"delta": 0.152,
"percent_delta": 0.6081,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2089,
"delta": -0.0411,
"percent_delta": -0.1644,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.148,
"after": 0.0,
"delta": -0.148,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.034,
"after": 0.0,
"delta": -0.034,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.614,
"after": 3.0,
"delta": 0.386,
"percent_delta": 0.1477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2089,
"delta": -0.0501,
"percent_delta": -0.1934,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.307,
"after": 1.0,
"delta": 0.693,
"percent_delta": 2.2573,
"direction": "boost",
"projection_effect": "better",
"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.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.2862,
"delta": -0.0268,
"percent_delta": -0.0856,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.318,
"after": 1.0,
"delta": 0.682,
"percent_delta": 2.1447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 1.0,
"delta": 0.61,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.399,
"after": 0.402,
"delta": 0.003,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.091,
"after": 0.0,
"delta": -1.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"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": 1.091,
"after": 0.0,
"delta": -1.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}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.034 | - |
| predicted_AB | 2.614 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.307 | - |
| predicted_H | 0.560 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.318 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.399 | - |
| predicted_SO | 1.091 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.191 | 0.043 |
| predicted_3B | 0.042 | 0.008 |
| predicted_AB | 3.960 | 1.346 |
| predicted_AVG | 0.243 | -0.016 |
| predicted_BB | 0.435 | 0.128 |
| predicted_H | 0.865 | 0.305 |
| predicted_HBP | 0.366 | - |
| predicted_HR | 0.171 | 0.061 |
| predicted_OBP | 0.318 | 0.005 |
| predicted_R | 0.457 | 0.139 |
| predicted_RBI | 0.546 | 0.156 |
| predicted_SLG | 0.405 | 0.006 |
| predicted_SO | 1.553 | 0.462 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.191 | 0.000 |
| predicted_3B | 0.042 | 0.000 |
| predicted_AB | 3.960 | 0.000 |
| predicted_AVG | 0.209 | -0.034 |
| predicted_BB | 0.428 | -0.006 |
| predicted_H | 0.827 | -0.038 |
| predicted_HBP | 0.366 | 0.000 |
| predicted_HR | 0.163 | -0.007 |
| predicted_OBP | 0.286 | -0.031 |
| predicted_R | 0.423 | -0.034 |
| predicted_RBI | 0.505 | -0.041 |
| predicted_SLG | 0.402 | -0.003 |
| predicted_SO | 1.575 | 0.022 |
AB rounded to 4 (raw=3.96), rates preserved: AVG=0.209 HR/AB=0.041
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.191 |
| predicted_3B | 0.000 | -0.042 |
| predicted_AB | 4.000 | 0.040 |
| predicted_AVG | 0.250 | 0.041 |
| predicted_BB | 0.000 | -0.428 |
| predicted_H | 1.000 | 0.173 |
| predicted_HR | 0.000 | -0.163 |
| predicted_OBP | 0.250 | -0.036 |
| predicted_R | 0.000 | -0.423 |
| predicted_RBI | 1.000 | 0.495 |
| predicted_SLG | 0.250 | -0.152 |
| predicted_SO | 2.000 | 0.425 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 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 | 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 | 3 | - | 11.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 0.000 | 3.000 | 0.0909 | 0.0909 | 0.3636 | 0.0909 | 0.0909 | 0.2727 | 0.0000 | 0.2727 |
| last_10 | 0.20 | 5 | - | 20.000 | 5.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 4.000 | 8.000 | 0.2500 | 0.4483 | 0.4000 | 0.2500 | 0.0500 | 0.1500 | 0.2000 | 0.4000 |
| season | 0.60 | 34 | - | 230.000 | 55.000 | 13.000 | 3.000 | 8.000 | 23.000 | 28.000 | 27.000 | 96.000 | 0.2391 | 0.3553 | 0.4261 | 0.2391 | 0.0348 | 0.1000 | 0.1174 | 0.4174 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2500 |
| predicted_3B | 0.0530 |
| predicted_AB | 5.8100 |
| predicted_AVG | 0.2211 |
| predicted_BB | 0.6100 |
| predicted_H | 1.2850 |
| predicted_HBP | 0.3660 |
| predicted_HR | 0.2540 |
| predicted_OBP | 0.3238 |
| predicted_R | 0.6490 |
| predicted_RBI | 0.7610 |
| predicted_SLG | 0.4135 |
| predicted_SO | 2.1890 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1480 | 0.2500 | 0.1909 | model_form_blend |
| predicted_3B | 0.0340 | 0.0530 | 0.0420 | model_form_blend |
| predicted_AB | 2.6140 | 5.8100 | 3.9597 | model_form_blend |
| predicted_AVG | 0.2590 | 0.2211 | 0.2430 | model_form_blend |
| predicted_BB | 0.3070 | 0.6100 | 0.4346 | model_form_blend |
| predicted_H | 0.5600 | 1.2850 | 0.8653 | model_form_blend |
| predicted_HBP | - | 0.3660 | 0.3660 | form_only |
| predicted_HR | 0.1100 | 0.2540 | 0.1706 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3238 | 0.3175 | model_form_blend |
| predicted_R | 0.3180 | 0.6490 | 0.4574 | model_form_blend |
| predicted_RBI | 0.3900 | 0.7610 | 0.5462 | model_form_blend |
| predicted_SLG | 0.3990 | 0.4135 | 0.4051 | model_form_blend |
| predicted_SO | 1.0910 | 2.1890 | 1.5533 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 4 |
| AB | 3 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.239 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 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 | LF |
| gameID | 20260531_MIA@NYM |
| game_type | short |
| mlbID | 669004 |
| playerID | 669004 |
| playerName | MJ Melendez |
| pos | DH |
| started | False |
| startingPosition | LF |
| team | NYM |
| teamID | 18 |
| game_date | 2026-05-31 |
| sl_k_percent | 34.4 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.326 |
| sl_xwoba | 0.274 |
| sl_xba | 0.159 |
| sl_xslg | 0.317 |
| sl_sweet_spot_percent | 23.9 |
| sl_barrel_batted_rate | 13.0 |
| sl_hard_hit_percent | 56.5 |
| sl_exit_velocity_avg | 93.9 |
| sl_launch_angle_avg | 21.6 |
| sl_whiff_percent | 36.2 |
| sl_swing_percent | 47.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.143 | 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.682 | 3.000 | 7.000 | Hitting_AB | 3.682 | 2.000 | -0.682 | 1.000 |
| predicted_AVG | 0.241 | 0.000 | 0.286 | Hitting_AVG | 0.235 | 1.000 | -0.235 | -1.000 |
| predicted_BB | 0.260 | 1.000 | 1.000 | Hitting_BB | 0.260 | 2.000 | 0.740 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_H | 0.800 | 0.000 | 2.000 | Hitting_H | 0.865 | 2.000 | -0.865 | -2.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.090 | 1.000 | -0.090 | -1.000 |
| predicted_OBP | 0.312 | 0.250 | 0.375 | Hitting_OBP | 0.284 | 1.000 | -0.034 | -0.750 |
| predicted_R | 0.390 | 0.000 | 1.000 | Hitting_R | 0.390 | 2.000 | -0.390 | -2.000 |
| predicted_RBI | 0.410 | 0.000 | 1.000 | Hitting_RBI | 0.417 | 2.000 | -0.417 | -2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.090 | 0.000 | -0.090 | 0.000 |
| predicted_SLG | 0.398 | 0.000 | 0.286 | Hitting_SLG | 0.347 | 2.500 | -0.347 | -2.500 |
| predicted_SO | 0.789 | 0.000 | 2.000 | Hitting_SO | 0.789 | 0.000 | -0.789 | 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.2600 -> 1.0000 (boost 0.7400, better) |
| 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 | 8 | 8 | 0 | 7 | 1 | predicted_AB: 3.6820 -> 7.1137 (boost 3.4317, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 0 | 6 | 0 | 6 | - | predicted_H: 1.6956 -> 1.6210 (deboost -0.0746, 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_SO: 1.6016 -> 2.0000 (boost 0.3984, worse) | predicted_2B: 0.2998 -> 0.0000 (deboost -0.2998, worse) | AB rounded to 7 (raw=7.11), rates preserved: AVG=0.228 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.000) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7724 -> 1.0000 (boost 0.2276, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2969 -> 0.3750 (boost 0.0781, better) | predicted_SLG: 0.3633 -> 0.2860 (deboost -0.0773, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.3633 (boost 0.0773, better) | predicted_OBP: 0.3750 -> 0.2969 (deboost -0.0781, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "543760",
"player_name": "Marcus Semien",
"position": "2B",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.143,
"predicted_3B": 0.0,
"predicted_AB": 3.682,
"predicted_AVG": 0.241,
"predicted_BB": 0.26,
"predicted_H": 0.8,
"predicted_HR": 0.12,
"predicted_OBP": 0.312,
"predicted_R": 0.39,
"predicted_RBI": 0.41,
"predicted_SLG": 0.398,
"predicted_SO": 0.789
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2998,
"predicted_3B": 0.0004,
"predicted_AB": 7.1137,
"predicted_AVG": 0.2436,
"predicted_BB": 0.7089,
"predicted_H": 1.6956,
"predicted_HBP": 0.044,
"predicted_HR": 0.231,
"predicted_OBP": 0.3146,
"predicted_R": 0.8349,
"predicted_RBI": 0.8734,
"predicted_SLG": 0.3936,
"predicted_SO": 1.5793
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.2998,
"delta": 0.1568,
"percent_delta": 1.0965,
"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.682,
"after": 7.1137,
"delta": 3.4317,
"percent_delta": 0.932,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2436,
"delta": 0.0026,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.26,
"after": 0.7089,
"delta": 0.4489,
"percent_delta": 1.7265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 1.6956,
"delta": 0.8956,
"percent_delta": 1.1195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.231,
"delta": 0.111,
"percent_delta": 0.925,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3146,
"delta": 0.0026,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.39,
"after": 0.8349,
"delta": 0.4449,
"percent_delta": 1.1408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.8734,
"delta": 0.4634,
"percent_delta": 1.1302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.3936,
"delta": -0.0044,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.789,
"after": 1.5793,
"delta": 0.7903,
"percent_delta": 1.0016,
"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.682,
"after": 7.1137,
"delta": 3.4317,
"percent_delta": 0.932,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 58
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2998,
"predicted_3B": 0.0004,
"predicted_AB": 7.1137,
"predicted_AVG": 0.2279,
"predicted_BB": 0.6989,
"predicted_H": 1.621,
"predicted_HBP": 0.044,
"predicted_HR": 0.221,
"predicted_OBP": 0.2969,
"predicted_R": 0.7724,
"predicted_RBI": 0.8081,
"predicted_SLG": 0.3633,
"predicted_SO": 1.6016
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2998,
"after": 0.2998,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.1137,
"after": 7.1137,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2436,
"after": 0.2279,
"delta": -0.0157,
"percent_delta": -0.0644,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7089,
"after": 0.6989,
"delta": -0.01,
"percent_delta": -0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.6956,
"after": 1.621,
"delta": -0.0746,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.044,
"after": 0.044,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.231,
"after": 0.221,
"delta": -0.01,
"percent_delta": -0.0433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3146,
"after": 0.2969,
"delta": -0.0177,
"percent_delta": -0.0563,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8349,
"after": 0.7724,
"delta": -0.0625,
"percent_delta": -0.0749,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8734,
"after": 0.8081,
"delta": -0.0653,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3936,
"after": 0.3633,
"delta": -0.0303,
"percent_delta": -0.077,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5793,
"after": 1.6016,
"delta": 0.0223,
"percent_delta": 0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.6956,
"after": 1.621,
"delta": -0.0746,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.11), rates preserved: AVG=0.228 HR/AB=0.031",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2998,
"after": 0.0,
"delta": -0.2998,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.1137,
"after": 7.0,
"delta": -0.1137,
"percent_delta": -0.016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6989,
"after": 1.0,
"delta": 0.3011,
"percent_delta": 0.4308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.621,
"after": 2.0,
"delta": 0.379,
"percent_delta": 0.2338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.044,
"after": 0.0,
"delta": -0.044,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.221,
"after": 0.0,
"delta": -0.221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8081,
"after": 1.0,
"delta": 0.1919,
"percent_delta": 0.2375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6016,
"after": 2.0,
"delta": 0.3984,
"percent_delta": 0.2488,
"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_SO",
"before": 1.6016,
"after": 2.0,
"delta": 0.3984,
"percent_delta": 0.2488,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2998,
"after": 0.0,
"delta": -0.2998,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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": 0.7724,
"after": 1.0,
"delta": 0.2276,
"percent_delta": 0.2947,
"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.7724,
"after": 1.0,
"delta": 0.2276,
"percent_delta": 0.2947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.286,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2279,
"after": 0.286,
"delta": 0.0581,
"percent_delta": 0.2549,
"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.2969,
"after": 0.375,
"delta": 0.0781,
"percent_delta": 0.2631,
"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.3633,
"after": 0.286,
"delta": -0.0773,
"percent_delta": -0.2128,
"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.2969,
"after": 0.375,
"delta": 0.0781,
"percent_delta": 0.2631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3633,
"after": 0.286,
"delta": -0.0773,
"percent_delta": -0.2128,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2279,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2969,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3633,
"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.2279,
"delta": -0.0581,
"percent_delta": -0.2033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.2969,
"delta": -0.0781,
"percent_delta": -0.2082,
"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.3633,
"delta": 0.0773,
"percent_delta": 0.2704,
"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.3633,
"delta": 0.0773,
"percent_delta": 0.2704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.2969,
"delta": -0.0781,
"percent_delta": -0.2082,
"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.143,
"after": 0.0,
"delta": -0.143,
"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.682,
"after": 3.0,
"delta": -0.682,
"percent_delta": -0.1852,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2279,
"delta": -0.0131,
"percent_delta": -0.0544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.26,
"after": 1.0,
"delta": 0.74,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"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.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.2969,
"delta": -0.0151,
"percent_delta": -0.0484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"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.398,
"after": 0.3633,
"delta": -0.0347,
"percent_delta": -0.0872,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.789,
"after": 0.0,
"delta": -0.789,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.26,
"after": 1.0,
"delta": 0.74,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"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.143 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.682 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.260 | - |
| predicted_H | 0.800 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 0.390 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.398 | - |
| predicted_SO | 0.789 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.300 | 0.157 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.114 | 3.432 |
| predicted_AVG | 0.244 | 0.003 |
| predicted_BB | 0.709 | 0.449 |
| predicted_H | 1.696 | 0.896 |
| predicted_HBP | 0.044 | - |
| predicted_HR | 0.231 | 0.111 |
| predicted_OBP | 0.315 | 0.003 |
| predicted_R | 0.835 | 0.445 |
| predicted_RBI | 0.873 | 0.463 |
| predicted_SLG | 0.394 | -0.004 |
| predicted_SO | 1.579 | 0.790 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.300 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.114 | 0.000 |
| predicted_AVG | 0.228 | -0.016 |
| predicted_BB | 0.699 | -0.010 |
| predicted_H | 1.621 | -0.075 |
| predicted_HBP | 0.044 | 0.000 |
| predicted_HR | 0.221 | -0.010 |
| predicted_OBP | 0.297 | -0.018 |
| predicted_R | 0.772 | -0.062 |
| predicted_RBI | 0.808 | -0.065 |
| predicted_SLG | 0.363 | -0.030 |
| predicted_SO | 1.602 | 0.022 |
AB rounded to 7 (raw=7.11), rates preserved: AVG=0.228 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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.300 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 7.000 | -0.114 |
| predicted_AVG | 0.286 | 0.058 |
| predicted_BB | 1.000 | 0.301 |
| predicted_H | 2.000 | 0.379 |
| predicted_HR | 0.000 | -0.221 |
| predicted_OBP | 0.375 | 0.078 |
| predicted_R | 1.000 | 0.228 |
| predicted_RBI | 1.000 | 0.192 |
| predicted_SLG | 0.286 | -0.077 |
| predicted_SO | 2.000 | 0.398 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -4.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 16.000 | 5.000 | 1.000 | 0.000 | 1.000 | 3.000 | 3.000 | 4.000 | 4.000 | 0.3125 | 0.4500 | 0.5625 | 0.3125 | 0.0625 | 0.1875 | 0.2500 | 0.2500 |
| last_10 | 0.20 | 5 | - | 31.000 | 5.000 | 1.000 | 0.000 | 1.000 | 3.000 | 3.000 | 6.000 | 9.000 | 0.1613 | 0.2973 | 0.2903 | 0.1613 | 0.0323 | 0.0968 | 0.1935 | 0.2903 |
| season | 0.60 | 58 | - | 821.000 | 193.000 | 32.000 | 0.000 | 20.000 | 93.000 | 87.000 | 58.000 | 176.000 | 0.2351 | 0.2843 | 0.3471 | 0.2351 | 0.0244 | 0.1133 | 0.0707 | 0.2144 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4990 |
| predicted_3B | 0.0010 |
| predicted_AB | 11.4720 |
| predicted_AVG | 0.2470 |
| predicted_BB | 1.2790 |
| predicted_H | 2.8330 |
| predicted_HBP | 0.0440 |
| predicted_HR | 0.3720 |
| predicted_OBP | 0.3179 |
| predicted_R | 1.4000 |
| predicted_RBI | 1.4620 |
| predicted_SLG | 0.3880 |
| predicted_SO | 2.5830 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.4990 | 0.2998 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.6820 | 11.4720 | 7.1137 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2470 | 0.2436 | model_form_blend |
| predicted_BB | 0.2600 | 1.2790 | 0.7089 | model_form_blend |
| predicted_H | 0.8000 | 2.8330 | 1.6956 | model_form_blend |
| predicted_HBP | - | 0.0440 | 0.0440 | form_only |
| predicted_HR | 0.1200 | 0.3720 | 0.2310 | model_form_blend |
| predicted_OBP | 0.3120 | 0.3179 | 0.3146 | model_form_blend |
| predicted_R | 0.3900 | 1.4000 | 0.8349 | model_form_blend |
| predicted_RBI | 0.4100 | 1.4620 | 0.8734 | model_form_blend |
| predicted_SLG | 0.3980 | 0.3880 | 0.3936 | model_form_blend |
| predicted_SO | 0.7890 | 2.5830 | 1.5793 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 223 |
| Season rows before report date | 223 |
| Report year | 2026 |
| Profile rows used | 223 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| 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 | 2 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260531_MIA@NYM |
| game_type | full |
| mlbID | 543760 |
| playerID | 543760 |
| playerName | Marcus Semien |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | NYM |
| teamID | 18 |
| game_date | 2026-05-31 |
| sl_k_percent | 20.1 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.261 |
| sl_xwoba | 0.311 |
| sl_xba | 0.256 |
| sl_xslg | 0.412 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 7.8 |
| sl_hard_hit_percent | 33.9 |
| sl_exit_velocity_avg | 85.9 |
| sl_launch_angle_avg | 17.9 |
| sl_whiff_percent | 21.9 |
| sl_swing_percent | 51.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.216 | 0.000 | 0.000 | Hitting_2B | 0.214 | 0.000 | -0.214 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.000 | 3.000 | 5.000 | Hitting_AB | 2.969 | 3.000 | 0.031 | 0.000 |
| predicted_AVG | 0.248 | 0.333 | 0.200 | Hitting_AVG | 0.196 | 0.667 | 0.137 | -0.333 |
| predicted_BB | 0.165 | 0.000 | 0.000 | Hitting_BB | 0.163 | 0.000 | -0.163 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.230 | 1.000 | 1.000 | Hitting_H | 0.582 | 2.000 | 0.418 | -1.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.283 | 0.333 | 0.200 | Hitting_OBP | 0.257 | 0.750 | 0.076 | -0.417 |
| predicted_R | 0.289 | 0.000 | 0.000 | Hitting_R | 0.286 | 1.000 | -0.286 | -1.000 |
| predicted_RBI | 0.140 | 0.000 | 0.000 | Hitting_RBI | 0.337 | 2.000 | -0.337 | -2.000 |
| predicted_SLG | 0.334 | 0.333 | 0.200 | Hitting_SLG | 0.268 | 0.667 | 0.065 | -0.333 |
| predicted_SO | 0.701 | 0.000 | 1.000 | Hitting_SO | 0.694 | 0.000 | -0.694 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_H: 0.2300 -> 1.0000 (boost 0.7700, better) |
| Biggest Deboost | predicted_SO: 0.7010 -> 0.0000 (deboost -0.7010, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 7 | 2 | 6 | 3 | predicted_AB: 3.0000 -> 4.8961 (boost 1.8961, better) | predicted_SLG: 0.3340 -> 0.3215 (deboost -0.0125, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.2851 -> 0.2076 (deboost -0.0775, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_H: 0.8323 -> 1.0000 (boost 0.1677, better) | predicted_RBI: 0.4061 -> 0.0000 (deboost -0.4061, worse) | AB rounded to 5 (raw=4.90), rates preserved: AVG=0.170 HR/AB=0.004 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4147 -> 0.0000 (deboost -0.4147, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.1700 -> 0.2000 (boost 0.0300, better) | predicted_SLG: 0.2482 -> 0.2000 (deboost -0.0482, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 0 | 2 | 1 | 1 | - | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2000 -> 0.2482 (boost 0.0482, better) | predicted_AVG: 0.2000 -> 0.1700 (deboost -0.0300, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "620443",
"player_name": "Luis Torrens",
"position": "C",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.216,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.248,
"predicted_BB": 0.165,
"predicted_H": 0.23,
"predicted_HR": 0.02,
"predicted_OBP": 0.283,
"predicted_R": 0.289,
"predicted_RBI": 0.14,
"predicted_SLG": 0.334,
"predicted_SO": 0.701
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0008,
"predicted_AB": 4.8961,
"predicted_AVG": 0.2416,
"predicted_BB": 0.2355,
"predicted_H": 0.8706,
"predicted_HBP": 0.236,
"predicted_HR": 0.0208,
"predicted_OBP": 0.2851,
"predicted_R": 0.4482,
"predicted_RBI": 0.4389,
"predicted_SLG": 0.3215,
"predicted_SO": 1.0725
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.216,
"after": 0.3217,
"delta": 0.1057,
"percent_delta": 0.4894,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.8961,
"delta": 1.8961,
"percent_delta": 0.632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2416,
"delta": -0.0064,
"percent_delta": -0.0258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.165,
"after": 0.2355,
"delta": 0.0705,
"percent_delta": 0.4273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.23,
"after": 0.8706,
"delta": 0.6406,
"percent_delta": 2.7852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0208,
"delta": 0.0008,
"percent_delta": 0.04,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.2851,
"delta": 0.0021,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.289,
"after": 0.4482,
"delta": 0.1592,
"percent_delta": 0.5509,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 0.4389,
"delta": 0.2989,
"percent_delta": 2.135,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.3215,
"delta": -0.0125,
"percent_delta": -0.0374,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.701,
"after": 1.0725,
"delta": 0.3715,
"percent_delta": 0.53,
"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": 4.8961,
"delta": 1.8961,
"percent_delta": 0.632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.3215,
"delta": -0.0125,
"percent_delta": -0.0374,
"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": 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.3217,
"predicted_3B": 0.0008,
"predicted_AB": 4.8961,
"predicted_AVG": 0.17,
"predicted_BB": 0.2322,
"predicted_H": 0.8323,
"predicted_HBP": 0.236,
"predicted_HR": 0.0199,
"predicted_OBP": 0.2076,
"predicted_R": 0.4147,
"predicted_RBI": 0.4061,
"predicted_SLG": 0.2482,
"predicted_SO": 1.0876
},
"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.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.8961,
"after": 4.8961,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2416,
"after": 0.17,
"delta": -0.0716,
"percent_delta": -0.2964,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2355,
"after": 0.2322,
"delta": -0.0033,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8706,
"after": 0.8323,
"delta": -0.0383,
"percent_delta": -0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.236,
"after": 0.236,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0208,
"after": 0.0199,
"delta": -0.0009,
"percent_delta": -0.0433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2851,
"after": 0.2076,
"delta": -0.0775,
"percent_delta": -0.2718,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4482,
"after": 0.4147,
"delta": -0.0335,
"percent_delta": -0.0747,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4389,
"after": 0.4061,
"delta": -0.0328,
"percent_delta": -0.0747,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3215,
"after": 0.2482,
"delta": -0.0733,
"percent_delta": -0.228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0725,
"after": 1.0876,
"delta": 0.0151,
"percent_delta": 0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2851,
"after": 0.2076,
"delta": -0.0775,
"percent_delta": -0.2718,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.90), rates preserved: AVG=0.170 HR/AB=0.004",
"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.3217,
"after": 0.0,
"delta": -0.3217,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.8961,
"after": 5.0,
"delta": 0.1039,
"percent_delta": 0.0212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2322,
"after": 0.0,
"delta": -0.2322,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8323,
"after": 1.0,
"delta": 0.1677,
"percent_delta": 0.2015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.236,
"after": 0.0,
"delta": -0.236,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0199,
"after": 0.0,
"delta": -0.0199,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4061,
"after": 0.0,
"delta": -0.4061,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0876,
"after": 1.0,
"delta": -0.0876,
"percent_delta": -0.0805,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.8323,
"after": 1.0,
"delta": 0.1677,
"percent_delta": 0.2015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4061,
"after": 0.0,
"delta": -0.4061,
"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.4147,
"after": 0.0,
"delta": -0.4147,
"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.4147,
"after": 0.0,
"delta": -0.4147,
"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.17,
"after": 0.2,
"delta": 0.03,
"percent_delta": 0.1765,
"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.2076,
"after": 0.2,
"delta": -0.0076,
"percent_delta": -0.0366,
"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.2482,
"after": 0.2,
"delta": -0.0482,
"percent_delta": -0.1942,
"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.17,
"after": 0.2,
"delta": 0.03,
"percent_delta": 0.1765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2482,
"after": 0.2,
"delta": -0.0482,
"percent_delta": -0.1942,
"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": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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.17,
"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.2076,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2482,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.17,
"delta": -0.03,
"percent_delta": -0.15,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2,
"after": 0.2076,
"delta": 0.0076,
"percent_delta": 0.0378,
"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.2482,
"delta": 0.0482,
"percent_delta": 0.2411,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.2482,
"delta": 0.0482,
"percent_delta": 0.2411,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.17,
"delta": -0.03,
"percent_delta": -0.15,
"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.216,
"after": 0.0,
"delta": -0.216,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.17,
"delta": -0.078,
"percent_delta": -0.3145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.165,
"after": 0.0,
"delta": -0.165,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.23,
"after": 1.0,
"delta": 0.77,
"percent_delta": 3.3478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.2076,
"delta": -0.0754,
"percent_delta": -0.2664,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.289,
"after": 0.0,
"delta": -0.289,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.2482,
"delta": -0.0858,
"percent_delta": -0.2569,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.701,
"after": 0.0,
"delta": -0.701,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.23,
"after": 1.0,
"delta": 0.77,
"percent_delta": 3.3478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.701,
"after": 0.0,
"delta": -0.701,
"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.216 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.000 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.165 | - |
| predicted_H | 0.230 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.283 | - |
| predicted_R | 0.289 | - |
| predicted_RBI | 0.140 | - |
| predicted_SLG | 0.334 | - |
| predicted_SO | 0.701 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.106 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.896 | 1.896 |
| predicted_AVG | 0.242 | -0.006 |
| predicted_BB | 0.235 | 0.070 |
| predicted_H | 0.871 | 0.641 |
| predicted_HBP | 0.236 | - |
| predicted_HR | 0.021 | 0.001 |
| predicted_OBP | 0.285 | 0.002 |
| predicted_R | 0.448 | 0.159 |
| predicted_RBI | 0.439 | 0.299 |
| predicted_SLG | 0.322 | -0.013 |
| predicted_SO | 1.073 | 0.372 |
Step 3: 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.001 | 0.000 |
| predicted_AB | 4.896 | 0.000 |
| predicted_AVG | 0.170 | -0.072 |
| predicted_BB | 0.232 | -0.003 |
| predicted_H | 0.832 | -0.038 |
| predicted_HBP | 0.236 | 0.000 |
| predicted_HR | 0.020 | -0.001 |
| predicted_OBP | 0.208 | -0.078 |
| predicted_R | 0.415 | -0.033 |
| predicted_RBI | 0.406 | -0.033 |
| predicted_SLG | 0.248 | -0.073 |
| predicted_SO | 1.088 | 0.015 |
AB rounded to 5 (raw=4.90), rates preserved: AVG=0.170 HR/AB=0.004
| 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.322 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | 0.104 |
| predicted_AVG | 0.200 | 0.030 |
| predicted_BB | 0.000 | -0.232 |
| predicted_H | 1.000 | 0.168 |
| predicted_HR | 0.000 | -0.020 |
| predicted_OBP | 0.200 | -0.008 |
| predicted_R | 0.000 | -0.415 |
| predicted_RBI | 0.000 | -0.406 |
| predicted_SLG | 0.200 | -0.048 |
| predicted_SO | 1.000 | -0.088 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 3 | - | 15.000 | 5.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 0.000 | 1.000 | 0.3333 | 0.3750 | 0.3333 | 0.3333 | 0.0000 | 0.1333 | 0.0000 | 0.0667 |
| last_10 | 0.20 | 5 | - | 32.000 | 11.000 | 3.000 | 0.000 | 0.000 | 2.000 | 1.000 | 0.000 | 8.000 | 0.3438 | 0.3636 | 0.4375 | 0.3438 | 0.0000 | 0.0625 | 0.0000 | 0.2500 |
| season | 0.60 | 34 | - | 291.000 | 57.000 | 21.000 | 0.000 | 0.000 | 33.000 | 28.000 | 16.000 | 68.000 | 0.1959 | 0.2571 | 0.2680 | 0.1959 | 0.0000 | 0.1134 | 0.0550 | 0.2337 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4650 |
| predicted_3B | 0.0020 |
| predicted_AB | 7.4660 |
| predicted_AVG | 0.2329 |
| predicted_BB | 0.3310 |
| predicted_H | 1.7390 |
| predicted_HBP | 0.2360 |
| predicted_HR | 0.0220 |
| predicted_OBP | 0.2879 |
| predicted_R | 0.6640 |
| predicted_RBI | 0.8440 |
| predicted_SLG | 0.3046 |
| predicted_SO | 1.5760 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2160 | 0.4650 | 0.3217 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0000 | 7.4660 | 4.8961 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2329 | 0.2416 | model_form_blend |
| predicted_BB | 0.1650 | 0.3310 | 0.2355 | model_form_blend |
| predicted_H | 0.2300 | 1.7390 | 0.8706 | model_form_blend |
| predicted_HBP | - | 0.2360 | 0.2360 | form_only |
| predicted_HR | 0.0200 | 0.0220 | 0.0208 | model_form_blend |
| predicted_OBP | 0.2830 | 0.2879 | 0.2851 | model_form_blend |
| predicted_R | 0.2890 | 0.6640 | 0.4482 | model_form_blend |
| predicted_RBI | 0.1400 | 0.8440 | 0.4389 | model_form_blend |
| predicted_SLG | 0.3340 | 0.3046 | 0.3215 | model_form_blend |
| predicted_SO | 0.7010 | 1.5760 | 1.0725 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 98 |
| Season rows before report date | 98 |
| Report year | 2026 |
| Profile rows used | 97 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.196 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260531_MIA@NYM |
| game_type | full |
| mlbID | 620443 |
| playerID | 620443 |
| playerName | Luis Torrens |
| pos | C |
| started | True |
| startingPosition | C |
| team | NYM |
| teamID | 18 |
| game_date | 2026-05-31 |
| sl_k_percent | 21.2 |
| sl_bb_percent | 5.1 |
| sl_woba | 0.245 |
| sl_xwoba | 0.253 |
| sl_xba | 0.213 |
| sl_xslg | 0.29 |
| sl_sweet_spot_percent | 28.2 |
| sl_barrel_batted_rate | 1.4 |
| sl_hard_hit_percent | 40.8 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 5.7 |
| sl_whiff_percent | 24.7 |
| sl_swing_percent | 50.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 0.643 | 1.000 | 2.357 | 2.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 0.214 | 0.000 | 3.786 | 4.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 1.000 | 1.000 | 5.000 | 5.000 |
| predicted_IP | 4.000 | 4.000 | 4.000 | Pitching_InningsPitched | 1.214 | 1.000 | 2.786 | 3.000 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 1.571 | 2.000 | 4.429 | 4.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "681810",
"player_name": "Austin Warren",
"position": "Starter",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 4.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": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 4.0,
"predicted_R": 4.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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"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 | 4.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 4.000 | - |
| 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 | 6.200 | 2.000 | 6.000 | 3.000 | 7.000 | 0.000 | 2.7000 | 1.3500 | 0.3000 | 0.9000 | 0.4500 | 1.0500 | 0.0000 |
| last_10 | 0.35 | 10 | 15.000 | 2.000 | 10.000 | 8.000 | 17.000 | 0.000 | 1.2000 | 1.2000 | 0.1333 | 0.6667 | 0.5333 | 1.1333 | 0.0000 |
| season | 0.20 | 14 | 19.100 | 3.000 | 14.000 | 9.000 | 22.000 | 1.000 | 1.3966 | 1.1897 | 0.1552 | 0.7241 | 0.4655 | 1.1379 | 0.0517 |
| Metric | Value |
|---|---|
| predicted_BB | 1.1890 |
| predicted_ER | 1.0310 |
| predicted_ERA | 3.2605 |
| predicted_H | 2.4980 |
| predicted_HR | 0.2290 |
| predicted_IP | 3.0000 |
| predicted_SO | 2.8690 |
| predicted_WHIP | 1.2956 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.1890 | 2.2568 | model_form_blend |
| predicted_ER | 4.0000 | 1.0310 | 2.7816 | model_form_blend |
| predicted_ERA | - | 3.2605 | 3.2605 | form_only |
| predicted_H | 6.0000 | 2.4980 | 4.5629 | model_form_blend |
| predicted_HR | 1.0000 | 0.2290 | 0.6836 | model_form_blend |
| predicted_IP | 4.0000 | 3.0000 | 3.2000 | model_form_blend |
| predicted_SO | 6.0000 | 2.8690 | 4.7152 | model_form_blend |
| predicted_WHIP | - | 1.2956 | 1.2956 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 14 |
| Season rows before report date | 14 |
| Report year | 2026 |
| Profile rows used | 14 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.0 |
| H | 6 |
| R | 4 |
| ER | 4 |
| BB | 3 |
| SO | 6 |
| HR | 1 |
| BF | 21 |
| Pitches | 92 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.40 |
| 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 | 20 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260530_MIA@NYM |
| game_type | full |
| mlbID | 681810 |
| playerID | 681810 |
| playerName | Austin Warren |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-05-30 |
| sl_k_percent | 27.8 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.278 |
| sl_xwoba | 0.303 |
| sl_sweet_spot_percent | 50.0 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 39.6 |
| sl_whiff_percent | 26.9 |
| sl_swing_percent | 42.4 |
| sl_avg_best_speed | 81.990984167 |
| sl_avg_hyper_speed | 93.502523958 |
| 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.417 | 0.000 | -0.417 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.667 | 0.000 | 0.333 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.737 | 0.100 | 0.263 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.042 | 1.000 | -0.042 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "548384",
"player_name": "Brooks Raley",
"position": "Middle Reliever",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 1.000 | 4.000 | 4.000 | 4.000 | 0.000 | 2.2500 | 2.0000 | 0.2500 | 1.0000 | 1.0000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 1.000 | 9.000 | 6.000 | 9.000 | 0.000 | 1.0000 | 1.6667 | 0.1111 | 1.0000 | 0.6667 | 1.0000 | 0.0000 |
| season | 0.20 | 24 | 21.200 | 3.000 | 16.000 | 10.000 | 25.000 | 1.000 | 1.2462 | 1.2000 | 0.1385 | 0.7385 | 0.4615 | 1.1539 | 0.0461 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5180 |
| predicted_ER | 0.3160 |
| predicted_ERA | 3.0541 |
| predicted_H | 0.8830 |
| predicted_HR | 0.0710 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9140 |
| predicted_WHIP | 1.5052 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5180 | 0.2187 | model_form_blend |
| predicted_ER | 0.0000 | 0.3160 | 0.1334 | model_form_blend |
| predicted_ERA | - | 3.0541 | 3.0541 | form_only |
| predicted_H | 1.0000 | 0.8830 | 0.9506 | model_form_blend |
| predicted_HR | 0.0000 | 0.0710 | 0.0300 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9140 | 0.9637 | model_form_blend |
| predicted_WHIP | - | 1.5052 | 1.5052 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 24 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 1 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.25 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 5 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 3 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260529_MIA@NYM |
| game_type | full |
| mlbID | 548384 |
| playerID | 548384 |
| playerName | Brooks Raley |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-05-29 |
| sl_k_percent | 27.2 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.272 |
| sl_xwoba | 0.3 |
| sl_sweet_spot_percent | 40.0 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 30.9 |
| sl_whiff_percent | 25.8 |
| sl_swing_percent | 44.0 |
| sl_avg_best_speed | 76.068323077 |
| sl_avg_hyper_speed | 93.219340769 |
| 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.591 | 0.000 | -0.591 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.545 | 0.000 | -0.545 | 0.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.818 | 0.000 | 1.182 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.800 | 1.000 | 0.200 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.318 | 1.000 | -0.318 | 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": "642207",
"player_name": "Devin Williams",
"position": "Middle Reliever",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 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.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": 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 | 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.100 | 4.000 | 3.000 | 6.000 | 6.000 | 1.000 | 8.3077 | 2.0769 | 0.9231 | 0.6923 | 1.3846 | 1.3846 | 0.2308 |
| last_10 | 0.35 | 10 | 9.000 | 4.000 | 3.000 | 7.000 | 12.000 | 1.000 | 4.0000 | 1.1111 | 0.4444 | 0.3333 | 0.7778 | 1.3333 | 0.1111 |
| season | 0.20 | 21 | 19.000 | 10.000 | 17.000 | 10.000 | 29.000 | 2.000 | 4.7368 | 1.4211 | 0.5263 | 0.8947 | 0.5263 | 1.5263 | 0.1053 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6390 |
| predicted_ER | 0.5620 |
| predicted_ERA | 5.0584 |
| predicted_H | 0.8030 |
| predicted_HR | 0.1470 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1350 |
| predicted_WHIP | 1.4425 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.6390 | 0.2611 | model_form_blend |
| predicted_ER | 0.0000 | 0.5620 | 0.2296 | model_form_blend |
| predicted_ERA | - | 5.0584 | 5.0584 | form_only |
| predicted_H | 2.0000 | 0.8030 | 1.5109 | model_form_blend |
| predicted_HR | 0.0000 | 0.1470 | 0.0601 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1350 | 1.0552 | model_form_blend |
| predicted_WHIP | - | 1.4425 | 1.4425 | 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 | 22 |
| Season rows before report date | 22 |
| 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 | 2 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 5.68 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 8 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260530_MIA@NYM |
| game_type | full |
| mlbID | 642207 |
| playerID | 642207 |
| playerName | Devin Williams |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-05-30 |
| sl_k_percent | 33.7 |
| sl_bb_percent | 15.1 |
| sl_woba | 0.347 |
| sl_xwoba | 0.287 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 9.1 |
| sl_hard_hit_percent | 29.5 |
| sl_whiff_percent | 40.0 |
| sl_swing_percent | 49.7 |
| sl_avg_best_speed | 79.938096667 |
| sl_avg_hyper_speed | 93.416464286 |
| 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.480 | 0.000 | -0.480 | 0.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.640 | 0.000 | -0.640 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.964 | 1.000 | 0.036 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.960 | 3.000 | 0.040 | -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": "623211",
"player_name": "Huascar Brazobán",
"position": "Middle Reliever",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 1.000 | 3.000 | 2.000 | 5.000 | 0.000 | 1.9286 | 1.0714 | 0.2143 | 0.6429 | 0.4286 | 1.0714 | 0.0000 |
| last_10 | 0.35 | 10 | 12.100 | 4.000 | 5.000 | 9.000 | 11.000 | 0.000 | 2.9189 | 1.1351 | 0.3243 | 0.4054 | 0.7297 | 0.8919 | 0.0000 |
| season | 0.20 | 25 | 29.000 | 6.000 | 16.000 | 12.000 | 24.000 | 1.000 | 1.8621 | 0.9655 | 0.2069 | 0.5517 | 0.4138 | 0.8276 | 0.0345 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4840 |
| predicted_ER | 0.3780 |
| predicted_ERA | 3.2065 |
| predicted_H | 0.7780 |
| predicted_HR | 0.0700 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0100 |
| predicted_WHIP | 1.1873 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4840 | 0.2192 | model_form_blend |
| predicted_ER | 0.0000 | 0.3780 | 0.1712 | model_form_blend |
| predicted_ERA | - | 3.2065 | 3.2065 | form_only |
| predicted_H | 0.0000 | 0.7780 | 0.3524 | model_form_blend |
| predicted_HR | 0.0000 | 0.0700 | 0.0317 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0100 | 1.0045 | model_form_blend |
| predicted_WHIP | - | 1.1873 | 1.1873 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 25 |
| Season rows before report date | 25 |
| Report year | 2026 |
| Profile rows used | 25 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.86 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 16 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260530_MIA@NYM |
| game_type | full |
| mlbID | 623211 |
| playerID | 623211 |
| playerName | Huascar Brazobán |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-05-30 |
| sl_k_percent | 20.9 |
| sl_bb_percent | 10.4 |
| sl_woba | 0.232 |
| sl_xwoba | 0.244 |
| sl_sweet_spot_percent | 20.5 |
| sl_barrel_batted_rate | 1.3 |
| sl_hard_hit_percent | 21.8 |
| sl_whiff_percent | 26.9 |
| sl_swing_percent | 50.0 |
| sl_avg_best_speed | 70.362061053 |
| sl_avg_hyper_speed | 91.769000395 |
| 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.348 | 0.000 | 0.652 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.348 | 0.000 | -0.348 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.826 | 2.000 | -0.826 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.991 | 1.000 | 0.009 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.043 | 0.000 | -0.043 | 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": "596133",
"player_name": "Luke Weaver",
"position": "Middle Reliever",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 0.000 | 4.000 | 1.000 | 5.000 | 0.000 | 0.0000 | 0.9375 | 0.0000 | 0.7500 | 0.1875 | 0.9375 | 0.0000 |
| last_10 | 0.35 | 10 | 11.200 | 0.000 | 9.000 | 4.000 | 14.000 | 0.000 | 0.0000 | 1.1143 | 0.0000 | 0.7714 | 0.3429 | 1.2000 | 0.0000 |
| season | 0.20 | 23 | 24.200 | 8.000 | 19.000 | 8.000 | 24.000 | 2.000 | 2.9189 | 1.0946 | 0.3243 | 0.7703 | 0.3243 | 0.9730 | 0.0811 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3380 |
| predicted_ER | 0.2890 |
| predicted_ERA | 2.4605 |
| predicted_H | 0.9060 |
| predicted_HR | 0.0800 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0450 |
| predicted_WHIP | 1.1766 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3380 | 0.7114 | model_form_blend |
| predicted_ER | 0.0000 | 0.2890 | 0.1260 | model_form_blend |
| predicted_ERA | - | 2.4605 | 2.4605 | form_only |
| predicted_H | 0.0000 | 0.9060 | 0.3949 | model_form_blend |
| predicted_HR | 0.0000 | 0.0800 | 0.0349 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0450 | 1.0196 | model_form_blend |
| predicted_WHIP | - | 1.1766 | 1.1766 | 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 | 1 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.92 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260529_MIA@NYM |
| game_type | full |
| mlbID | 596133 |
| playerID | 596133 |
| playerName | Luke Weaver |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-05-29 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.269 |
| sl_xwoba | 0.283 |
| sl_sweet_spot_percent | 26.5 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 29.4 |
| sl_whiff_percent | 25.1 |
| sl_swing_percent | 50.4 |
| sl_avg_best_speed | 77.825613636 |
| sl_avg_hyper_speed | 92.795402121 |
| Field | Value |
|---|---|
| Pitcher | Emerson Hancock |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0969 |
| ESPN Rank | 39 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0118 |
| Avg Velo | 89.4847 |
| Avg Spin | 2379.0927 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 6 |
| Season ERA | 2.7835 |
| Season WHIP | 1.0052 |
| Role Avg IP | 5.8790 |
| Recent Avg IP | 6 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 66,
"wins": 35,
"losses": 31,
"win_pct": 0.5303,
"runs_scored": 296.0,
"runs_allowed": 259.0,
"run_differential": 37.0,
"run_differential_per_game": 0.5606,
"avg_runs_scored": 4.4848,
"avg_runs_allowed": 3.9242,
"offense_index": 1.0103,
"defense_index": 1.1312,
"current_streak": "W6",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.0,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.2002
},
"opponent": {
"team": "NYM",
"games": 66,
"wins": 27,
"losses": 39,
"win_pct": 0.4091,
"runs_scored": 257.0,
"runs_allowed": 272.0,
"run_differential": -15.0,
"run_differential_per_game": -0.2273,
"avg_runs_scored": 3.8939,
"avg_runs_allowed": 4.1212,
"offense_index": 0.8772,
"defense_index": 1.0771,
"current_streak": "W4",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 3.6,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.1054
},
"edges": {
"quality_edge": 0.3056,
"offense_edge": 0.0103,
"opponent_offense_edge": -0.1228,
"defense_strength": 0.1312,
"opponent_defense_weakness": -0.0771,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0211,
"run_prevention": 0.952,
"strikeout": 1.019
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676106",
"profile": {
"available": true,
"pitcher_id": "676106",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 205.0,
"k_percent": 25.1,
"bb_percent": 6.0,
"woba": 0.281,
"xwoba": 0.319,
"sweet_spot_percent": 31.8,
"barrel_batted_rate": 9.5,
"hard_hit_percent": 42.9,
"avg_best_speed": 78.6203,
"avg_hyper_speed": 94.7691,
"whiff_percent": 23.8,
"swing_percent": 52.6
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.1201,
"command_and_miss": 0.2257,
"regression_edge": -1.0857,
"xwoba_edge": -0.2,
"barrel_edge": -0.5111,
"hard_hit_edge": -0.6143,
"whiff_edge": -0.2857,
"bb_edge": 0.825,
"pitch_design_score": -0.0118
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676106",
"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": 89.48465440929276,
"release_spin_rate": 2379.0926715043242,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 89.48465440929276,
"release_spin_rate": 2379.0926715043242,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.4847,
"release_spin_rate": 2379.0927,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.0969,
"sample_weight": 0.82,
"run_prevention_factor": 1.0082,
"strikeout_factor": 1.0023,
"walk_factor": 0.9459,
"homer_factor": 1.0586,
"woba_minus_xwoba": -0.038,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "676106",
"espn_id": 4297897,
"player_name": "Emerson Hancock",
"team": "SEA",
"role": "pitcher",
"espn_rank": 39,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 39,
"gp_value": 11.0,
"gp_rank": 291,
"gs_value": 11.0,
"gs_rank": 48,
"qs_value": 7.0,
"qs_rank": 12,
"era_value": 2.7835,
"era_rank": 13.0,
"w_value": 4.0,
"w_rank": 43,
"l_value": 2.0,
"l_rank": 140,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 64.2,
"ip_rank": 40,
"h_value": 50.0,
"h_rank": 84,
"er_value": 20.0,
"er_rank": 114,
"hr_value": 8.0,
"hr_rank": 48,
"bb_value": 15.0,
"bb_rank": 143,
"k_value": 63.0,
"k_rank": 40,
"k_per_9_value": 8.768042,
"k_per_9_rank": 27,
"whip_value": 1.0051,
"whip_rank": 11.0,
"war_value": 1.5,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0067,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 1.0067,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9556,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0481,
"adjusted": 0
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0019,
"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": 58.2,
"ER": 20,
"H": 50,
"BB": 14,
"SO": 54,
"HR": 8,
"ERA": 3.0681818181818183,
"WHIP": 1.090909090909091,
"K9": 8.28409090909091,
"HR9": 1.2272727272727273,
"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-26T00:00:00"
}{
"available": true,
"pitcher_id": "676106",
"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": 89.48465440929276,
"release_spin_rate": 2379.0926715043242,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 89.48465440929276,
"release_spin_rate": 2379.0926715043242,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.4847,
"release_spin_rate": 2379.0927,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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": "676106",
"report_date": "20260601_N",
"season_year": 2026,
"rows_used": 11,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 30.0,
"ER": 9.0,
"R": 9.0,
"H": 22.0,
"BB": 9.0,
"SO": 31.0,
"HR": 1.0,
"BF": 119.0,
"Pitches": 461.0
},
"per_game": {
"IP": 6.0,
"ER": 1.8,
"R": 1.8,
"H": 4.4,
"BB": 1.8,
"SO": 6.2,
"HR": 0.2,
"BF": 23.8,
"Pitches": 92.2
},
"rates": {
"ERA": 2.7,
"WHIP": 1.0333,
"ER_per_IP": 0.3,
"H_per_IP": 0.73333,
"BB_per_IP": 0.3,
"SO_per_IP": 1.03333,
"HR_per_IP": 0.03333
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 58.2,
"ER": 20.0,
"R": 20.0,
"H": 50.0,
"BB": 14.0,
"SO": 54.0,
"HR": 8.0,
"BF": 232.0,
"Pitches": 908.0
},
"per_game": {
"IP": 6.0,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 1.4,
"SO": 5.4,
"HR": 0.8,
"BF": 23.2,
"Pitches": 90.8
},
"rates": {
"ERA": 3.0682,
"WHIP": 1.0909,
"ER_per_IP": 0.34091,
"H_per_IP": 0.85227,
"BB_per_IP": 0.23864,
"SO_per_IP": 0.92045,
"HR_per_IP": 0.13636
}
},
"season": {
"games": 11,
"totals": {
"IP": 64.2,
"ER": 20.0,
"R": 20.0,
"H": 50.0,
"BB": 15.0,
"SO": 63.0,
"HR": 8.0,
"BF": 251.0,
"Pitches": 1005.0
},
"per_game": {
"IP": 6.0,
"ER": 1.8182,
"R": 1.8182,
"H": 4.5455,
"BB": 1.3636,
"SO": 5.7273,
"HR": 0.7273,
"BF": 22.8182,
"Pitches": 91.3636
},
"rates": {
"ERA": 2.7835,
"WHIP": 1.0052,
"ER_per_IP": 0.30928,
"H_per_IP": 0.7732,
"BB_per_IP": 0.23196,
"SO_per_IP": 0.97423,
"HR_per_IP": 0.12371
}
}
},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 2.197,
"predicted_H": 5.011,
"predicted_BB": 1.784,
"predicted_SO": 5.814,
"predicted_HR": 0.612,
"predicted_ERA": 3.2962,
"predicted_WHIP": 1.1325
}
}{
"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.197,
"final": 1.138,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 5.011,
"final": 3.5596,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.784,
"final": 0.9241,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 5.814,
"final": 5.4216,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.612,
"final": 0.317,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2962,
"final": 3.2962,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1325,
"final": 1.1325,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Matt Brash |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0296 |
| ESPN Rank | 122 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0318 |
| Avg Velo | 90.2635 |
| Avg Spin | 2538.9190 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 2 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 2 |
| Pre SO | 1 |
| Season ERA | 0.6429 |
| Season WHIP | 0.8571 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 66,
"wins": 35,
"losses": 31,
"win_pct": 0.5303,
"runs_scored": 296.0,
"runs_allowed": 259.0,
"run_differential": 37.0,
"run_differential_per_game": 0.5606,
"avg_runs_scored": 4.4848,
"avg_runs_allowed": 3.9242,
"offense_index": 1.0103,
"defense_index": 1.1312,
"current_streak": "W6",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.0,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.2002
},
"opponent": {
"team": "NYM",
"games": 66,
"wins": 27,
"losses": 39,
"win_pct": 0.4091,
"runs_scored": 257.0,
"runs_allowed": 272.0,
"run_differential": -15.0,
"run_differential_per_game": -0.2273,
"avg_runs_scored": 3.8939,
"avg_runs_allowed": 4.1212,
"offense_index": 0.8772,
"defense_index": 1.0771,
"current_streak": "W4",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 3.6,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.1054
},
"edges": {
"quality_edge": 0.3056,
"offense_edge": 0.0103,
"opponent_offense_edge": -0.1228,
"defense_strength": 0.1312,
"opponent_defense_weakness": -0.0771,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0211,
"run_prevention": 0.952,
"strikeout": 1.019
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "666374",
"profile": {
"available": true,
"pitcher_id": "666374",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 41.0,
"k_percent": 22.6,
"bb_percent": 7.5,
"woba": 0.211,
"xwoba": 0.31,
"sweet_spot_percent": 44.4,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 41.7,
"avg_best_speed": 80.6677,
"avg_hyper_speed": 94.8223,
"whiff_percent": 33.3,
"swing_percent": 41.9
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.2543,
"command_and_miss": 0.465,
"regression_edge": -2.0,
"xwoba_edge": 0.0571,
"barrel_edge": 0.3556,
"hard_hit_edge": -0.4429,
"whiff_edge": 1.0714,
"bb_edge": 0.45,
"pitch_design_score": 0.0318
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "666374",
"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": 90.26350434532787,
"release_spin_rate": 2538.918993033111,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 90.26350434532787,
"release_spin_rate": 2538.918993033111,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2635,
"release_spin_rate": 2538.919,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0318,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2273,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0296,
"sample_weight": 0.45,
"run_prevention_factor": 0.9975,
"strikeout_factor": 1.0193,
"walk_factor": 0.9838,
"homer_factor": 0.9944,
"woba_minus_xwoba": -0.099,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "666374",
"espn_id": 4894467,
"player_name": "Matt Brash",
"team": "SEA",
"role": "pitcher",
"espn_rank": 122,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 122,
"gp_value": 17.0,
"gp_rank": 168,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 0.6428,
"era_rank": null,
"w_value": 3.0,
"w_rank": 74,
"l_value": 0.0,
"l_rank": 390,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 5.0,
"hld_rank": 72,
"ip_value": 14.0,
"ip_rank": 406,
"h_value": 8.0,
"h_rank": 467,
"er_value": 1.0,
"er_rank": 578,
"hr_value": 0.0,
"hr_rank": 529,
"bb_value": 4.0,
"bb_rank": 456,
"k_value": 12.0,
"k_rank": 398,
"k_per_9_value": 7.7142854,
"k_per_9_rank": 26,
"whip_value": 0.8571,
"whip_rank": null,
"war_value": 0.7,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9989,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9989,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9927,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9975,
"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": 8.0,
"ER": 1,
"H": 5,
"BB": 3,
"SO": 8,
"HR": 0,
"ERA": 1.1250000000000002,
"WHIP": 1.0000000000000002,
"K9": 9.000000000000002,
"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-29T00:00:00"
}{
"available": true,
"pitcher_id": "666374",
"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": 90.26350434532787,
"release_spin_rate": 2538.918993033111,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 90.26350434532787,
"release_spin_rate": 2538.918993033111,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2635,
"release_spin_rate": 2538.919,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0318,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2273,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.763,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3559,
"prior_weight": 0.6441
},
"role": "pitcher",
"player_id": "666374",
"report_date": "20260601_N",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 2.0,
"SO": 7.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 93.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.4,
"SO": 1.4,
"HR": 0.0,
"BF": 4.2,
"Pitches": 18.6
},
"rates": {
"ERA": 1.9286,
"WHIP": 1.5,
"ER_per_IP": 0.21429,
"H_per_IP": 1.07143,
"BB_per_IP": 0.42857,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 3.0,
"SO": 8.0,
"HR": 0.0,
"BF": 33.0,
"Pitches": 141.0
},
"per_game": {
"IP": 0.2,
"ER": 0.1,
"R": 0.1,
"H": 0.5,
"BB": 0.3,
"SO": 0.8,
"HR": 0.0,
"BF": 3.3,
"Pitches": 14.1
},
"rates": {
"ERA": 1.08,
"WHIP": 0.96,
"ER_per_IP": 0.12,
"H_per_IP": 0.6,
"BB_per_IP": 0.36,
"SO_per_IP": 0.96,
"HR_per_IP": 0.0
}
},
"season": {
"games": 16,
"totals": {
"IP": 14.0,
"ER": 1.0,
"R": 2.0,
"H": 8.0,
"BB": 4.0,
"SO": 12.0,
"HR": 0.0,
"BF": 53.0,
"Pitches": 213.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0625,
"R": 0.125,
"H": 0.5,
"BB": 0.25,
"SO": 0.75,
"HR": 0.0,
"BF": 3.3125,
"Pitches": 13.3125
},
"rates": {
"ERA": 0.6429,
"WHIP": 0.8571,
"ER_per_IP": 0.07143,
"H_per_IP": 0.57143,
"BB_per_IP": 0.28571,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.346,
"predicted_H": 0.862,
"predicted_BB": 0.356,
"predicted_SO": 0.984,
"predicted_HR": 0.083,
"predicted_ERA": 3.2509,
"predicted_WHIP": 1.2702
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6221,
"form_weight": 0.3779,
"form_reliability": 0.3559,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.763,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3559,
"prior_weight": 0.6441
},
"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.1307,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.862,
"final": 0.9479,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.356,
"final": 1.3788,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.984,
"final": 1.6161,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.083,
"final": 0.0314,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2509,
"final": 3.2509,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2702,
"final": 1.2702,
"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é A. Ferrer |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4076 |
| ESPN Rank | 99 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2133 |
| Avg Velo | 93.5037 |
| Avg Spin | 2208.0150 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 2 |
| Pre H | 3 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 1.7532 |
| Season WHIP | 1.2078 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 66,
"wins": 35,
"losses": 31,
"win_pct": 0.5303,
"runs_scored": 296.0,
"runs_allowed": 259.0,
"run_differential": 37.0,
"run_differential_per_game": 0.5606,
"avg_runs_scored": 4.4848,
"avg_runs_allowed": 3.9242,
"offense_index": 1.0103,
"defense_index": 1.1312,
"current_streak": "W6",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.0,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.2002
},
"opponent": {
"team": "NYM",
"games": 66,
"wins": 27,
"losses": 39,
"win_pct": 0.4091,
"runs_scored": 257.0,
"runs_allowed": 272.0,
"run_differential": -15.0,
"run_differential_per_game": -0.2273,
"avg_runs_scored": 3.8939,
"avg_runs_allowed": 4.1212,
"offense_index": 0.8772,
"defense_index": 1.0771,
"current_streak": "W4",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 3.6,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.1054
},
"edges": {
"quality_edge": 0.3056,
"offense_edge": 0.0103,
"opponent_offense_edge": -0.1228,
"defense_strength": 0.1312,
"opponent_defense_weakness": -0.0771,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0211,
"run_prevention": 0.952,
"strikeout": 1.019
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "678606",
"profile": {
"available": true,
"pitcher_id": "678606",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 102.0,
"k_percent": 19.8,
"bb_percent": 2.7,
"woba": 0.303,
"xwoba": 0.241,
"sweet_spot_percent": 28.9,
"barrel_batted_rate": 2.4,
"hard_hit_percent": 33.7,
"avg_best_speed": 73.1858,
"avg_hyper_speed": 92.6409,
"whiff_percent": 22.9,
"swing_percent": 54.8
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.2684,
"command_and_miss": 0.005,
"regression_edge": 1.7714,
"xwoba_edge": 2.0286,
"barrel_edge": 1.0667,
"hard_hit_edge": 0.7,
"whiff_edge": -0.4143,
"bb_edge": 1.65,
"pitch_design_score": 0.2133
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "678606",
"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": 93.50369036224606,
"release_spin_rate": 2208.0150065722005,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 93.50369036224606,
"release_spin_rate": 2208.0150065722005,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5037,
"release_spin_rate": 2208.015,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2133,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.5234,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.4076,
"sample_weight": 0.45,
"run_prevention_factor": 0.9654,
"strikeout_factor": 0.9853,
"walk_factor": 0.9406,
"homer_factor": 0.9216,
"woba_minus_xwoba": 0.062,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "678606",
"espn_id": 5119607,
"player_name": "Jose Ferrer",
"team": "SEA",
"role": "pitcher",
"espn_rank": 99,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 99,
"gp_value": 28.0,
"gp_rank": 7,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 1.7532,
"era_rank": null,
"w_value": 0.0,
"w_rank": 368,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 3.0,
"sv_rank": 37,
"hld_value": 7.0,
"hld_rank": 33,
"ip_value": 25.2,
"ip_rank": 224,
"h_value": 29.0,
"h_rank": 160,
"er_value": 5.0,
"er_rank": 432,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 3.0,
"bb_rank": 495,
"k_value": 22.0,
"k_rank": 269,
"k_per_9_value": 7.7142854,
"k_per_9_rank": 32,
"whip_value": 1.2467,
"whip_rank": null,
"war_value": 0.78,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9844,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9844,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9733,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9647,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9934,
"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": 6,
"BB": 0,
"SO": 9,
"HR": 1,
"ERA": 1.0384615384615385,
"WHIP": 0.6923076923076924,
"K9": 9.346153846153847,
"HR9": 1.0384615384615385,
"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-29T00:00:00"
}{
"available": true,
"pitcher_id": "678606",
"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": 93.50369036224606,
"release_spin_rate": 2208.0150065722005,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 93.50369036224606,
"release_spin_rate": 2208.0150065722005,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5037,
"release_spin_rate": 2208.015,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2133,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.5234,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.065,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5032,
"prior_weight": 0.4968
},
"role": "pitcher",
"player_id": "678606",
"report_date": "20260601_N",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.1,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 0.0,
"SO": 4.0,
"HR": 1.0,
"BF": 13.0,
"Pitches": 53.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.0,
"SO": 0.8,
"HR": 0.2,
"BF": 2.6,
"Pitches": 10.6
},
"rates": {
"ERA": 2.7,
"WHIP": 0.9,
"ER_per_IP": 0.3,
"H_per_IP": 0.9,
"BB_per_IP": 0.0,
"SO_per_IP": 1.2,
"HR_per_IP": 0.3
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 0.0,
"SO": 9.0,
"HR": 1.0,
"BF": 33.0,
"Pitches": 129.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.6,
"BB": 0.0,
"SO": 0.9,
"HR": 0.1,
"BF": 3.3,
"Pitches": 12.9
},
"rates": {
"ERA": 1.0385,
"WHIP": 0.6923,
"ER_per_IP": 0.11538,
"H_per_IP": 0.69231,
"BB_per_IP": 0.0,
"SO_per_IP": 1.03846,
"HR_per_IP": 0.11538
}
},
"season": {
"games": 27,
"totals": {
"IP": 25.2,
"ER": 5.0,
"R": 6.0,
"H": 28.0,
"BB": 3.0,
"SO": 22.0,
"HR": 1.0,
"BF": 110.0,
"Pitches": 393.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1852,
"R": 0.2222,
"H": 1.037,
"BB": 0.1111,
"SO": 0.8148,
"HR": 0.037,
"BF": 4.0741,
"Pitches": 14.5556
},
"rates": {
"ERA": 1.7532,
"WHIP": 1.2078,
"ER_per_IP": 0.19481,
"H_per_IP": 1.09091,
"BB_per_IP": 0.11688,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.03896
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.261,
"predicted_H": 0.689,
"predicted_BB": 0.148,
"predicted_SO": 0.765,
"predicted_HR": 0.12,
"predicted_ERA": 3.1008,
"predicted_WHIP": 1.1024
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5599,
"form_weight": 0.4401,
"form_reliability": 0.5032,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.065,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5032,
"prior_weight": 0.4968
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.261,
"final": 1.2347,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 0.689,
"final": 1.9829,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.148,
"final": 0.0651,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.765,
"final": 0.8966,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.12,
"final": 0.0528,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.1008,
"final": 3.1008,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1024,
"final": 1.1024,
"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.285 | 1.000 | 1.000 | Hitting_2B | 0.285 | 0.000 | 0.715 | 1.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_AB | 3.940 | 4.000 | 8.000 | Hitting_AB | 3.702 | 5.000 | 0.298 | -1.000 |
| predicted_AVG | 0.242 | 0.500 | 0.250 | Hitting_AVG | 0.306 | 0.200 | 0.194 | 0.300 |
| predicted_BB | 0.409 | 0.000 | 1.000 | Hitting_BB | 0.409 | 0.000 | -0.409 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_H | 0.950 | 2.000 | 2.000 | Hitting_H | 1.132 | 1.000 | 0.868 | 1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.099 | 0.000 | -0.099 | 0.000 |
| predicted_OBP | 0.320 | 0.500 | 0.333 | Hitting_OBP | 0.390 | 0.200 | 0.110 | 0.300 |
| predicted_R | 0.686 | 1.000 | 1.000 | Hitting_R | 0.686 | 1.000 | 0.314 | 0.000 |
| predicted_RBI | 0.450 | 2.000 | 1.000 | Hitting_RBI | 0.455 | 0.000 | 1.545 | 2.000 |
| predicted_SLG | 0.402 | 0.750 | 0.375 | Hitting_SLG | 0.474 | 0.200 | 0.276 | 0.550 |
| predicted_SO | 0.979 | 0.000 | 2.000 | Hitting_SO | 0.979 | 1.000 | -0.979 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 3 |
| Better Metrics | 9 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_RBI: 0.4500 -> 2.0000 (boost 1.5500, better) |
| Biggest Deboost | predicted_SO: 0.9790 -> 0.0000 (deboost -0.9790, 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.9400 -> 7.7824 (boost 3.8424, 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.2589 -> 0.2736 (boost 0.0147, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 5 | 3 | 4 | 4 | predicted_2B: 0.5311 -> 1.0000 (boost 0.4689, better) | predicted_HBP: 0.3430 -> 0.0000 (deboost -0.3430, worse) | AB rounded to 8 (raw=7.78), rates preserved: AVG=0.274 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2986 -> 1.0000 (deboost -0.2986, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4192 -> 0.3750 (deboost -0.0442, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_RBI: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3750 -> 0.4192 (boost 0.0442, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668227",
"player_name": "Randy Arozarena",
"position": "LF",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.285,
"predicted_3B": 0.021,
"predicted_AB": 3.94,
"predicted_AVG": 0.242,
"predicted_BB": 0.409,
"predicted_H": 0.95,
"predicted_HR": 0.11,
"predicted_OBP": 0.32,
"predicted_R": 0.686,
"predicted_RBI": 0.45,
"predicted_SLG": 0.402,
"predicted_SO": 0.979
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.5311,
"predicted_3B": 0.0351,
"predicted_AB": 7.7824,
"predicted_AVG": 0.2589,
"predicted_BB": 0.69,
"predicted_H": 2.0956,
"predicted_HBP": 0.343,
"predicted_HR": 0.1758,
"predicted_OBP": 0.3304,
"predicted_R": 1.2586,
"predicted_RBI": 0.822,
"predicted_SLG": 0.4085,
"predicted_SO": 1.8485
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.285,
"after": 0.5311,
"delta": 0.2461,
"percent_delta": 0.8635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0351,
"delta": 0.0141,
"percent_delta": 0.6714,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.94,
"after": 7.7824,
"delta": 3.8424,
"percent_delta": 0.9752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2589,
"delta": 0.0169,
"percent_delta": 0.0698,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.409,
"after": 0.69,
"delta": 0.281,
"percent_delta": 0.687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 2.0956,
"delta": 1.1456,
"percent_delta": 1.2059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1758,
"delta": 0.0658,
"percent_delta": 0.5982,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3304,
"delta": 0.0104,
"percent_delta": 0.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.686,
"after": 1.2586,
"delta": 0.5726,
"percent_delta": 0.8347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.822,
"delta": 0.372,
"percent_delta": 0.8267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.4085,
"delta": 0.0065,
"percent_delta": 0.0162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.979,
"after": 1.8485,
"delta": 0.8695,
"percent_delta": 0.8882,
"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.94,
"after": 7.7824,
"delta": 3.8424,
"percent_delta": 0.9752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 60
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.5311,
"predicted_3B": 0.0351,
"predicted_AB": 7.7824,
"predicted_AVG": 0.2736,
"predicted_BB": 0.6966,
"predicted_H": 2.1293,
"predicted_HBP": 0.343,
"predicted_HR": 0.1773,
"predicted_OBP": 0.3333,
"predicted_R": 1.2986,
"predicted_RBI": 0.8481,
"predicted_SLG": 0.4192,
"predicted_SO": 1.8308
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5311,
"after": 0.5311,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0351,
"after": 0.0351,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.7824,
"after": 7.7824,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2589,
"after": 0.2736,
"delta": 0.0147,
"percent_delta": 0.0568,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.69,
"after": 0.6966,
"delta": 0.0066,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0956,
"after": 2.1293,
"delta": 0.0337,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.343,
"after": 0.343,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1758,
"after": 0.1773,
"delta": 0.0015,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3304,
"after": 0.3333,
"delta": 0.0029,
"percent_delta": 0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.2586,
"after": 1.2986,
"delta": 0.04,
"percent_delta": 0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.822,
"after": 0.8481,
"delta": 0.0261,
"percent_delta": 0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4085,
"after": 0.4192,
"delta": 0.0107,
"percent_delta": 0.0262,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8485,
"after": 1.8308,
"delta": -0.0177,
"percent_delta": -0.0096,
"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.2589,
"after": 0.2736,
"delta": 0.0147,
"percent_delta": 0.0568,
"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.78), rates preserved: AVG=0.274 HR/AB=0.023",
"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.5311,
"after": 1.0,
"delta": 0.4689,
"percent_delta": 0.8829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0351,
"after": 0.0,
"delta": -0.0351,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.7824,
"after": 8.0,
"delta": 0.2176,
"percent_delta": 0.028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6966,
"after": 1.0,
"delta": 0.3034,
"percent_delta": 0.4355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.1293,
"after": 2.0,
"delta": -0.1293,
"percent_delta": -0.0607,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.343,
"after": 0.0,
"delta": -0.343,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1773,
"after": 0.0,
"delta": -0.1773,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8481,
"after": 1.0,
"delta": 0.1519,
"percent_delta": 0.1791,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8308,
"after": 2.0,
"delta": 0.1692,
"percent_delta": 0.0924,
"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_2B",
"before": 0.5311,
"after": 1.0,
"delta": 0.4689,
"percent_delta": 0.8829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.343,
"after": 0.0,
"delta": -0.343,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.2986,
"after": 1.0,
"delta": -0.2986,
"percent_delta": -0.2299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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.2986,
"after": 1.0,
"delta": -0.2986,
"percent_delta": -0.2299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.375,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2736,
"after": 0.25,
"delta": -0.0236,
"percent_delta": -0.0863,
"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.3333,
"after": 0.333,
"delta": -0.0003,
"percent_delta": -0.0009,
"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.4192,
"after": 0.375,
"delta": -0.0442,
"percent_delta": -0.1054,
"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.4192,
"after": 0.375,
"delta": -0.0442,
"percent_delta": -0.1054,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 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": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2736,
"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.3333,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4192,
"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.25,
"after": 0.2736,
"delta": 0.0236,
"percent_delta": 0.0944,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3333,
"delta": 0.0003,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.4192,
"delta": 0.0442,
"percent_delta": 0.118,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.4192,
"delta": 0.0442,
"percent_delta": 0.118,
"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.285,
"after": 1.0,
"delta": 0.715,
"percent_delta": 2.5088,
"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.94,
"after": 4.0,
"delta": 0.06,
"percent_delta": 0.0152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2736,
"delta": 0.0316,
"percent_delta": 0.1306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.409,
"after": 0.0,
"delta": -0.409,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 2.0,
"delta": 1.05,
"percent_delta": 1.1053,
"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.32,
"after": 0.3333,
"delta": 0.0133,
"percent_delta": 0.0416,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.686,
"after": 1.0,
"delta": 0.314,
"percent_delta": 0.4577,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 2.0,
"delta": 1.55,
"percent_delta": 3.4444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.4192,
"delta": 0.0172,
"percent_delta": 0.0428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.979,
"after": 0.0,
"delta": -0.979,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 9,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.45,
"after": 2.0,
"delta": 1.55,
"percent_delta": 3.4444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.979,
"after": 0.0,
"delta": -0.979,
"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.285 | - |
| predicted_3B | 0.021 | - |
| predicted_AB | 3.940 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.409 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.320 | - |
| predicted_R | 0.686 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.402 | - |
| predicted_SO | 0.979 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.531 | 0.246 |
| predicted_3B | 0.035 | 0.014 |
| predicted_AB | 7.782 | 3.842 |
| predicted_AVG | 0.259 | 0.017 |
| predicted_BB | 0.690 | 0.281 |
| predicted_H | 2.096 | 1.146 |
| predicted_HBP | 0.343 | - |
| predicted_HR | 0.176 | 0.066 |
| predicted_OBP | 0.330 | 0.010 |
| predicted_R | 1.259 | 0.573 |
| predicted_RBI | 0.822 | 0.372 |
| predicted_SLG | 0.408 | 0.006 |
| predicted_SO | 1.849 | 0.870 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.531 | 0.000 |
| predicted_3B | 0.035 | 0.000 |
| predicted_AB | 7.782 | 0.000 |
| predicted_AVG | 0.274 | 0.015 |
| predicted_BB | 0.697 | 0.007 |
| predicted_H | 2.129 | 0.034 |
| predicted_HBP | 0.343 | 0.000 |
| predicted_HR | 0.177 | 0.002 |
| predicted_OBP | 0.333 | 0.003 |
| predicted_R | 1.299 | 0.040 |
| predicted_RBI | 0.848 | 0.026 |
| predicted_SLG | 0.419 | 0.011 |
| predicted_SO | 1.831 | -0.018 |
AB rounded to 8 (raw=7.78), rates preserved: AVG=0.274 HR/AB=0.023
| 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.469 |
| predicted_3B | 0.000 | -0.035 |
| predicted_AB | 8.000 | 0.218 |
| predicted_AVG | 0.250 | -0.024 |
| predicted_BB | 1.000 | 0.303 |
| predicted_H | 2.000 | -0.129 |
| predicted_HR | 0.000 | -0.177 |
| predicted_OBP | 0.333 | -0.000 |
| predicted_R | 1.000 | -0.299 |
| predicted_RBI | 1.000 | 0.152 |
| predicted_SLG | 0.375 | -0.044 |
| predicted_SO | 2.000 | 0.169 |
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 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 24.000 | 5.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 0.000 | 3.000 | 0.2083 | 0.2083 | 0.2500 | 0.2083 | 0.0000 | 0.0417 | 0.0000 | 0.1250 |
| last_10 | 0.20 | 5 | - | 49.000 | 10.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 0.000 | 10.000 | 0.2041 | 0.2041 | 0.2245 | 0.2041 | 0.0000 | 0.0204 | 0.0000 | 0.2041 |
| season | 0.60 | 60 | - | 896.000 | 274.000 | 69.000 | 5.000 | 24.000 | 110.000 | 166.000 | 99.000 | 237.000 | 0.3058 | 0.3900 | 0.4743 | 0.3058 | 0.0268 | 0.1228 | 0.1105 | 0.2645 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8420 |
| predicted_3B | 0.0530 |
| predicted_AB | 12.6370 |
| predicted_AVG | 0.2803 |
| predicted_BB | 1.0450 |
| predicted_H | 3.5430 |
| predicted_HBP | 0.3430 |
| predicted_HR | 0.2590 |
| predicted_OBP | 0.3435 |
| predicted_R | 1.9820 |
| predicted_RBI | 1.2920 |
| predicted_SLG | 0.4167 |
| predicted_SO | 2.9470 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2850 | 0.8420 | 0.5311 | model_form_blend |
| predicted_3B | 0.0210 | 0.0530 | 0.0351 | model_form_blend |
| predicted_AB | 3.9400 | 12.6370 | 7.7824 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2803 | 0.2589 | model_form_blend |
| predicted_BB | 0.4090 | 1.0450 | 0.6900 | model_form_blend |
| predicted_H | 0.9500 | 3.5430 | 2.0956 | model_form_blend |
| predicted_HBP | - | 0.3430 | 0.3430 | form_only |
| predicted_HR | 0.1100 | 0.2590 | 0.1758 | model_form_blend |
| predicted_OBP | 0.3200 | 0.3435 | 0.3304 | model_form_blend |
| predicted_R | 0.6860 | 1.9820 | 1.2586 | model_form_blend |
| predicted_RBI | 0.4500 | 1.2920 | 0.8220 | model_form_blend |
| predicted_SLG | 0.4020 | 0.4167 | 0.4085 | model_form_blend |
| predicted_SO | 0.9790 | 2.9470 | 1.8485 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| 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 | 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 | 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 | LF |
| gameID | 20260531_ARI@SEA |
| game_type | full |
| mlbID | 668227 |
| playerID | 668227 |
| playerName | Randy Arozarena |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | SEA |
| teamID | 25 |
| game_date | 2026-05-31 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.37 |
| sl_xwoba | 0.343 |
| sl_xba | 0.262 |
| sl_xslg | 0.412 |
| sl_sweet_spot_percent | 37.0 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 42.6 |
| sl_exit_velocity_avg | 91.0 |
| sl_launch_angle_avg | 7.6 |
| sl_whiff_percent | 27.6 |
| sl_swing_percent | 48.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.092 | 0.000 | 0.000 | Hitting_2B | 0.092 | 0.000 | -0.092 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.050 | 3.000 | 8.000 | Hitting_AB | 3.710 | 4.000 | -0.710 | -1.000 |
| predicted_AVG | 0.237 | 0.000 | 0.250 | Hitting_AVG | 0.229 | 0.250 | -0.229 | -0.250 |
| predicted_BB | 0.652 | 2.000 | 1.000 | Hitting_BB | 0.652 | 1.000 | 1.348 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_H | 0.960 | 0.000 | 2.000 | Hitting_H | 0.850 | 1.000 | -0.850 | -1.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.169 | 0.000 | -0.169 | 0.000 |
| predicted_OBP | 0.332 | 0.400 | 0.333 | Hitting_OBP | 0.352 | 0.400 | 0.048 | 0.000 |
| predicted_R | 0.604 | 0.000 | 1.000 | Hitting_R | 0.604 | 0.000 | -0.604 | 0.000 |
| predicted_RBI | 0.510 | 0.000 | 1.000 | Hitting_RBI | 0.454 | 0.000 | -0.454 | 0.000 |
| predicted_SLG | 0.427 | 0.000 | 0.250 | Hitting_SLG | 0.391 | 0.250 | -0.391 | -0.250 |
| predicted_SO | 0.783 | 0.000 | 2.000 | Hitting_SO | 0.783 | 3.000 | -0.783 | -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_BB: 0.6520 -> 2.0000 (boost 1.3480, better) |
| Biggest Deboost | predicted_AB: 4.0500 -> 3.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.0500 -> 7.8015 (boost 3.7515, 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.2582 -> 0.2755 (boost 0.0173, 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_AB: 7.8015 -> 8.0000 (boost 0.1985, better) | predicted_HR: 0.4083 -> 0.0000 (deboost -0.4083, worse) | AB rounded to 8 (raw=7.80), rates preserved: AVG=0.275 HR/AB=0.052 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.4041 -> 1.0000 (deboost -0.4041, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4531 -> 0.2500 (deboost -0.2031, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 1 | 5 | 2 | 4 | predicted_BB: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 8.0000 -> 3.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4531 (boost 0.2031, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641487",
"player_name": "J.P. Crawford",
"position": "SS",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.092,
"predicted_3B": 0.0,
"predicted_AB": 4.05,
"predicted_AVG": 0.237,
"predicted_BB": 0.652,
"predicted_H": 0.96,
"predicted_HR": 0.19,
"predicted_OBP": 0.332,
"predicted_R": 0.604,
"predicted_RBI": 0.51,
"predicted_SLG": 0.427,
"predicted_SO": 0.783
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1594,
"predicted_3B": 0.0009,
"predicted_AB": 7.8015,
"predicted_AVG": 0.2582,
"predicted_BB": 1.1946,
"predicted_H": 2.1149,
"predicted_HBP": 0.17,
"predicted_HR": 0.4047,
"predicted_OBP": 0.3556,
"predicted_R": 1.3608,
"predicted_RBI": 0.9764,
"predicted_SLG": 0.4444,
"predicted_SO": 1.8219
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.092,
"after": 0.1594,
"delta": 0.0674,
"percent_delta": 0.7326,
"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.05,
"after": 7.8015,
"delta": 3.7515,
"percent_delta": 0.9263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2582,
"delta": 0.0212,
"percent_delta": 0.0895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.652,
"after": 1.1946,
"delta": 0.5426,
"percent_delta": 0.8322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 2.1149,
"delta": 1.1549,
"percent_delta": 1.203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.4047,
"delta": 0.2147,
"percent_delta": 1.13,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3556,
"delta": 0.0236,
"percent_delta": 0.0711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.604,
"after": 1.3608,
"delta": 0.7568,
"percent_delta": 1.253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.9764,
"delta": 0.4664,
"percent_delta": 0.9145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.4444,
"delta": 0.0174,
"percent_delta": 0.0407,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.783,
"after": 1.8219,
"delta": 1.0389,
"percent_delta": 1.3268,
"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.05,
"after": 7.8015,
"delta": 3.7515,
"percent_delta": 0.9263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.1594,
"predicted_3B": 0.0009,
"predicted_AB": 7.8015,
"predicted_AVG": 0.2755,
"predicted_BB": 1.2061,
"predicted_H": 2.1489,
"predicted_HBP": 0.17,
"predicted_HR": 0.4083,
"predicted_OBP": 0.3725,
"predicted_R": 1.4041,
"predicted_RBI": 1.0074,
"predicted_SLG": 0.4531,
"predicted_SO": 1.8044
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1594,
"after": 0.1594,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.8015,
"after": 7.8015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2582,
"after": 0.2755,
"delta": 0.0173,
"percent_delta": 0.067,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1946,
"after": 1.2061,
"delta": 0.0115,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1149,
"after": 2.1489,
"delta": 0.034,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.17,
"after": 0.17,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4047,
"after": 0.4083,
"delta": 0.0036,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3556,
"after": 0.3725,
"delta": 0.0169,
"percent_delta": 0.0475,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.3608,
"after": 1.4041,
"delta": 0.0433,
"percent_delta": 0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9764,
"after": 1.0074,
"delta": 0.031,
"percent_delta": 0.0317,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4444,
"after": 0.4531,
"delta": 0.0087,
"percent_delta": 0.0196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8219,
"after": 1.8044,
"delta": -0.0175,
"percent_delta": -0.0096,
"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.2582,
"after": 0.2755,
"delta": 0.0173,
"percent_delta": 0.067,
"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.80), rates preserved: AVG=0.275 HR/AB=0.052",
"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.1594,
"after": 0.0,
"delta": -0.1594,
"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.8015,
"after": 8.0,
"delta": 0.1985,
"percent_delta": 0.0254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.2061,
"after": 1.0,
"delta": -0.2061,
"percent_delta": -0.1709,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.1489,
"after": 2.0,
"delta": -0.1489,
"percent_delta": -0.0693,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.4083,
"after": 0.0,
"delta": -0.4083,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0074,
"after": 1.0,
"delta": -0.0074,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.8044,
"after": 2.0,
"delta": 0.1956,
"percent_delta": 0.1084,
"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": 7.8015,
"after": 8.0,
"delta": 0.1985,
"percent_delta": 0.0254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.4083,
"after": 0.0,
"delta": -0.4083,
"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.4041,
"after": 1.0,
"delta": -0.4041,
"percent_delta": -0.2878,
"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.4041,
"after": 1.0,
"delta": -0.4041,
"percent_delta": -0.2878,
"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.2755,
"after": 0.25,
"delta": -0.0255,
"percent_delta": -0.0926,
"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.3725,
"after": 0.333,
"delta": -0.0395,
"percent_delta": -0.106,
"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.4531,
"after": 0.25,
"delta": -0.2031,
"percent_delta": -0.4482,
"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.4531,
"after": 0.25,
"delta": -0.2031,
"percent_delta": -0.4482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 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": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2755,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3725,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4531,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2755,
"delta": 0.0255,
"percent_delta": 0.1018,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.3725,
"delta": 0.0395,
"percent_delta": 0.1185,
"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.4531,
"delta": 0.2031,
"percent_delta": 0.8124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4531,
"delta": 0.2031,
"percent_delta": 0.8124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.092,
"after": 0.0,
"delta": -0.092,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.05,
"after": 3.0,
"delta": -1.05,
"percent_delta": -0.2593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2755,
"delta": 0.0385,
"percent_delta": 0.1624,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.652,
"after": 2.0,
"delta": 1.348,
"percent_delta": 2.0675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.0,
"delta": -0.96,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3725,
"delta": 0.0405,
"percent_delta": 0.122,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.604,
"after": 0.0,
"delta": -0.604,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.4531,
"delta": 0.0261,
"percent_delta": 0.0611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.783,
"after": 0.0,
"delta": -0.783,
"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_BB",
"before": 0.652,
"after": 2.0,
"delta": 1.348,
"percent_delta": 2.0675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.05,
"after": 3.0,
"delta": -1.05,
"percent_delta": -0.2593,
"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.092 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.050 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.652 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.332 | - |
| predicted_R | 0.604 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.427 | - |
| predicted_SO | 0.783 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.159 | 0.067 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 7.801 | 3.752 |
| predicted_AVG | 0.258 | 0.021 |
| predicted_BB | 1.195 | 0.543 |
| predicted_H | 2.115 | 1.155 |
| predicted_HBP | 0.170 | - |
| predicted_HR | 0.405 | 0.215 |
| predicted_OBP | 0.356 | 0.024 |
| predicted_R | 1.361 | 0.757 |
| predicted_RBI | 0.976 | 0.466 |
| predicted_SLG | 0.444 | 0.017 |
| predicted_SO | 1.822 | 1.039 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.159 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 7.801 | 0.000 |
| predicted_AVG | 0.276 | 0.017 |
| predicted_BB | 1.206 | 0.011 |
| predicted_H | 2.149 | 0.034 |
| predicted_HBP | 0.170 | 0.000 |
| predicted_HR | 0.408 | 0.004 |
| predicted_OBP | 0.372 | 0.017 |
| predicted_R | 1.404 | 0.043 |
| predicted_RBI | 1.007 | 0.031 |
| predicted_SLG | 0.453 | 0.009 |
| predicted_SO | 1.804 | -0.018 |
AB rounded to 8 (raw=7.80), rates preserved: AVG=0.275 HR/AB=0.052
| 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.159 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | 0.199 |
| predicted_AVG | 0.250 | -0.026 |
| predicted_BB | 1.000 | -0.206 |
| predicted_H | 2.000 | -0.149 |
| predicted_HR | 0.000 | -0.408 |
| predicted_OBP | 0.333 | -0.039 |
| predicted_R | 1.000 | -0.404 |
| predicted_RBI | 1.000 | -0.007 |
| predicted_SLG | 0.250 | -0.203 |
| predicted_SO | 2.000 | 0.196 |
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 | 2.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 22.000 | 10.000 | 0.000 | 0.000 | 2.000 | 3.000 | 6.000 | 2.000 | 8.000 | 0.4545 | 0.5000 | 0.7273 | 0.4546 | 0.0909 | 0.1364 | 0.0909 | 0.3636 |
| last_10 | 0.20 | 5 | - | 45.000 | 21.000 | 0.000 | 0.000 | 2.000 | 5.000 | 9.000 | 2.000 | 18.000 | 0.4667 | 0.4694 | 0.6000 | 0.4667 | 0.0444 | 0.1111 | 0.0444 | 0.4000 |
| season | 0.60 | 51 | - | 768.000 | 176.000 | 19.000 | 0.000 | 35.000 | 94.000 | 125.000 | 135.000 | 162.000 | 0.2292 | 0.3525 | 0.3906 | 0.2292 | 0.0456 | 0.1224 | 0.1758 | 0.2109 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2450 |
| predicted_3B | 0.0020 |
| predicted_AB | 12.5610 |
| predicted_AVG | 0.2850 |
| predicted_BB | 1.8830 |
| predicted_H | 3.5800 |
| predicted_HBP | 0.1700 |
| predicted_HR | 0.6770 |
| predicted_OBP | 0.3855 |
| predicted_R | 2.3210 |
| predicted_RBI | 1.5680 |
| predicted_SLG | 0.4665 |
| predicted_SO | 3.1400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0920 | 0.2450 | 0.1594 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 4.0500 | 12.5610 | 7.8015 | model_form_blend |
| predicted_AVG | 0.2370 | 0.2850 | 0.2582 | model_form_blend |
| predicted_BB | 0.6520 | 1.8830 | 1.1946 | model_form_blend |
| predicted_H | 0.9600 | 3.5800 | 2.1149 | model_form_blend |
| predicted_HBP | - | 0.1700 | 0.1700 | form_only |
| predicted_HR | 0.1900 | 0.6770 | 0.4047 | model_form_blend |
| predicted_OBP | 0.3320 | 0.3855 | 0.3556 | model_form_blend |
| predicted_R | 0.6040 | 2.3210 | 1.3608 | model_form_blend |
| predicted_RBI | 0.5100 | 1.5680 | 0.9764 | model_form_blend |
| predicted_SLG | 0.4270 | 0.4665 | 0.4444 | model_form_blend |
| predicted_SO | 0.7830 | 3.1400 | 1.8219 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 207 |
| Season rows before report date | 207 |
| Report year | 2026 |
| Profile rows used | 207 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 2 |
| SO | 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 | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| 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 | 20260531_ARI@SEA |
| game_type | full |
| mlbID | 641487 |
| playerID | 641487 |
| playerName | J.P. Crawford |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | SEA |
| teamID | 25 |
| game_date | 2026-05-31 |
| sl_k_percent | 17.4 |
| sl_bb_percent | 14.1 |
| sl_woba | 0.334 |
| sl_xwoba | 0.352 |
| sl_xba | 0.251 |
| sl_xslg | 0.419 |
| sl_sweet_spot_percent | 38.0 |
| sl_barrel_batted_rate | 9.2 |
| sl_hard_hit_percent | 35.9 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 12.9 |
| sl_whiff_percent | 17.6 |
| sl_swing_percent | 37.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.188 | 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 | 4.520 | 4.000 | 9.000 | Hitting_AB | 4.096 | 5.000 | -0.096 | -1.000 |
| predicted_AVG | 0.240 | 0.250 | 0.222 | Hitting_AVG | 0.259 | 0.000 | -0.009 | 0.250 |
| predicted_BB | 0.316 | 0.000 | 1.000 | Hitting_BB | 0.316 | 0.000 | -0.316 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_H | 1.090 | 1.000 | 2.000 | Hitting_H | 1.060 | 0.000 | -0.060 | 1.000 |
| predicted_HR | 0.230 | 0.000 | 1.000 | Hitting_HR | 0.192 | 0.000 | -0.192 | 0.000 |
| predicted_OBP | 0.313 | 0.250 | 0.300 | Hitting_OBP | 0.317 | 0.000 | -0.067 | 0.250 |
| predicted_R | 0.552 | 0.000 | 1.000 | Hitting_R | 0.552 | 0.000 | -0.552 | 0.000 |
| predicted_RBI | 0.650 | 0.000 | 2.000 | Hitting_RBI | 0.524 | 0.000 | -0.524 | 0.000 |
| predicted_SLG | 0.485 | 0.250 | 0.556 | Hitting_SLG | 0.445 | 0.000 | -0.195 | 0.250 |
| predicted_SO | 0.920 | 1.000 | 2.000 | Hitting_SO | 0.920 | 2.000 | 0.080 | -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.9200 -> 1.0000 (boost 0.0800, worse) |
| Biggest Deboost | predicted_RBI: 0.6500 -> 0.0000 (deboost -0.6500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 10 | 0 | 9 | 1 | predicted_AB: 4.5200 -> 8.8064 (boost 4.2864, 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.2507 -> 0.2618 (boost 0.0111, better) | predicted_OBP: 0.3109 -> 0.3051 (deboost -0.0058, 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.5485 -> 1.0000 (boost 0.4515, better) | predicted_2B: 0.4379 -> 0.0000 (deboost -0.4379, worse) | AB rounded to 9 (raw=8.81), rates preserved: AVG=0.262 HR/AB=0.068 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2331 -> 1.0000 (deboost -0.2331, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.5167 -> 0.5560 (boost 0.0393, better) | predicted_AVG: 0.2618 -> 0.2220 (deboost -0.0398, 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 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2220 -> 0.2618 (boost 0.0398, better) | predicted_SLG: 0.5560 -> 0.5167 (deboost -0.0393, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677594",
"player_name": "Julio Rodríguez",
"position": "CF",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is 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": 4.52,
"predicted_AVG": 0.24,
"predicted_BB": 0.316,
"predicted_H": 1.09,
"predicted_HR": 0.23,
"predicted_OBP": 0.313,
"predicted_R": 0.552,
"predicted_RBI": 0.65,
"predicted_SLG": 0.485,
"predicted_SO": 0.92
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4379,
"predicted_3B": 0.0004,
"predicted_AB": 8.8064,
"predicted_AVG": 0.2507,
"predicted_BB": 0.5433,
"predicted_H": 2.2692,
"predicted_HBP": 0.084,
"predicted_HR": 0.5967,
"predicted_OBP": 0.3109,
"predicted_R": 1.1951,
"predicted_RBI": 1.5554,
"predicted_SLG": 0.5098,
"predicted_SO": 1.8856
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.4379,
"delta": 0.2499,
"percent_delta": 1.3293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.52,
"after": 8.8064,
"delta": 4.2864,
"percent_delta": 0.9483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2507,
"delta": 0.0107,
"percent_delta": 0.0446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.316,
"after": 0.5433,
"delta": 0.2273,
"percent_delta": 0.7193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 2.2692,
"delta": 1.1792,
"percent_delta": 1.0818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.5967,
"delta": 0.3667,
"percent_delta": 1.5943,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3109,
"delta": -0.0021,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.552,
"after": 1.1951,
"delta": 0.6431,
"percent_delta": 1.165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 1.5554,
"delta": 0.9054,
"percent_delta": 1.3929,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.485,
"after": 0.5098,
"delta": 0.0248,
"percent_delta": 0.0511,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.92,
"after": 1.8856,
"delta": 0.9656,
"percent_delta": 1.0496,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.52,
"after": 8.8064,
"delta": 4.2864,
"percent_delta": 0.9483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 60
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.4379,
"predicted_3B": 0.0004,
"predicted_AB": 8.8064,
"predicted_AVG": 0.2618,
"predicted_BB": 0.5485,
"predicted_H": 2.3057,
"predicted_HBP": 0.084,
"predicted_HR": 0.602,
"predicted_OBP": 0.3051,
"predicted_R": 1.2331,
"predicted_RBI": 1.6049,
"predicted_SLG": 0.5167,
"predicted_SO": 1.8675
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4379,
"after": 0.4379,
"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.8064,
"after": 8.8064,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2507,
"after": 0.2618,
"delta": 0.0111,
"percent_delta": 0.0443,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5433,
"after": 0.5485,
"delta": 0.0052,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.2692,
"after": 2.3057,
"delta": 0.0365,
"percent_delta": 0.0161,
"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.5967,
"after": 0.602,
"delta": 0.0053,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3109,
"after": 0.3051,
"delta": -0.0058,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1951,
"after": 1.2331,
"delta": 0.038,
"percent_delta": 0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.5554,
"after": 1.6049,
"delta": 0.0495,
"percent_delta": 0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5098,
"after": 0.5167,
"delta": 0.0069,
"percent_delta": 0.0135,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8856,
"after": 1.8675,
"delta": -0.0181,
"percent_delta": -0.0096,
"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.2507,
"after": 0.2618,
"delta": 0.0111,
"percent_delta": 0.0443,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3109,
"after": 0.3051,
"delta": -0.0058,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=8.81), rates preserved: AVG=0.262 HR/AB=0.068",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4379,
"after": 0.0,
"delta": -0.4379,
"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.8064,
"after": 9.0,
"delta": 0.1936,
"percent_delta": 0.022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5485,
"after": 1.0,
"delta": 0.4515,
"percent_delta": 0.8232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.3057,
"after": 2.0,
"delta": -0.3057,
"percent_delta": -0.1326,
"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": 0.602,
"after": 1.0,
"delta": 0.398,
"percent_delta": 0.6611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.6049,
"after": 2.0,
"delta": 0.3951,
"percent_delta": 0.2462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8675,
"after": 2.0,
"delta": 0.1325,
"percent_delta": 0.071,
"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.5485,
"after": 1.0,
"delta": 0.4515,
"percent_delta": 0.8232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4379,
"after": 0.0,
"delta": -0.4379,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2331,
"after": 1.0,
"delta": -0.2331,
"percent_delta": -0.189,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.2331,
"after": 1.0,
"delta": -0.2331,
"percent_delta": -0.189,
"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": 1.0,
"predicted_OBP": 0.3,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SLG": 0.556,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2618,
"after": 0.222,
"delta": -0.0398,
"percent_delta": -0.152,
"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.3051,
"after": 0.3,
"delta": -0.0051,
"percent_delta": -0.0167,
"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.5167,
"after": 0.556,
"delta": 0.0393,
"percent_delta": 0.0761,
"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.5167,
"after": 0.556,
"delta": 0.0393,
"percent_delta": 0.0761,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2618,
"after": 0.222,
"delta": -0.0398,
"percent_delta": -0.152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.0,
"after": 4.0,
"delta": -5.0,
"percent_delta": -0.5556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 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": 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.2618,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3051,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5167,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2618,
"delta": 0.0398,
"percent_delta": 0.1794,
"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.3051,
"delta": 0.0051,
"percent_delta": 0.017,
"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.556,
"after": 0.5167,
"delta": -0.0393,
"percent_delta": -0.0707,
"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.222,
"after": 0.2618,
"delta": 0.0398,
"percent_delta": 0.1794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.556,
"after": 0.5167,
"delta": -0.0393,
"percent_delta": -0.0707,
"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": 4.52,
"after": 4.0,
"delta": -0.52,
"percent_delta": -0.115,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2618,
"delta": 0.0218,
"percent_delta": 0.0908,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.316,
"after": 0.0,
"delta": -0.316,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 1.0,
"delta": -0.09,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3051,
"delta": -0.0079,
"percent_delta": -0.0252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.552,
"after": 0.0,
"delta": -0.552,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.485,
"after": 0.5167,
"delta": 0.0317,
"percent_delta": 0.0654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.92,
"after": 1.0,
"delta": 0.08,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.92,
"after": 1.0,
"delta": 0.08,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.188 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.520 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.316 | - |
| predicted_H | 1.090 | - |
| predicted_HR | 0.230 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.552 | - |
| predicted_RBI | 0.650 | - |
| predicted_SLG | 0.485 | - |
| predicted_SO | 0.920 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.438 | 0.250 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.806 | 4.286 |
| predicted_AVG | 0.251 | 0.011 |
| predicted_BB | 0.543 | 0.227 |
| predicted_H | 2.269 | 1.179 |
| predicted_HBP | 0.084 | - |
| predicted_HR | 0.597 | 0.367 |
| predicted_OBP | 0.311 | -0.002 |
| predicted_R | 1.195 | 0.643 |
| predicted_RBI | 1.555 | 0.905 |
| predicted_SLG | 0.510 | 0.025 |
| predicted_SO | 1.886 | 0.966 |
Step 3: 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.000 | 0.000 |
| predicted_AB | 8.806 | 0.000 |
| predicted_AVG | 0.262 | 0.011 |
| predicted_BB | 0.548 | 0.005 |
| predicted_H | 2.306 | 0.036 |
| predicted_HBP | 0.084 | 0.000 |
| predicted_HR | 0.602 | 0.005 |
| predicted_OBP | 0.305 | -0.006 |
| predicted_R | 1.233 | 0.038 |
| predicted_RBI | 1.605 | 0.050 |
| predicted_SLG | 0.517 | 0.007 |
| predicted_SO | 1.867 | -0.018 |
AB rounded to 9 (raw=8.81), rates preserved: AVG=0.262 HR/AB=0.068
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 9.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 1.000 | - |
| RBI | 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 | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.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.438 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 9.000 | 0.194 |
| predicted_AVG | 0.222 | -0.040 |
| predicted_BB | 1.000 | 0.452 |
| predicted_H | 2.000 | -0.306 |
| predicted_HR | 1.000 | 0.398 |
| predicted_OBP | 0.300 | -0.005 |
| predicted_R | 1.000 | -0.233 |
| predicted_RBI | 2.000 | 0.395 |
| predicted_SLG | 0.556 | 0.039 |
| predicted_SO | 2.000 | 0.133 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -5.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 24.000 | 7.000 | 2.000 | 0.000 | 4.000 | 9.000 | 4.000 | 0.000 | 5.000 | 0.2917 | 0.2917 | 0.8750 | 0.2917 | 0.1667 | 0.3750 | 0.0000 | 0.2083 |
| last_10 | 0.20 | 5 | - | 49.000 | 12.000 | 2.000 | 0.000 | 7.000 | 20.000 | 7.000 | 0.000 | 8.000 | 0.2449 | 0.2449 | 0.7143 | 0.2449 | 0.1429 | 0.4082 | 0.0000 | 0.1633 |
| season | 0.60 | 60 | - | 1024.000 | 265.000 | 47.000 | 0.000 | 48.000 | 131.000 | 138.000 | 79.000 | 230.000 | 0.2588 | 0.3168 | 0.4453 | 0.2588 | 0.0469 | 0.1279 | 0.0771 | 0.2246 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7530 |
| predicted_3B | 0.0010 |
| predicted_AB | 14.2110 |
| predicted_AVG | 0.2643 |
| predicted_BB | 0.8300 |
| predicted_H | 3.7560 |
| predicted_HBP | 0.0840 |
| predicted_HR | 1.0590 |
| predicted_OBP | 0.3083 |
| predicted_R | 2.0060 |
| predicted_RBI | 2.6970 |
| predicted_SLG | 0.5411 |
| predicted_SO | 3.1030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1880 | 0.7530 | 0.4379 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.5200 | 14.2110 | 8.8064 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2643 | 0.2507 | model_form_blend |
| predicted_BB | 0.3160 | 0.8300 | 0.5433 | model_form_blend |
| predicted_H | 1.0900 | 3.7560 | 2.2692 | model_form_blend |
| predicted_HBP | - | 0.0840 | 0.0840 | form_only |
| predicted_HR | 0.2300 | 1.0590 | 0.5967 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3083 | 0.3109 | model_form_blend |
| predicted_R | 0.5520 | 2.0060 | 1.1951 | model_form_blend |
| predicted_RBI | 0.6500 | 2.6970 | 1.5554 | model_form_blend |
| predicted_SLG | 0.4850 | 0.5411 | 0.5098 | model_form_blend |
| predicted_SO | 0.9200 | 3.1030 | 1.8856 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 250 |
| Season rows before report date | 250 |
| Report year | 2026 |
| Profile rows used | 250 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.259 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260531_ARI@SEA |
| game_type | full |
| mlbID | 677594 |
| playerID | 677594 |
| playerName | Julio Rodríguez |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | SEA |
| teamID | 25 |
| game_date | 2026-05-31 |
| sl_k_percent | 20.5 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.35 |
| sl_xwoba | 0.341 |
| sl_xba | 0.264 |
| sl_xslg | 0.47 |
| sl_sweet_spot_percent | 31.4 |
| sl_barrel_batted_rate | 9.2 |
| sl_hard_hit_percent | 43.2 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 13.5 |
| sl_whiff_percent | 27.3 |
| sl_swing_percent | 53.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.095 | 0.000 | 0.000 | Hitting_2B | 0.095 | 0.000 | -0.095 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.290 | 4.000 | 8.000 | Hitting_AB | 3.996 | 4.000 | 0.004 | 0.000 |
| predicted_AVG | 0.237 | 0.250 | 0.250 | Hitting_AVG | 0.266 | 0.250 | -0.016 | 0.000 |
| predicted_BB | 0.371 | 0.000 | 1.000 | Hitting_BB | 0.371 | 0.000 | -0.371 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_H | 1.020 | 1.000 | 2.000 | Hitting_H | 1.065 | 1.000 | -0.065 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.095 | 0.000 | -0.095 | 0.000 |
| predicted_OBP | 0.309 | 0.250 | 0.333 | Hitting_OBP | 0.331 | 0.250 | -0.081 | 0.000 |
| predicted_R | 0.401 | 0.000 | 1.000 | Hitting_R | 0.401 | 0.000 | -0.401 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 1.000 | Hitting_RBI | 0.466 | 0.000 | -0.466 | 0.000 |
| predicted_SLG | 0.353 | 0.250 | 0.250 | Hitting_SLG | 0.361 | 0.250 | -0.111 | 0.000 |
| predicted_SO | 0.603 | 1.000 | 1.000 | Hitting_SO | 0.603 | 1.000 | 0.397 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.6030 -> 1.0000 (boost 0.3970, worse) |
| Biggest Deboost | predicted_R: 0.4010 -> 0.0000 (deboost -0.4010, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.2900 -> 8.4359 (boost 4.1459, 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.2523 -> 0.2662 (boost 0.0139, better) | predicted_SLG: 0.3496 -> 0.3436 (deboost -0.0060, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 3 | 5 | predicted_BB: 0.6952 -> 1.0000 (boost 0.3048, better) | predicted_AB: 8.4359 -> 8.0000 (deboost -0.4359, worse) | AB rounded to 8 (raw=8.44), rates preserved: AVG=0.266 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8663 -> 1.0000 (boost 0.1337, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3220 -> 0.3330 (boost 0.0110, better) | predicted_SLG: 0.3436 -> 0.2500 (deboost -0.0936, 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3436 (boost 0.0936, better) | predicted_OBP: 0.3330 -> 0.3220 (deboost -0.0110, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "647304",
"player_name": "Josh Naylor",
"position": "1B",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.095,
"predicted_3B": 0.0,
"predicted_AB": 4.29,
"predicted_AVG": 0.237,
"predicted_BB": 0.371,
"predicted_H": 1.02,
"predicted_HR": 0.09,
"predicted_OBP": 0.309,
"predicted_R": 0.401,
"predicted_RBI": 0.39,
"predicted_SLG": 0.353,
"predicted_SO": 0.603
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1661,
"predicted_3B": 0.0004,
"predicted_AB": 8.4359,
"predicted_AVG": 0.2523,
"predicted_BB": 0.6886,
"predicted_H": 2.2098,
"predicted_HBP": 0.057,
"predicted_HR": 0.1607,
"predicted_OBP": 0.3169,
"predicted_R": 0.8396,
"predicted_RBI": 0.753,
"predicted_SLG": 0.3496,
"predicted_SO": 1.0994
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.095,
"after": 0.1661,
"delta": 0.0711,
"percent_delta": 0.7484,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.29,
"after": 8.4359,
"delta": 4.1459,
"percent_delta": 0.9664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2523,
"delta": 0.0153,
"percent_delta": 0.0646,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.371,
"after": 0.6886,
"delta": 0.3176,
"percent_delta": 0.8561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 2.2098,
"delta": 1.1898,
"percent_delta": 1.1665,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1607,
"delta": 0.0707,
"percent_delta": 0.7856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.3169,
"delta": 0.0079,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.401,
"after": 0.8396,
"delta": 0.4386,
"percent_delta": 1.0938,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.753,
"delta": 0.363,
"percent_delta": 0.9308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.3496,
"delta": -0.0034,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.603,
"after": 1.0994,
"delta": 0.4964,
"percent_delta": 0.8232,
"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.29,
"after": 8.4359,
"delta": 4.1459,
"percent_delta": 0.9664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.1661,
"predicted_3B": 0.0004,
"predicted_AB": 8.4359,
"predicted_AVG": 0.2662,
"predicted_BB": 0.6952,
"predicted_H": 2.2454,
"predicted_HBP": 0.057,
"predicted_HR": 0.1621,
"predicted_OBP": 0.322,
"predicted_R": 0.8663,
"predicted_RBI": 0.7769,
"predicted_SLG": 0.3436,
"predicted_SO": 1.0888
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1661,
"after": 0.1661,
"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.4359,
"after": 8.4359,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2523,
"after": 0.2662,
"delta": 0.0139,
"percent_delta": 0.0551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6886,
"after": 0.6952,
"delta": 0.0066,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.2098,
"after": 2.2454,
"delta": 0.0356,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.057,
"after": 0.057,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1607,
"after": 0.1621,
"delta": 0.0014,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3169,
"after": 0.322,
"delta": 0.0051,
"percent_delta": 0.0161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8396,
"after": 0.8663,
"delta": 0.0267,
"percent_delta": 0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.753,
"after": 0.7769,
"delta": 0.0239,
"percent_delta": 0.0317,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3496,
"after": 0.3436,
"delta": -0.006,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0994,
"after": 1.0888,
"delta": -0.0106,
"percent_delta": -0.0096,
"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.2523,
"after": 0.2662,
"delta": 0.0139,
"percent_delta": 0.0551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3496,
"after": 0.3436,
"delta": -0.006,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=8.44), rates preserved: AVG=0.266 HR/AB=0.019",
"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.1661,
"after": 0.0,
"delta": -0.1661,
"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.4359,
"after": 8.0,
"delta": -0.4359,
"percent_delta": -0.0517,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6952,
"after": 1.0,
"delta": 0.3048,
"percent_delta": 0.4384,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.2454,
"after": 2.0,
"delta": -0.2454,
"percent_delta": -0.1093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.057,
"after": 0.0,
"delta": -0.057,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1621,
"after": 0.0,
"delta": -0.1621,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7769,
"after": 1.0,
"delta": 0.2231,
"percent_delta": 0.2872,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0888,
"after": 1.0,
"delta": -0.0888,
"percent_delta": -0.0816,
"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.6952,
"after": 1.0,
"delta": 0.3048,
"percent_delta": 0.4384,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.4359,
"after": 8.0,
"delta": -0.4359,
"percent_delta": -0.0517,
"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": 0.8663,
"after": 1.0,
"delta": 0.1337,
"percent_delta": 0.1543,
"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.8663,
"after": 1.0,
"delta": 0.1337,
"percent_delta": 0.1543,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2662,
"after": 0.25,
"delta": -0.0162,
"percent_delta": -0.0609,
"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.322,
"after": 0.333,
"delta": 0.011,
"percent_delta": 0.0342,
"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.3436,
"after": 0.25,
"delta": -0.0936,
"percent_delta": -0.2724,
"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.322,
"after": 0.333,
"delta": 0.011,
"percent_delta": 0.0342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3436,
"after": 0.25,
"delta": -0.0936,
"percent_delta": -0.2724,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 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.2662,
"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.322,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3436,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2662,
"delta": 0.0162,
"percent_delta": 0.0647,
"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.322,
"delta": -0.011,
"percent_delta": -0.0329,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3436,
"delta": 0.0936,
"percent_delta": 0.3744,
"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.3436,
"delta": 0.0936,
"percent_delta": 0.3744,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.322,
"delta": -0.011,
"percent_delta": -0.0329,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.095,
"after": 0.0,
"delta": -0.095,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.29,
"after": 4.0,
"delta": -0.29,
"percent_delta": -0.0676,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2662,
"delta": 0.0292,
"percent_delta": 0.1232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.371,
"after": 0.0,
"delta": -0.371,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 1.0,
"delta": -0.02,
"percent_delta": -0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.322,
"delta": 0.013,
"percent_delta": 0.0421,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.401,
"after": 0.0,
"delta": -0.401,
"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.353,
"after": 0.3436,
"delta": -0.0094,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.603,
"after": 1.0,
"delta": 0.397,
"percent_delta": 0.6584,
"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.603,
"after": 1.0,
"delta": 0.397,
"percent_delta": 0.6584,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.401,
"after": 0.0,
"delta": -0.401,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.095 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.290 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.371 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.309 | - |
| predicted_R | 0.401 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.353 | - |
| predicted_SO | 0.603 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.166 | 0.071 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.436 | 4.146 |
| predicted_AVG | 0.252 | 0.015 |
| predicted_BB | 0.689 | 0.318 |
| predicted_H | 2.210 | 1.190 |
| predicted_HBP | 0.057 | - |
| predicted_HR | 0.161 | 0.071 |
| predicted_OBP | 0.317 | 0.008 |
| predicted_R | 0.840 | 0.439 |
| predicted_RBI | 0.753 | 0.363 |
| predicted_SLG | 0.350 | -0.003 |
| predicted_SO | 1.099 | 0.496 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.166 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.436 | 0.000 |
| predicted_AVG | 0.266 | 0.014 |
| predicted_BB | 0.695 | 0.007 |
| predicted_H | 2.245 | 0.036 |
| predicted_HBP | 0.057 | 0.000 |
| predicted_HR | 0.162 | 0.001 |
| predicted_OBP | 0.322 | 0.005 |
| predicted_R | 0.866 | 0.027 |
| predicted_RBI | 0.777 | 0.024 |
| predicted_SLG | 0.344 | -0.006 |
| predicted_SO | 1.089 | -0.011 |
AB rounded to 8 (raw=8.44), rates preserved: AVG=0.266 HR/AB=0.019
| 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.166 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 8.000 | -0.436 |
| predicted_AVG | 0.250 | -0.016 |
| predicted_BB | 1.000 | 0.305 |
| predicted_H | 2.000 | -0.245 |
| predicted_HR | 0.000 | -0.162 |
| predicted_OBP | 0.333 | 0.011 |
| predicted_R | 1.000 | 0.134 |
| predicted_RBI | 1.000 | 0.223 |
| predicted_SLG | 0.250 | -0.094 |
| predicted_SO | 1.000 | -0.089 |
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 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 22.000 | 6.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 0.2727 | 0.3043 | 0.2727 | 0.2727 | 0.0000 | 0.0000 | 0.0454 | 0.0454 |
| last_10 | 0.20 | 5 | - | 45.000 | 16.000 | 0.000 | 0.000 | 0.000 | 0.000 | 7.000 | 1.000 | 1.000 | 0.3556 | 0.3696 | 0.3556 | 0.3556 | 0.0000 | 0.0000 | 0.0222 | 0.0222 |
| season | 0.60 | 56 | - | 927.000 | 247.000 | 22.000 | 0.000 | 22.000 | 108.000 | 93.000 | 86.000 | 140.000 | 0.2665 | 0.3307 | 0.3614 | 0.2665 | 0.0237 | 0.1165 | 0.0928 | 0.1510 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2560 |
| predicted_3B | 0.0010 |
| predicted_AB | 13.6770 |
| predicted_AVG | 0.2716 |
| predicted_BB | 1.0900 |
| predicted_H | 3.7140 |
| predicted_HBP | 0.0570 |
| predicted_HR | 0.2500 |
| predicted_OBP | 0.3270 |
| predicted_R | 1.3940 |
| predicted_RBI | 1.2120 |
| predicted_SLG | 0.3452 |
| predicted_SO | 1.7270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0950 | 0.2560 | 0.1661 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.2900 | 13.6770 | 8.4359 | model_form_blend |
| predicted_AVG | 0.2370 | 0.2716 | 0.2523 | model_form_blend |
| predicted_BB | 0.3710 | 1.0900 | 0.6886 | model_form_blend |
| predicted_H | 1.0200 | 3.7140 | 2.2098 | model_form_blend |
| predicted_HBP | - | 0.0570 | 0.0570 | form_only |
| predicted_HR | 0.0900 | 0.2500 | 0.1607 | model_form_blend |
| predicted_OBP | 0.3090 | 0.3270 | 0.3169 | model_form_blend |
| predicted_R | 0.4010 | 1.3940 | 0.8396 | model_form_blend |
| predicted_RBI | 0.3900 | 1.2120 | 0.7530 | model_form_blend |
| predicted_SLG | 0.3530 | 0.3452 | 0.3496 | model_form_blend |
| predicted_SO | 0.6030 | 1.7270 | 1.0994 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 232 |
| Season rows before report date | 232 |
| Report year | 2026 |
| Profile rows used | 232 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.266 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260531_ARI@SEA |
| game_type | full |
| mlbID | 647304 |
| playerID | 647304 |
| playerName | Josh Naylor |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | SEA |
| teamID | 25 |
| game_date | 2026-05-31 |
| sl_k_percent | 13.4 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.298 |
| sl_xwoba | 0.338 |
| sl_xba | 0.287 |
| sl_xslg | 0.427 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 38.2 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 14.5 |
| sl_whiff_percent | 20.1 |
| sl_swing_percent | 53.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.071 | 0.000 | 0.000 | Hitting_2B | 0.068 | 0.000 | -0.068 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.988 | 4.000 | 6.000 | Hitting_AB | 2.886 | 3.000 | 1.114 | 1.000 |
| predicted_AVG | 0.255 | 0.000 | 0.167 | Hitting_AVG | 0.217 | 0.000 | -0.217 | 0.000 |
| predicted_BB | 0.694 | 0.000 | 1.000 | Hitting_BB | 0.682 | 0.000 | -0.682 | 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.625 | 0.000 | -0.625 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_OBP | 0.327 | 0.000 | 0.286 | Hitting_OBP | 0.366 | 0.000 | -0.366 | 0.000 |
| predicted_R | 0.588 | 0.000 | 1.000 | Hitting_R | 0.568 | 0.000 | -0.568 | 0.000 |
| predicted_RBI | 0.330 | 0.000 | 1.000 | Hitting_RBI | 0.273 | 0.000 | -0.273 | 0.000 |
| predicted_SLG | 0.383 | 0.000 | 0.167 | Hitting_SLG | 0.335 | 0.000 | -0.335 | 0.000 |
| predicted_SO | 1.000 | 3.000 | 2.000 | Hitting_SO | 0.966 | 1.000 | 2.034 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) |
| Biggest Deboost | predicted_BB: 0.6940 -> 0.0000 (deboost -0.6940, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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: 2.9880 -> 5.5943 (boost 2.6063, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3472 -> 0.3694 (boost 0.0222, better) | predicted_SLG: 0.3881 -> 0.3740 (deboost -0.0141, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 5.5943 -> 6.0000 (boost 0.4057, better) | predicted_H: 1.3559 -> 1.0000 (deboost -0.3559, worse) | AB rounded to 6 (raw=5.59), rates preserved: AVG=0.242 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1406 -> 1.0000 (deboost -0.1406, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3740 -> 0.1670 (deboost -0.2070, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 1 | 5 | 0 | 6 | predicted_SO: 2.0000 -> 3.0000 (boost 1.0000, worse) | predicted_AB: 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.3740 (boost 0.2070, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641598",
"player_name": "Mitch Garver",
"position": "C",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.071,
"predicted_3B": 0.0,
"predicted_AB": 2.988,
"predicted_AVG": 0.255,
"predicted_BB": 0.694,
"predicted_H": 0.59,
"predicted_HR": 0.09,
"predicted_OBP": 0.327,
"predicted_R": 0.588,
"predicted_RBI": 0.33,
"predicted_SLG": 0.383,
"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.2442,
"predicted_3B": 0.0013,
"predicted_AB": 5.5943,
"predicted_AVG": 0.2557,
"predicted_BB": 1.1167,
"predicted_H": 1.3344,
"predicted_HBP": 0.007,
"predicted_HR": 0.1617,
"predicted_OBP": 0.3472,
"predicted_R": 1.1054,
"predicted_RBI": 0.6402,
"predicted_SLG": 0.3881,
"predicted_SO": 1.6676
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.071,
"after": 0.2442,
"delta": 0.1732,
"percent_delta": 2.4394,
"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.988,
"after": 5.5943,
"delta": 2.6063,
"percent_delta": 0.8723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2557,
"delta": 0.0007,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.694,
"after": 1.1167,
"delta": 0.4227,
"percent_delta": 0.6091,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.59,
"after": 1.3344,
"delta": 0.7444,
"percent_delta": 1.2617,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1617,
"delta": 0.0717,
"percent_delta": 0.7967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3472,
"delta": 0.0202,
"percent_delta": 0.0618,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.588,
"after": 1.1054,
"delta": 0.5174,
"percent_delta": 0.8799,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.6402,
"delta": 0.3102,
"percent_delta": 0.94,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.3881,
"delta": 0.0051,
"percent_delta": 0.0133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.6676,
"delta": 0.6676,
"percent_delta": 0.6676,
"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": 2.988,
"after": 5.5943,
"delta": 2.6063,
"percent_delta": 0.8723,
"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": 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.2442,
"predicted_3B": 0.0013,
"predicted_AB": 5.5943,
"predicted_AVG": 0.2424,
"predicted_BB": 1.1274,
"predicted_H": 1.3559,
"predicted_HBP": 0.007,
"predicted_HR": 0.1631,
"predicted_OBP": 0.3694,
"predicted_R": 1.1406,
"predicted_RBI": 0.6606,
"predicted_SLG": 0.374,
"predicted_SO": 1.6516
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2442,
"after": 0.2442,
"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.5943,
"after": 5.5943,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2557,
"after": 0.2424,
"delta": -0.0133,
"percent_delta": -0.052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1167,
"after": 1.1274,
"delta": 0.0107,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3344,
"after": 1.3559,
"delta": 0.0215,
"percent_delta": 0.0161,
"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.1617,
"after": 0.1631,
"delta": 0.0014,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3472,
"after": 0.3694,
"delta": 0.0222,
"percent_delta": 0.0639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1054,
"after": 1.1406,
"delta": 0.0352,
"percent_delta": 0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6402,
"after": 0.6606,
"delta": 0.0204,
"percent_delta": 0.0319,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3881,
"after": 0.374,
"delta": -0.0141,
"percent_delta": -0.0363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6676,
"after": 1.6516,
"delta": -0.016,
"percent_delta": -0.0096,
"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.3472,
"after": 0.3694,
"delta": 0.0222,
"percent_delta": 0.0639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3881,
"after": 0.374,
"delta": -0.0141,
"percent_delta": -0.0363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.59), rates preserved: AVG=0.242 HR/AB=0.029",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2442,
"after": 0.0,
"delta": -0.2442,
"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.5943,
"after": 6.0,
"delta": 0.4057,
"percent_delta": 0.0725,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1274,
"after": 1.0,
"delta": -0.1274,
"percent_delta": -0.113,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3559,
"after": 1.0,
"delta": -0.3559,
"percent_delta": -0.2625,
"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.1631,
"after": 0.0,
"delta": -0.1631,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6606,
"after": 1.0,
"delta": 0.3394,
"percent_delta": 0.5138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6516,
"after": 2.0,
"delta": 0.3484,
"percent_delta": 0.2109,
"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": 5.5943,
"after": 6.0,
"delta": 0.4057,
"percent_delta": 0.0725,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.3559,
"after": 1.0,
"delta": -0.3559,
"percent_delta": -0.2625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.1406,
"after": 1.0,
"delta": -0.1406,
"percent_delta": -0.1233,
"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.1406,
"after": 1.0,
"delta": -0.1406,
"percent_delta": -0.1233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.167,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2424,
"after": 0.167,
"delta": -0.0754,
"percent_delta": -0.3111,
"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.3694,
"after": 0.286,
"delta": -0.0834,
"percent_delta": -0.2258,
"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.374,
"after": 0.167,
"delta": -0.207,
"percent_delta": -0.5535,
"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.374,
"after": 0.167,
"delta": -0.207,
"percent_delta": -0.5535,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2424,
"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.3694,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.374,
"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.2424,
"delta": 0.0754,
"percent_delta": 0.4513,
"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.3694,
"delta": 0.0834,
"percent_delta": 0.2918,
"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.374,
"delta": 0.207,
"percent_delta": 1.2393,
"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.374,
"delta": 0.207,
"percent_delta": 1.2393,
"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.071,
"after": 0.0,
"delta": -0.071,
"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.988,
"after": 4.0,
"delta": 1.012,
"percent_delta": 0.3387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2424,
"delta": -0.0126,
"percent_delta": -0.0494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.694,
"after": 0.0,
"delta": -0.694,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3694,
"delta": 0.0424,
"percent_delta": 0.1297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.588,
"after": 0.0,
"delta": -0.588,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.374,
"delta": -0.009,
"percent_delta": -0.0235,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "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.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.694,
"after": 0.0,
"delta": -0.694,
"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.071 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.988 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.694 | - |
| predicted_H | 0.590 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.327 | - |
| predicted_R | 0.588 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.383 | - |
| 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.244 | 0.173 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.594 | 2.606 |
| predicted_AVG | 0.256 | 0.001 |
| predicted_BB | 1.117 | 0.423 |
| predicted_H | 1.334 | 0.744 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.162 | 0.072 |
| predicted_OBP | 0.347 | 0.020 |
| predicted_R | 1.105 | 0.517 |
| predicted_RBI | 0.640 | 0.310 |
| predicted_SLG | 0.388 | 0.005 |
| predicted_SO | 1.668 | 0.668 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.244 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.594 | 0.000 |
| predicted_AVG | 0.242 | -0.013 |
| predicted_BB | 1.127 | 0.011 |
| predicted_H | 1.356 | 0.022 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.163 | 0.001 |
| predicted_OBP | 0.369 | 0.022 |
| predicted_R | 1.141 | 0.035 |
| predicted_RBI | 0.661 | 0.020 |
| predicted_SLG | 0.374 | -0.014 |
| predicted_SO | 1.652 | -0.016 |
AB rounded to 6 (raw=5.59), rates preserved: AVG=0.242 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.244 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | 0.406 |
| predicted_AVG | 0.167 | -0.075 |
| predicted_BB | 1.000 | -0.127 |
| predicted_H | 1.000 | -0.356 |
| predicted_HR | 0.000 | -0.163 |
| predicted_OBP | 0.286 | -0.083 |
| predicted_R | 1.000 | -0.141 |
| predicted_RBI | 1.000 | 0.339 |
| predicted_SLG | 0.167 | -0.207 |
| predicted_SO | 2.000 | 0.348 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -2.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 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 | 8.000 | 4.000 | 0.000 | 0.000 | 4.000 | 4.000 | 0.000 | 1.000 | 0.4211 | 0.4211 | 0.6316 | 0.4210 | 0.0000 | 0.2105 | 0.0000 | 0.0526 |
| last_10 | 0.20 | 4 | - | 35.000 | 14.000 | 4.000 | 0.000 | 1.000 | 6.000 | 9.000 | 4.000 | 6.000 | 0.4000 | 0.4615 | 0.6000 | 0.4000 | 0.0286 | 0.1714 | 0.1143 | 0.1714 |
| season | 0.60 | 26 | - | 254.000 | 55.000 | 6.000 | 0.000 | 8.000 | 24.000 | 50.000 | 59.000 | 85.000 | 0.2165 | 0.3642 | 0.3346 | 0.2165 | 0.0315 | 0.0945 | 0.2323 | 0.3347 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4790 |
| predicted_3B | 0.0030 |
| predicted_AB | 9.1290 |
| predicted_AVG | 0.2567 |
| predicted_BB | 1.6900 |
| predicted_H | 2.3440 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.2590 |
| predicted_OBP | 0.3746 |
| predicted_R | 1.8070 |
| predicted_RBI | 1.0610 |
| predicted_SLG | 0.3950 |
| predicted_SO | 2.5730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0710 | 0.4790 | 0.2442 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 2.9880 | 9.1290 | 5.5943 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2567 | 0.2557 | model_form_blend |
| predicted_BB | 0.6940 | 1.6900 | 1.1167 | model_form_blend |
| predicted_H | 0.5900 | 2.3440 | 1.3344 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.0900 | 0.2590 | 0.1617 | model_form_blend |
| predicted_OBP | 0.3270 | 0.3746 | 0.3472 | model_form_blend |
| predicted_R | 0.5880 | 1.8070 | 1.1054 | model_form_blend |
| predicted_RBI | 0.3300 | 1.0610 | 0.6402 | model_form_blend |
| predicted_SLG | 0.3830 | 0.3950 | 0.3881 | model_form_blend |
| predicted_SO | 1.0000 | 2.5730 | 1.6676 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 85 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.217 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 1 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260530_ARI@SEA |
| game_type | full |
| mlbID | 641598 |
| playerID | 641598 |
| playerName | Mitch Garver |
| pos | C |
| started | True |
| startingPosition | C |
| team | SEA |
| teamID | 25 |
| game_date | 2026-05-30 |
| sl_k_percent | 29.5 |
| sl_bb_percent | 18.2 |
| sl_woba | 0.306 |
| sl_xwoba | 0.3 |
| sl_xba | 0.181 |
| sl_xslg | 0.315 |
| sl_sweet_spot_percent | 19.6 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 54.3 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 17.1 |
| sl_whiff_percent | 34.0 |
| sl_swing_percent | 42.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.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.518 | 3.000 | 4.000 | Hitting_AB | 2.518 | 1.000 | 0.482 | 2.000 |
| predicted_AVG | 0.241 | 0.333 | 0.250 | Hitting_AVG | 0.112 | 0.000 | 0.221 | 0.333 |
| predicted_BB | 0.235 | 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.490 | 1.000 | 1.000 | Hitting_H | 0.282 | 0.000 | 0.718 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.094 | 0.000 | -0.094 | 0.000 |
| predicted_OBP | 0.259 | 0.500 | 0.250 | Hitting_OBP | 0.208 | 0.000 | 0.292 | 0.500 |
| predicted_R | 0.259 | 1.000 | 1.000 | Hitting_R | 0.259 | 0.000 | 0.741 | 1.000 |
| predicted_RBI | 0.350 | 1.000 | 1.000 | Hitting_RBI | 0.259 | 0.000 | 0.741 | 1.000 |
| predicted_SLG | 0.333 | 0.333 | 0.250 | Hitting_SLG | 0.224 | 0.000 | 0.109 | 0.333 |
| predicted_SO | 0.906 | 1.000 | 1.000 | Hitting_SO | 0.906 | 1.000 | 0.094 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 3 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_BB: 0.2350 -> 1.0000 (boost 0.7650, better) |
| Biggest Deboost | predicted_HR: 0.1000 -> 0.0000 (deboost -0.1000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 8 | 1 | 7 | 2 | predicted_AB: 2.5180 -> 3.7455 (boost 1.2275, better) | predicted_AVG: 0.2410 -> 0.2098 (deboost -0.0312, 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_SLG: 0.3551 -> 0.3620 (boost 0.0069, better) | predicted_AVG: 0.2098 -> 0.1804 (deboost -0.0294, 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_H: 0.6757 -> 1.0000 (boost 0.3243, better) | predicted_HBP: 0.3620 -> 0.0000 (deboost -0.3620, worse) | AB rounded to 4 (raw=3.75), rates preserved: AVG=0.180 HR/AB=0.059 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5009 -> 1.0000 (boost 0.4991, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1804 -> 0.2500 (boost 0.0696, better) | predicted_SLG: 0.3620 -> 0.2500 (deboost -0.1120, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3620 (boost 0.1120, better) | predicted_AVG: 0.2500 -> 0.1804 (deboost -0.0696, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "608701",
"player_name": "Rob Refsnyder",
"position": "DH",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is 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.518,
"predicted_AVG": 0.241,
"predicted_BB": 0.235,
"predicted_H": 0.49,
"predicted_HR": 0.1,
"predicted_OBP": 0.259,
"predicted_R": 0.259,
"predicted_RBI": 0.35,
"predicted_SLG": 0.333,
"predicted_SO": 0.906
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0121,
"predicted_3B": 0.0008,
"predicted_AB": 3.7455,
"predicted_AVG": 0.2098,
"predicted_BB": 0.3058,
"predicted_H": 0.665,
"predicted_HBP": 0.362,
"predicted_HR": 0.2202,
"predicted_OBP": 0.2605,
"predicted_R": 0.4855,
"predicted_RBI": 0.6824,
"predicted_SLG": 0.3551,
"predicted_SO": 1.2623
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0121,
"delta": 0.0121,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.518,
"after": 3.7455,
"delta": 1.2275,
"percent_delta": 0.4875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2098,
"delta": -0.0312,
"percent_delta": -0.1295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.235,
"after": 0.3058,
"delta": 0.0708,
"percent_delta": 0.3013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.49,
"after": 0.665,
"delta": 0.175,
"percent_delta": 0.3571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.2202,
"delta": 0.1202,
"percent_delta": 1.202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.259,
"after": 0.2605,
"delta": 0.0015,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.259,
"after": 0.4855,
"delta": 0.2265,
"percent_delta": 0.8745,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.6824,
"delta": 0.3324,
"percent_delta": 0.9497,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3551,
"delta": 0.0221,
"percent_delta": 0.0664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.906,
"after": 1.2623,
"delta": 0.3563,
"percent_delta": 0.3933,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 8,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.518,
"after": 3.7455,
"delta": 1.2275,
"percent_delta": 0.4875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2098,
"delta": -0.0312,
"percent_delta": -0.1295,
"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": 36
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0121,
"predicted_3B": 0.0008,
"predicted_AB": 3.7455,
"predicted_AVG": 0.1804,
"predicted_BB": 0.3087,
"predicted_H": 0.6757,
"predicted_HBP": 0.362,
"predicted_HR": 0.2221,
"predicted_OBP": 0.2428,
"predicted_R": 0.5009,
"predicted_RBI": 0.7041,
"predicted_SLG": 0.362,
"predicted_SO": 1.2502
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0121,
"after": 0.0121,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7455,
"after": 3.7455,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2098,
"after": 0.1804,
"delta": -0.0294,
"percent_delta": -0.1401,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3058,
"after": 0.3087,
"delta": 0.0029,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.665,
"after": 0.6757,
"delta": 0.0107,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.362,
"after": 0.362,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2202,
"after": 0.2221,
"delta": 0.0019,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2605,
"after": 0.2428,
"delta": -0.0177,
"percent_delta": -0.0679,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4855,
"after": 0.5009,
"delta": 0.0154,
"percent_delta": 0.0317,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6824,
"after": 0.7041,
"delta": 0.0217,
"percent_delta": 0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3551,
"after": 0.362,
"delta": 0.0069,
"percent_delta": 0.0194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2623,
"after": 1.2502,
"delta": -0.0121,
"percent_delta": -0.0096,
"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.3551,
"after": 0.362,
"delta": 0.0069,
"percent_delta": 0.0194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2098,
"after": 0.1804,
"delta": -0.0294,
"percent_delta": -0.1401,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.75), rates preserved: AVG=0.180 HR/AB=0.059",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0121,
"after": 0.0,
"delta": -0.0121,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7455,
"after": 4.0,
"delta": 0.2545,
"percent_delta": 0.0679,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3087,
"after": 0.0,
"delta": -0.3087,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6757,
"after": 1.0,
"delta": 0.3243,
"percent_delta": 0.4799,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.362,
"after": 0.0,
"delta": -0.362,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2221,
"after": 0.0,
"delta": -0.2221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7041,
"after": 1.0,
"delta": 0.2959,
"percent_delta": 0.4203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2502,
"after": 1.0,
"delta": -0.2502,
"percent_delta": -0.2001,
"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_H",
"before": 0.6757,
"after": 1.0,
"delta": 0.3243,
"percent_delta": 0.4799,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.362,
"after": 0.0,
"delta": -0.362,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5009,
"after": 1.0,
"delta": 0.4991,
"percent_delta": 0.9964,
"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.5009,
"after": 1.0,
"delta": 0.4991,
"percent_delta": 0.9964,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1804,
"after": 0.25,
"delta": 0.0696,
"percent_delta": 0.3858,
"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.2428,
"after": 0.25,
"delta": 0.0072,
"percent_delta": 0.0297,
"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.362,
"after": 0.25,
"delta": -0.112,
"percent_delta": -0.3094,
"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.1804,
"after": 0.25,
"delta": 0.0696,
"percent_delta": 0.3858,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.25,
"delta": -0.112,
"percent_delta": -0.3094,
"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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.1804,
"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.2428,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.362,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1804,
"delta": -0.0696,
"percent_delta": -0.2784,
"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.25,
"after": 0.2428,
"delta": -0.0072,
"percent_delta": -0.0287,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.362,
"delta": 0.112,
"percent_delta": 0.4479,
"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.362,
"delta": 0.112,
"percent_delta": 0.4479,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1804,
"delta": -0.0696,
"percent_delta": -0.2784,
"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.518,
"after": 3.0,
"delta": 0.482,
"percent_delta": 0.1914,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.1804,
"delta": -0.0606,
"percent_delta": -0.2515,
"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.49,
"after": 1.0,
"delta": 0.51,
"percent_delta": 1.0408,
"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.259,
"after": 0.2428,
"delta": -0.0162,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.259,
"after": 1.0,
"delta": 0.741,
"percent_delta": 2.861,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 1.0,
"delta": 0.65,
"percent_delta": 1.8571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.362,
"delta": 0.029,
"percent_delta": 0.0871,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.906,
"after": 1.0,
"delta": 0.094,
"percent_delta": 0.1038,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 7,
"deboosted_metrics": 3,
"better_metrics": 6,
"worse_metrics": 4,
"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_HR",
"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": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.518 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.235 | - |
| predicted_H | 0.490 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.259 | - |
| predicted_R | 0.259 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.333 | - |
| predicted_SO | 0.906 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.012 | 0.012 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.745 | 1.228 |
| predicted_AVG | 0.210 | -0.031 |
| predicted_BB | 0.306 | 0.071 |
| predicted_H | 0.665 | 0.175 |
| predicted_HBP | 0.362 | - |
| predicted_HR | 0.220 | 0.120 |
| predicted_OBP | 0.261 | 0.002 |
| predicted_R | 0.485 | 0.226 |
| predicted_RBI | 0.682 | 0.332 |
| predicted_SLG | 0.355 | 0.022 |
| predicted_SO | 1.262 | 0.356 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.012 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.745 | 0.000 |
| predicted_AVG | 0.180 | -0.029 |
| predicted_BB | 0.309 | 0.003 |
| predicted_H | 0.676 | 0.011 |
| predicted_HBP | 0.362 | 0.000 |
| predicted_HR | 0.222 | 0.002 |
| predicted_OBP | 0.243 | -0.018 |
| predicted_R | 0.501 | 0.015 |
| predicted_RBI | 0.704 | 0.022 |
| predicted_SLG | 0.362 | 0.007 |
| predicted_SO | 1.250 | -0.012 |
AB rounded to 4 (raw=3.75), rates preserved: AVG=0.180 HR/AB=0.059
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.012 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.255 |
| predicted_AVG | 0.250 | 0.070 |
| predicted_BB | 0.000 | -0.309 |
| predicted_H | 1.000 | 0.324 |
| predicted_HR | 0.000 | -0.222 |
| predicted_OBP | 0.250 | 0.007 |
| predicted_R | 1.000 | 0.499 |
| predicted_RBI | 1.000 | 0.296 |
| predicted_SLG | 0.250 | -0.112 |
| predicted_SO | 1.000 | -0.250 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.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 | 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 | - | 12.000 | 4.000 | 0.000 | 0.000 | 3.000 | 9.000 | 4.000 | 0.000 | 2.000 | 0.3333 | 0.4286 | 1.0833 | 0.3333 | 0.2500 | 0.7500 | 0.0000 | 0.1667 |
| last_10 | 0.20 | 4 | - | 24.000 | 7.000 | 0.000 | 0.000 | 3.000 | 9.000 | 7.000 | 0.000 | 11.000 | 0.2917 | 0.4688 | 0.6667 | 0.2917 | 0.1250 | 0.3750 | 0.0000 | 0.4583 |
| season | 0.60 | 36 | - | 214.000 | 24.000 | 0.000 | 0.000 | 8.000 | 22.000 | 22.000 | 20.000 | 77.000 | 0.1121 | 0.2080 | 0.2243 | 0.1121 | 0.0374 | 0.1028 | 0.0935 | 0.3598 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0290 |
| predicted_3B | 0.0020 |
| predicted_AB | 5.4500 |
| predicted_AVG | 0.1665 |
| predicted_BB | 0.4040 |
| predicted_H | 0.9080 |
| predicted_HBP | 0.3620 |
| predicted_HR | 0.3870 |
| predicted_OBP | 0.2627 |
| predicted_R | 0.8000 |
| predicted_RBI | 1.1440 |
| predicted_SLG | 0.3859 |
| predicted_SO | 1.7570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0290 | 0.0121 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.5180 | 5.4500 | 3.7455 | model_form_blend |
| predicted_AVG | 0.2410 | 0.1665 | 0.2098 | model_form_blend |
| predicted_BB | 0.2350 | 0.4040 | 0.3058 | model_form_blend |
| predicted_H | 0.4900 | 0.9080 | 0.6650 | model_form_blend |
| predicted_HBP | - | 0.3620 | 0.3620 | form_only |
| predicted_HR | 0.1000 | 0.3870 | 0.2202 | model_form_blend |
| predicted_OBP | 0.2590 | 0.2627 | 0.2605 | model_form_blend |
| predicted_R | 0.2590 | 0.8000 | 0.4855 | model_form_blend |
| predicted_RBI | 0.3500 | 1.1440 | 0.6824 | model_form_blend |
| predicted_SLG | 0.3330 | 0.3859 | 0.3551 | model_form_blend |
| predicted_SO | 0.9060 | 1.7570 | 1.2623 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 85 |
| Season rows before report date | 85 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.112 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-DH |
| gameID | 20260529_ARI@SEA |
| game_type | ph |
| mlbID | 608701 |
| note | Struck out for Canzone in the 9th. |
| playerID | 608701 |
| playerName | Rob Refsnyder |
| pos | DH |
| started | False |
| startingPosition | PH |
| team | SEA |
| teamID | 25 |
| game_date | 2026-05-29 |
| sl_k_percent | 31.4 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.201 |
| sl_xwoba | 0.265 |
| sl_xba | 0.164 |
| sl_xslg | 0.318 |
| sl_sweet_spot_percent | 27.5 |
| sl_barrel_batted_rate | 9.8 |
| sl_hard_hit_percent | 39.2 |
| sl_exit_velocity_avg | 88.0 |
| sl_launch_angle_avg | 20.1 |
| sl_whiff_percent | 26.7 |
| sl_swing_percent | 42.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.172 | 1.000 | 0.000 | Hitting_2B | 0.172 | 0.000 | 0.828 | 1.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 3.537 | 4.000 | 7.000 | Hitting_AB | 3.537 | 4.000 | 0.463 | 0.000 |
| predicted_AVG | 0.244 | 0.500 | 0.286 | Hitting_AVG | 0.243 | 0.250 | 0.257 | 0.250 |
| predicted_BB | 0.348 | 0.000 | 1.000 | Hitting_BB | 0.348 | 0.000 | -0.348 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_H | 0.860 | 2.000 | 2.000 | Hitting_H | 0.859 | 1.000 | 1.141 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.062 | 1.000 | -0.062 | -1.000 |
| predicted_OBP | 0.311 | 0.500 | 0.375 | Hitting_OBP | 0.321 | 0.250 | 0.179 | 0.250 |
| predicted_R | 0.489 | 1.000 | 1.000 | Hitting_R | 0.489 | 1.000 | 0.511 | 0.000 |
| predicted_RBI | 0.460 | 0.000 | 1.000 | Hitting_RBI | 0.480 | 1.000 | -0.480 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_SLG | 0.386 | 0.750 | 0.286 | Hitting_SLG | 0.354 | 1.000 | 0.396 | -0.250 |
| predicted_SO | 0.859 | 2.000 | 2.000 | Hitting_SO | 0.859 | 1.000 | 1.141 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 3 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_SO: 0.8590 -> 2.0000 (boost 1.1410, worse) |
| 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.5370 -> 6.8782 (boost 3.3412, 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.2566 -> 0.2684 (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 | 8 | 5 | 3 | 4 | 4 | predicted_SO: 1.5647 -> 2.0000 (boost 0.4353, worse) | predicted_2B: 0.2764 -> 0.0000 (deboost -0.2764, worse) | AB rounded to 7 (raw=6.88), rates preserved: AVG=0.268 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2766 -> 1.0000 (deboost -0.2766, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3355 -> 0.3750 (boost 0.0395, better) | predicted_SLG: 0.3960 -> 0.2860 (deboost -0.1100, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 1 | 3 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.3960 (boost 0.1100, better) | predicted_OBP: 0.3750 -> 0.3355 (deboost -0.0395, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "702284",
"player_name": "Cole Young",
"position": "2B",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.172,
"predicted_3B": 0.018,
"predicted_AB": 3.537,
"predicted_AVG": 0.244,
"predicted_BB": 0.348,
"predicted_H": 0.86,
"predicted_HR": 0.1,
"predicted_OBP": 0.311,
"predicted_R": 0.489,
"predicted_RBI": 0.46,
"predicted_SLG": 0.386,
"predicted_SO": 0.859
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2764,
"predicted_3B": 0.0286,
"predicted_AB": 6.8782,
"predicted_AVG": 0.2566,
"predicted_BB": 0.6886,
"predicted_H": 1.8167,
"predicted_HBP": 0.184,
"predicted_HR": 0.1798,
"predicted_OBP": 0.3246,
"predicted_R": 1.2373,
"predicted_RBI": 0.8861,
"predicted_SLG": 0.389,
"predicted_SO": 1.5799
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.172,
"after": 0.2764,
"delta": 0.1044,
"percent_delta": 0.607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0286,
"delta": 0.0106,
"percent_delta": 0.5889,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.537,
"after": 6.8782,
"delta": 3.3412,
"percent_delta": 0.9446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2566,
"delta": 0.0126,
"percent_delta": 0.0516,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.348,
"after": 0.6886,
"delta": 0.3406,
"percent_delta": 0.9787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 1.8167,
"delta": 0.9567,
"percent_delta": 1.1124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1798,
"delta": 0.0798,
"percent_delta": 0.798,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3246,
"delta": 0.0136,
"percent_delta": 0.0437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.489,
"after": 1.2373,
"delta": 0.7483,
"percent_delta": 1.5303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.8861,
"delta": 0.4261,
"percent_delta": 0.9263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.386,
"after": 0.389,
"delta": 0.003,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.859,
"after": 1.5799,
"delta": 0.7209,
"percent_delta": 0.8392,
"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.537,
"after": 6.8782,
"delta": 3.3412,
"percent_delta": 0.9446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 60
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2764,
"predicted_3B": 0.0286,
"predicted_AB": 6.8782,
"predicted_AVG": 0.2684,
"predicted_BB": 0.6952,
"predicted_H": 1.8459,
"predicted_HBP": 0.184,
"predicted_HR": 0.1814,
"predicted_OBP": 0.3355,
"predicted_R": 1.2766,
"predicted_RBI": 0.9143,
"predicted_SLG": 0.396,
"predicted_SO": 1.5647
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2764,
"after": 0.2764,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0286,
"after": 0.0286,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.8782,
"after": 6.8782,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2566,
"after": 0.2684,
"delta": 0.0118,
"percent_delta": 0.046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6886,
"after": 0.6952,
"delta": 0.0066,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8167,
"after": 1.8459,
"delta": 0.0292,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.184,
"after": 0.184,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1798,
"after": 0.1814,
"delta": 0.0016,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3246,
"after": 0.3355,
"delta": 0.0109,
"percent_delta": 0.0336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.2373,
"after": 1.2766,
"delta": 0.0393,
"percent_delta": 0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8861,
"after": 0.9143,
"delta": 0.0282,
"percent_delta": 0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.396,
"delta": 0.007,
"percent_delta": 0.018,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5799,
"after": 1.5647,
"delta": -0.0152,
"percent_delta": -0.0096,
"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.2566,
"after": 0.2684,
"delta": 0.0118,
"percent_delta": 0.046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.88), rates preserved: AVG=0.268 HR/AB=0.026",
"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.2764,
"after": 0.0,
"delta": -0.2764,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0286,
"after": 0.0,
"delta": -0.0286,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.8782,
"after": 7.0,
"delta": 0.1218,
"percent_delta": 0.0177,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6952,
"after": 1.0,
"delta": 0.3048,
"percent_delta": 0.4384,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.8459,
"after": 2.0,
"delta": 0.1541,
"percent_delta": 0.0835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.184,
"after": 0.0,
"delta": -0.184,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1814,
"after": 0.0,
"delta": -0.1814,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9143,
"after": 1.0,
"delta": 0.0857,
"percent_delta": 0.0937,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5647,
"after": 2.0,
"delta": 0.4353,
"percent_delta": 0.2782,
"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.5647,
"after": 2.0,
"delta": 0.4353,
"percent_delta": 0.2782,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2764,
"after": 0.0,
"delta": -0.2764,
"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.2766,
"after": 1.0,
"delta": -0.2766,
"percent_delta": -0.2167,
"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.2766,
"after": 1.0,
"delta": -0.2766,
"percent_delta": -0.2167,
"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.2684,
"after": 0.286,
"delta": 0.0176,
"percent_delta": 0.0656,
"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.3355,
"after": 0.375,
"delta": 0.0395,
"percent_delta": 0.1177,
"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.396,
"after": 0.286,
"delta": -0.11,
"percent_delta": -0.2778,
"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.3355,
"after": 0.375,
"delta": 0.0395,
"percent_delta": 0.1177,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.286,
"delta": -0.11,
"percent_delta": -0.2778,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2684,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3355,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.396,
"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.286,
"after": 0.2684,
"delta": -0.0176,
"percent_delta": -0.0616,
"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.3355,
"delta": -0.0395,
"percent_delta": -0.1052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.286,
"after": 0.396,
"delta": 0.11,
"percent_delta": 0.3846,
"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.396,
"delta": 0.11,
"percent_delta": 0.3846,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3355,
"delta": -0.0395,
"percent_delta": -0.1052,
"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.172,
"after": 1.0,
"delta": 0.828,
"percent_delta": 4.814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.537,
"after": 4.0,
"delta": 0.463,
"percent_delta": 0.1309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2684,
"delta": 0.0244,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.348,
"after": 0.0,
"delta": -0.348,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 2.0,
"delta": 1.14,
"percent_delta": 1.3256,
"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.311,
"after": 0.3355,
"delta": 0.0245,
"percent_delta": 0.0788,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.489,
"after": 1.0,
"delta": 0.511,
"percent_delta": 1.045,
"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.386,
"after": 0.396,
"delta": 0.01,
"percent_delta": 0.0259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.859,
"after": 2.0,
"delta": 1.141,
"percent_delta": 1.3283,
"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_SO",
"before": 0.859,
"after": 2.0,
"delta": 1.141,
"percent_delta": 1.3283,
"direction": "boost",
"projection_effect": "worse",
"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.172 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 3.537 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.348 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.311 | - |
| predicted_R | 0.489 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.386 | - |
| predicted_SO | 0.859 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.276 | 0.104 |
| predicted_3B | 0.029 | 0.011 |
| predicted_AB | 6.878 | 3.341 |
| predicted_AVG | 0.257 | 0.013 |
| predicted_BB | 0.689 | 0.341 |
| predicted_H | 1.817 | 0.957 |
| predicted_HBP | 0.184 | - |
| predicted_HR | 0.180 | 0.080 |
| predicted_OBP | 0.325 | 0.014 |
| predicted_R | 1.237 | 0.748 |
| predicted_RBI | 0.886 | 0.426 |
| predicted_SLG | 0.389 | 0.003 |
| predicted_SO | 1.580 | 0.721 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.276 | 0.000 |
| predicted_3B | 0.029 | 0.000 |
| predicted_AB | 6.878 | 0.000 |
| predicted_AVG | 0.268 | 0.012 |
| predicted_BB | 0.695 | 0.007 |
| predicted_H | 1.846 | 0.029 |
| predicted_HBP | 0.184 | 0.000 |
| predicted_HR | 0.181 | 0.002 |
| predicted_OBP | 0.336 | 0.011 |
| predicted_R | 1.277 | 0.039 |
| predicted_RBI | 0.914 | 0.028 |
| predicted_SLG | 0.396 | 0.007 |
| predicted_SO | 1.565 | -0.015 |
AB rounded to 7 (raw=6.88), rates preserved: AVG=0.268 HR/AB=0.026
| 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.276 |
| predicted_3B | 0.000 | -0.029 |
| predicted_AB | 7.000 | 0.122 |
| predicted_AVG | 0.286 | 0.018 |
| predicted_BB | 1.000 | 0.305 |
| predicted_H | 2.000 | 0.154 |
| predicted_HR | 0.000 | -0.181 |
| predicted_OBP | 0.375 | 0.039 |
| predicted_R | 1.000 | -0.277 |
| predicted_RBI | 1.000 | 0.086 |
| predicted_SLG | 0.286 | -0.110 |
| predicted_SO | 2.000 | 0.435 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 19.000 | 7.000 | 0.000 | 0.000 | 1.000 | 2.000 | 7.000 | 2.000 | 3.000 | 0.3684 | 0.4091 | 0.5263 | 0.3684 | 0.0526 | 0.1053 | 0.1053 | 0.1579 |
| last_10 | 0.20 | 5 | - | 37.000 | 13.000 | 0.000 | 0.000 | 1.000 | 4.000 | 16.000 | 5.000 | 8.000 | 0.3514 | 0.4000 | 0.4324 | 0.3513 | 0.0270 | 0.1081 | 0.1351 | 0.2162 |
| season | 0.60 | 60 | - | 803.000 | 195.000 | 39.000 | 4.000 | 14.000 | 109.000 | 111.000 | 79.000 | 195.000 | 0.2428 | 0.3212 | 0.3537 | 0.2428 | 0.0174 | 0.1357 | 0.0984 | 0.2428 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4090 |
| predicted_3B | 0.0420 |
| predicted_AB | 11.1190 |
| predicted_AVG | 0.2726 |
| predicted_BB | 1.1210 |
| predicted_H | 3.0310 |
| predicted_HBP | 0.1840 |
| predicted_HR | 0.2810 |
| predicted_OBP | 0.3418 |
| predicted_R | 2.1870 |
| predicted_RBI | 1.4270 |
| predicted_SLG | 0.3927 |
| predicted_SO | 2.4950 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1720 | 0.4090 | 0.2764 | model_form_blend |
| predicted_3B | 0.0180 | 0.0420 | 0.0286 | model_form_blend |
| predicted_AB | 3.5370 | 11.1190 | 6.8782 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2726 | 0.2566 | model_form_blend |
| predicted_BB | 0.3480 | 1.1210 | 0.6886 | model_form_blend |
| predicted_H | 0.8600 | 3.0310 | 1.8167 | model_form_blend |
| predicted_HBP | - | 0.1840 | 0.1840 | form_only |
| predicted_HR | 0.1000 | 0.2810 | 0.1798 | model_form_blend |
| predicted_OBP | 0.3110 | 0.3418 | 0.3246 | model_form_blend |
| predicted_R | 0.4890 | 2.1870 | 1.2373 | model_form_blend |
| predicted_RBI | 0.4600 | 1.4270 | 0.8861 | model_form_blend |
| predicted_SLG | 0.3860 | 0.3927 | 0.3890 | model_form_blend |
| predicted_SO | 0.8590 | 2.4950 | 1.5799 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 227 |
| Season rows before report date | 227 |
| Report year | 2026 |
| Profile rows used | 227 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.243 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 1 |
| 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 | 2B |
| gameID | 20260531_ARI@SEA |
| game_type | full |
| mlbID | 702284 |
| playerID | 702284 |
| playerName | Cole Young |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | SEA |
| teamID | 25 |
| game_date | 2026-05-31 |
| sl_k_percent | 21.1 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.301 |
| sl_xwoba | 0.32 |
| sl_xba | 0.256 |
| sl_xslg | 0.39 |
| sl_sweet_spot_percent | 35.8 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 37.7 |
| sl_exit_velocity_avg | 87.8 |
| sl_launch_angle_avg | 16.6 |
| sl_whiff_percent | 23.0 |
| sl_swing_percent | 47.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.155 | 0.000 | 0.000 | Hitting_2B | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_3B | 0.032 | 0.000 | 0.000 | Hitting_3B | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_AB | 3.445 | 4.000 | 6.000 | Hitting_AB | 3.423 | 3.000 | 0.577 | 1.000 |
| predicted_AVG | 0.278 | 0.500 | 0.333 | Hitting_AVG | 0.300 | 0.333 | 0.200 | 0.167 |
| predicted_BB | 0.168 | 0.000 | 0.000 | Hitting_BB | 0.167 | 1.000 | -0.167 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_H | 0.800 | 2.000 | 2.000 | Hitting_H | 1.026 | 1.000 | 0.974 | 1.000 |
| predicted_HR | 0.210 | 1.000 | 1.000 | Hitting_HR | 0.301 | 0.000 | 0.699 | 1.000 |
| predicted_OBP | 0.355 | 0.500 | 0.333 | Hitting_OBP | 0.355 | 0.600 | 0.145 | -0.100 |
| predicted_R | 0.542 | 1.000 | 1.000 | Hitting_R | 0.538 | 0.000 | 0.462 | 1.000 |
| predicted_RBI | 0.490 | 1.000 | 1.000 | Hitting_RBI | 0.821 | 0.000 | 0.179 | 1.000 |
| predicted_SLG | 0.545 | 1.250 | 0.833 | Hitting_SLG | 0.627 | 0.333 | 0.623 | 0.917 |
| predicted_SO | 1.174 | 1.000 | 2.000 | Hitting_SO | 1.167 | 0.000 | -0.167 | 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_H: 0.8000 -> 2.0000 (boost 1.2000, better) |
| Biggest Deboost | predicted_SO: 1.1740 -> 1.0000 (deboost -0.1740, 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.4450 -> 5.5141 (boost 2.0691, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.5988 -> 0.6087 (boost 0.0099, better) | predicted_OBP: 0.3659 -> 0.3247 (deboost -0.0412, 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_HR: 0.4900 -> 1.0000 (boost 0.5100, better) | predicted_HBP: 0.4670 -> 0.0000 (deboost -0.4670, worse) | AB rounded to 6 (raw=5.51), rates preserved: AVG=0.290 HR/AB=0.089 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8847 -> 1.0000 (boost 0.1153, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.6087 -> 0.8330 (boost 0.2243, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 0 | 2 | 1 | 1 | - | predicted_AB: 6.0000 -> 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.8330 -> 0.6087 (deboost -0.2243, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670042",
"player_name": "Luke Raley",
"position": "RF",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is 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.032,
"predicted_AB": 3.445,
"predicted_AVG": 0.278,
"predicted_BB": 0.168,
"predicted_H": 0.8,
"predicted_HR": 0.21,
"predicted_OBP": 0.355,
"predicted_R": 0.542,
"predicted_RBI": 0.49,
"predicted_SLG": 0.545,
"predicted_SO": 1.174
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2051,
"predicted_3B": 0.0416,
"predicted_AB": 5.5141,
"predicted_AVG": 0.2937,
"predicted_BB": 0.2817,
"predicted_H": 1.5728,
"predicted_HBP": 0.467,
"predicted_HR": 0.4857,
"predicted_OBP": 0.3659,
"predicted_R": 0.8574,
"predicted_RBI": 1.0654,
"predicted_SLG": 0.5988,
"predicted_SO": 1.7769
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.2051,
"delta": 0.0501,
"percent_delta": 0.3232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.032,
"after": 0.0416,
"delta": 0.0096,
"percent_delta": 0.3,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.445,
"after": 5.5141,
"delta": 2.0691,
"percent_delta": 0.6006,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.2937,
"delta": 0.0157,
"percent_delta": 0.0565,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.168,
"after": 0.2817,
"delta": 0.1137,
"percent_delta": 0.6768,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 1.5728,
"delta": 0.7728,
"percent_delta": 0.966,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.4857,
"delta": 0.2757,
"percent_delta": 1.3129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3659,
"delta": 0.0109,
"percent_delta": 0.0307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.542,
"after": 0.8574,
"delta": 0.3154,
"percent_delta": 0.5819,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 1.0654,
"delta": 0.5754,
"percent_delta": 1.1743,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.545,
"after": 0.5988,
"delta": 0.0538,
"percent_delta": 0.0987,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.174,
"after": 1.7769,
"delta": 0.6029,
"percent_delta": 0.5135,
"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.445,
"after": 5.5141,
"delta": 2.0691,
"percent_delta": 0.6006,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 6,
"season": 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.2051,
"predicted_3B": 0.0416,
"predicted_AB": 5.5141,
"predicted_AVG": 0.2898,
"predicted_BB": 0.2844,
"predicted_H": 1.5981,
"predicted_HBP": 0.467,
"predicted_HR": 0.49,
"predicted_OBP": 0.3247,
"predicted_R": 0.8847,
"predicted_RBI": 1.0993,
"predicted_SLG": 0.6087,
"predicted_SO": 1.7598
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2051,
"after": 0.2051,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0416,
"after": 0.0416,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.5141,
"after": 5.5141,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2937,
"after": 0.2898,
"delta": -0.0039,
"percent_delta": -0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2817,
"after": 0.2844,
"delta": 0.0027,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5728,
"after": 1.5981,
"delta": 0.0253,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.467,
"after": 0.467,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4857,
"after": 0.49,
"delta": 0.0043,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3659,
"after": 0.3247,
"delta": -0.0412,
"percent_delta": -0.1126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8574,
"after": 0.8847,
"delta": 0.0273,
"percent_delta": 0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0654,
"after": 1.0993,
"delta": 0.0339,
"percent_delta": 0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5988,
"after": 0.6087,
"delta": 0.0099,
"percent_delta": 0.0165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7769,
"after": 1.7598,
"delta": -0.0171,
"percent_delta": -0.0096,
"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.5988,
"after": 0.6087,
"delta": 0.0099,
"percent_delta": 0.0165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3659,
"after": 0.3247,
"delta": -0.0412,
"percent_delta": -0.1126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.51), rates preserved: AVG=0.290 HR/AB=0.089",
"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": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2051,
"after": 0.0,
"delta": -0.2051,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0416,
"after": 0.0,
"delta": -0.0416,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.5141,
"after": 6.0,
"delta": 0.4859,
"percent_delta": 0.0881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2844,
"after": 0.0,
"delta": -0.2844,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.5981,
"after": 2.0,
"delta": 0.4019,
"percent_delta": 0.2515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.467,
"after": 0.0,
"delta": -0.467,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.49,
"after": 1.0,
"delta": 0.51,
"percent_delta": 1.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0993,
"after": 1.0,
"delta": -0.0993,
"percent_delta": -0.0903,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7598,
"after": 2.0,
"delta": 0.2402,
"percent_delta": 0.1365,
"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_HR",
"before": 0.49,
"after": 1.0,
"delta": 0.51,
"percent_delta": 1.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.467,
"after": 0.0,
"delta": -0.467,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8847,
"after": 1.0,
"delta": 0.1153,
"percent_delta": 0.1303,
"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.8847,
"after": 1.0,
"delta": 0.1153,
"percent_delta": 0.1303,
"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": 1.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.833,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2898,
"after": 0.333,
"delta": 0.0432,
"percent_delta": 0.1491,
"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": 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.3247,
"after": 0.333,
"delta": 0.0083,
"percent_delta": 0.0256,
"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.6087,
"after": 0.833,
"delta": 0.2243,
"percent_delta": 0.3685,
"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.6087,
"after": 0.833,
"delta": 0.2243,
"percent_delta": 0.3685,
"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": 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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 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.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2898,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3247,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.6087,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2898,
"delta": -0.0432,
"percent_delta": -0.1297,
"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.333,
"after": 0.3247,
"delta": -0.0083,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.833,
"after": 0.6087,
"delta": -0.2243,
"percent_delta": -0.2693,
"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.833,
"after": 0.6087,
"delta": -0.2243,
"percent_delta": -0.2693,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.0,
"delta": -0.155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.032,
"after": 0.0,
"delta": -0.032,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.445,
"after": 4.0,
"delta": 0.555,
"percent_delta": 0.1611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.2898,
"delta": 0.0118,
"percent_delta": 0.0424,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.168,
"after": 0.0,
"delta": -0.168,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 2.0,
"delta": 1.2,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.355,
"after": 0.3247,
"delta": -0.0303,
"percent_delta": -0.0854,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.542,
"after": 1.0,
"delta": 0.458,
"percent_delta": 0.845,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 1.0,
"delta": 0.51,
"percent_delta": 1.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.545,
"after": 0.6087,
"delta": 0.0637,
"percent_delta": 0.1169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.174,
"after": 1.0,
"delta": -0.174,
"percent_delta": -0.1482,
"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_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.174,
"after": 1.0,
"delta": -0.174,
"percent_delta": -0.1482,
"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.032 | - |
| predicted_AB | 3.445 | - |
| predicted_AVG | 0.278 | - |
| predicted_BB | 0.168 | - |
| predicted_H | 0.800 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.355 | - |
| predicted_R | 0.542 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.545 | - |
| predicted_SO | 1.174 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.205 | 0.050 |
| predicted_3B | 0.042 | 0.010 |
| predicted_AB | 5.514 | 2.069 |
| predicted_AVG | 0.294 | 0.016 |
| predicted_BB | 0.282 | 0.114 |
| predicted_H | 1.573 | 0.773 |
| predicted_HBP | 0.467 | - |
| predicted_HR | 0.486 | 0.276 |
| predicted_OBP | 0.366 | 0.011 |
| predicted_R | 0.857 | 0.315 |
| predicted_RBI | 1.065 | 0.575 |
| predicted_SLG | 0.599 | 0.054 |
| predicted_SO | 1.777 | 0.603 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.205 | 0.000 |
| predicted_3B | 0.042 | 0.000 |
| predicted_AB | 5.514 | 0.000 |
| predicted_AVG | 0.290 | -0.004 |
| predicted_BB | 0.284 | 0.003 |
| predicted_H | 1.598 | 0.025 |
| predicted_HBP | 0.467 | 0.000 |
| predicted_HR | 0.490 | 0.004 |
| predicted_OBP | 0.325 | -0.041 |
| predicted_R | 0.885 | 0.027 |
| predicted_RBI | 1.099 | 0.034 |
| predicted_SLG | 0.609 | 0.010 |
| predicted_SO | 1.760 | -0.017 |
AB rounded to 6 (raw=5.51), rates preserved: AVG=0.290 HR/AB=0.089
| 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 | 1.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.205 |
| predicted_3B | 0.000 | -0.042 |
| predicted_AB | 6.000 | 0.486 |
| predicted_AVG | 0.333 | 0.043 |
| predicted_BB | 0.000 | -0.284 |
| predicted_H | 2.000 | 0.402 |
| predicted_HR | 1.000 | 0.510 |
| predicted_OBP | 0.333 | 0.008 |
| predicted_R | 1.000 | 0.115 |
| predicted_RBI | 1.000 | -0.099 |
| predicted_SLG | 0.833 | 0.224 |
| predicted_SO | 2.000 | 0.240 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 1.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 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 14.000 | 5.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 1.000 | 3.000 | 0.3571 | 0.4706 | 0.7857 | 0.3571 | 0.1429 | 0.1429 | 0.0714 | 0.2143 |
| last_10 | 0.20 | 6 | - | 35.000 | 13.000 | 0.000 | 0.000 | 6.000 | 10.000 | 6.000 | 1.000 | 12.000 | 0.3714 | 0.4211 | 0.8857 | 0.3714 | 0.1714 | 0.2857 | 0.0286 | 0.3429 |
| season | 0.60 | 53 | - | 534.000 | 160.000 | 24.000 | 5.000 | 47.000 | 128.000 | 84.000 | 26.000 | 182.000 | 0.2996 | 0.3552 | 0.6273 | 0.2996 | 0.0880 | 0.2397 | 0.0487 | 0.3408 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2700 |
| predicted_3B | 0.0540 |
| predicted_AB | 8.1950 |
| predicted_AVG | 0.3141 |
| predicted_BB | 0.4290 |
| predicted_H | 2.5740 |
| predicted_HBP | 0.4670 |
| predicted_HR | 0.8430 |
| predicted_OBP | 0.3800 |
| predicted_R | 1.2660 |
| predicted_RBI | 1.8110 |
| predicted_SLG | 0.6686 |
| predicted_SO | 2.5580 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1550 | 0.2700 | 0.2051 | model_form_blend |
| predicted_3B | 0.0320 | 0.0540 | 0.0416 | model_form_blend |
| predicted_AB | 3.4450 | 8.1950 | 5.5141 | model_form_blend |
| predicted_AVG | 0.2780 | 0.3141 | 0.2937 | model_form_blend |
| predicted_BB | 0.1680 | 0.4290 | 0.2817 | model_form_blend |
| predicted_H | 0.8000 | 2.5740 | 1.5728 | model_form_blend |
| predicted_HBP | - | 0.4670 | 0.4670 | form_only |
| predicted_HR | 0.2100 | 0.8430 | 0.4857 | model_form_blend |
| predicted_OBP | 0.3550 | 0.3800 | 0.3659 | model_form_blend |
| predicted_R | 0.5420 | 1.2660 | 0.8574 | model_form_blend |
| predicted_RBI | 0.4900 | 1.8110 | 1.0654 | model_form_blend |
| predicted_SLG | 0.5450 | 0.6686 | 0.5988 | model_form_blend |
| predicted_SO | 1.1740 | 2.5580 | 1.7769 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 156 |
| Season rows before report date | 156 |
| Report year | 2026 |
| Profile rows used | 155 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.3 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 1 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260531_ARI@SEA |
| game_type | full |
| mlbID | 670042 |
| playerID | 670042 |
| playerName | Luke Raley |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | SEA |
| teamID | 25 |
| game_date | 2026-05-31 |
| sl_k_percent | 32.9 |
| sl_bb_percent | 5.0 |
| sl_woba | 0.401 |
| sl_xwoba | 0.394 |
| sl_xba | 0.275 |
| sl_xslg | 0.593 |
| sl_sweet_spot_percent | 41.1 |
| sl_barrel_batted_rate | 21.1 |
| sl_hard_hit_percent | 50.5 |
| sl_exit_velocity_avg | 91.0 |
| sl_launch_angle_avg | 15.5 |
| sl_whiff_percent | 42.0 |
| sl_swing_percent | 54.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.333 | 0.000 | 0.000 | Hitting_2B | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_3B | 0.111 | 0.000 | 0.000 | Hitting_3B | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_AB | 3.194 | 3.000 | 5.000 | Hitting_AB | 3.194 | 3.000 | -0.194 | 0.000 |
| predicted_AVG | 0.249 | 0.000 | 0.200 | Hitting_AVG | 0.287 | 0.333 | -0.287 | -0.333 |
| predicted_BB | 0.361 | 1.000 | 1.000 | Hitting_BB | 0.361 | 1.000 | 0.639 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.710 | 0.000 | 1.000 | Hitting_H | 0.917 | 1.000 | -0.917 | -1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.139 | 0.000 | -0.139 | 0.000 |
| predicted_OBP | 0.321 | 0.250 | 0.333 | Hitting_OBP | 0.374 | 0.500 | -0.124 | -0.250 |
| predicted_R | 0.556 | 0.000 | 1.000 | Hitting_R | 0.556 | 0.000 | -0.556 | 0.000 |
| predicted_RBI | 0.420 | 0.000 | 1.000 | Hitting_RBI | 0.694 | 0.000 | -0.694 | 0.000 |
| predicted_SLG | 0.439 | 0.000 | 0.200 | Hitting_SLG | 0.591 | 0.333 | -0.591 | -0.333 |
| predicted_SO | 0.778 | 1.000 | 1.000 | Hitting_SO | 0.778 | 1.000 | 0.222 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.3610 -> 1.0000 (boost 0.6390, better) |
| Biggest Deboost | predicted_H: 0.7100 -> 0.0000 (deboost -0.7100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 12 | 12 | 0 | 11 | 1 | predicted_AB: 3.1940 -> 4.7531 (boost 1.5591, 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.4943 -> 0.5519 (boost 0.0576, 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_BB: 0.4970 -> 1.0000 (boost 0.5030, better) | predicted_2B: 0.4070 -> 0.0000 (deboost -0.4070, worse) | AB rounded to 5 (raw=4.75), rates preserved: AVG=0.265 HR/AB=0.040 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8210 -> 1.0000 (boost 0.1790, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.5519 -> 0.2000 (deboost -0.3519, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2000 -> 0.5519 (boost 0.3519, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "806068",
"player_name": "Colt Emerson",
"position": "3B",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.333,
"predicted_3B": 0.111,
"predicted_AB": 3.194,
"predicted_AVG": 0.249,
"predicted_BB": 0.361,
"predicted_H": 0.71,
"predicted_HR": 0.11,
"predicted_OBP": 0.321,
"predicted_R": 0.556,
"predicted_RBI": 0.42,
"predicted_SLG": 0.439,
"predicted_SO": 0.778
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.407,
"predicted_3B": 0.1933,
"predicted_AB": 4.7531,
"predicted_AVG": 0.2643,
"predicted_BB": 0.4923,
"predicted_H": 1.2408,
"predicted_HBP": 0.126,
"predicted_HR": 0.1879,
"predicted_OBP": 0.3369,
"predicted_R": 0.7957,
"predicted_RBI": 0.8543,
"predicted_SLG": 0.4943,
"predicted_SO": 1.2237
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.333,
"after": 0.407,
"delta": 0.074,
"percent_delta": 0.2222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.111,
"after": 0.1933,
"delta": 0.0823,
"percent_delta": 0.7414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.194,
"after": 4.7531,
"delta": 1.5591,
"percent_delta": 0.4881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2643,
"delta": 0.0153,
"percent_delta": 0.0614,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.361,
"after": 0.4923,
"delta": 0.1313,
"percent_delta": 0.3637,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 1.2408,
"delta": 0.5308,
"percent_delta": 0.7476,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1879,
"delta": 0.0779,
"percent_delta": 0.7082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3369,
"delta": 0.0159,
"percent_delta": 0.0495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.556,
"after": 0.7957,
"delta": 0.2397,
"percent_delta": 0.4311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.8543,
"delta": 0.4343,
"percent_delta": 1.034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.4943,
"delta": 0.0553,
"percent_delta": 0.126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.778,
"after": 1.2237,
"delta": 0.4457,
"percent_delta": 0.5729,
"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.194,
"after": 4.7531,
"delta": 1.5591,
"percent_delta": 0.4881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 13
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.407,
"predicted_3B": 0.1933,
"predicted_AB": 4.7531,
"predicted_AVG": 0.2653,
"predicted_BB": 0.497,
"predicted_H": 1.2608,
"predicted_HBP": 0.126,
"predicted_HR": 0.1896,
"predicted_OBP": 0.3348,
"predicted_R": 0.821,
"predicted_RBI": 0.8815,
"predicted_SLG": 0.5519,
"predicted_SO": 1.212
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.407,
"after": 0.407,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1933,
"after": 0.1933,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.7531,
"after": 4.7531,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2643,
"after": 0.2653,
"delta": 0.001,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4923,
"after": 0.497,
"delta": 0.0047,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2408,
"after": 1.2608,
"delta": 0.02,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.126,
"after": 0.126,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1879,
"after": 0.1896,
"delta": 0.0017,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3369,
"after": 0.3348,
"delta": -0.0021,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7957,
"after": 0.821,
"delta": 0.0253,
"percent_delta": 0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8543,
"after": 0.8815,
"delta": 0.0272,
"percent_delta": 0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4943,
"after": 0.5519,
"delta": 0.0576,
"percent_delta": 0.1165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2237,
"after": 1.212,
"delta": -0.0117,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_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.4943,
"after": 0.5519,
"delta": 0.0576,
"percent_delta": 0.1165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.75), rates preserved: AVG=0.265 HR/AB=0.040",
"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.407,
"after": 0.0,
"delta": -0.407,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1933,
"after": 0.0,
"delta": -0.1933,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.7531,
"after": 5.0,
"delta": 0.2469,
"percent_delta": 0.0519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.497,
"after": 1.0,
"delta": 0.503,
"percent_delta": 1.0121,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2608,
"after": 1.0,
"delta": -0.2608,
"percent_delta": -0.2069,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.126,
"after": 0.0,
"delta": -0.126,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1896,
"after": 0.0,
"delta": -0.1896,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8815,
"after": 1.0,
"delta": 0.1185,
"percent_delta": 0.1344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.212,
"after": 1.0,
"delta": -0.212,
"percent_delta": -0.1749,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.497,
"after": 1.0,
"delta": 0.503,
"percent_delta": 1.0121,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.407,
"after": 0.0,
"delta": -0.407,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.821,
"after": 1.0,
"delta": 0.179,
"percent_delta": 0.218,
"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.821,
"after": 1.0,
"delta": 0.179,
"percent_delta": 0.218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2653,
"after": 0.2,
"delta": -0.0653,
"percent_delta": -0.2461,
"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.3348,
"after": 0.333,
"delta": -0.0018,
"percent_delta": -0.0054,
"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.5519,
"after": 0.2,
"delta": -0.3519,
"percent_delta": -0.6376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5519,
"after": 0.2,
"delta": -0.3519,
"percent_delta": -0.6376,
"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": 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": 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.2653,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3348,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5519,
"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.2,
"after": 0.2653,
"delta": 0.0653,
"percent_delta": 0.3263,
"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.3348,
"delta": 0.0018,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.5519,
"delta": 0.3519,
"percent_delta": 1.7593,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.5519,
"delta": 0.3519,
"percent_delta": 1.7593,
"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.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.111,
"after": 0.0,
"delta": -0.111,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.194,
"after": 3.0,
"delta": -0.194,
"percent_delta": -0.0607,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2653,
"delta": 0.0163,
"percent_delta": 0.0655,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.361,
"after": 1.0,
"delta": 0.639,
"percent_delta": 1.7701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 0.0,
"delta": -0.71,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3348,
"delta": 0.0138,
"percent_delta": 0.043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.556,
"after": 0.0,
"delta": -0.556,
"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.439,
"after": 0.5519,
"delta": 0.1129,
"percent_delta": 0.2572,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.778,
"after": 1.0,
"delta": 0.222,
"percent_delta": 0.2853,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 5,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.361,
"after": 1.0,
"delta": 0.639,
"percent_delta": 1.7701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.71,
"after": 0.0,
"delta": -0.71,
"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.333 | - |
| predicted_3B | 0.111 | - |
| predicted_AB | 3.194 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.361 | - |
| predicted_H | 0.710 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.556 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.439 | - |
| predicted_SO | 0.778 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.407 | 0.074 |
| predicted_3B | 0.193 | 0.082 |
| predicted_AB | 4.753 | 1.559 |
| predicted_AVG | 0.264 | 0.015 |
| predicted_BB | 0.492 | 0.131 |
| predicted_H | 1.241 | 0.531 |
| predicted_HBP | 0.126 | - |
| predicted_HR | 0.188 | 0.078 |
| predicted_OBP | 0.337 | 0.016 |
| predicted_R | 0.796 | 0.240 |
| predicted_RBI | 0.854 | 0.434 |
| predicted_SLG | 0.494 | 0.055 |
| predicted_SO | 1.224 | 0.446 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.407 | 0.000 |
| predicted_3B | 0.193 | 0.000 |
| predicted_AB | 4.753 | 0.000 |
| predicted_AVG | 0.265 | 0.001 |
| predicted_BB | 0.497 | 0.005 |
| predicted_H | 1.261 | 0.020 |
| predicted_HBP | 0.126 | 0.000 |
| predicted_HR | 0.190 | 0.002 |
| predicted_OBP | 0.335 | -0.002 |
| predicted_R | 0.821 | 0.025 |
| predicted_RBI | 0.881 | 0.027 |
| predicted_SLG | 0.552 | 0.058 |
| predicted_SO | 1.212 | -0.012 |
AB rounded to 5 (raw=4.75), rates preserved: AVG=0.265 HR/AB=0.040
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.407 |
| predicted_3B | 0.000 | -0.193 |
| predicted_AB | 5.000 | 0.247 |
| predicted_AVG | 0.200 | -0.065 |
| predicted_BB | 1.000 | 0.503 |
| predicted_H | 1.000 | -0.261 |
| predicted_HR | 0.000 | -0.190 |
| predicted_OBP | 0.333 | -0.002 |
| predicted_R | 1.000 | 0.179 |
| predicted_RBI | 1.000 | 0.119 |
| predicted_SLG | 0.200 | -0.352 |
| predicted_SO | 1.000 | -0.212 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -2.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 18.000 | 6.000 | 0.000 | 2.000 | 1.000 | 5.000 | 3.000 | 1.000 | 7.000 | 0.3333 | 0.3684 | 0.7222 | 0.3333 | 0.0556 | 0.2778 | 0.0556 | 0.3889 |
| last_10 | 0.20 | 5 | - | 35.000 | 10.000 | 0.000 | 4.000 | 1.000 | 9.000 | 5.000 | 4.000 | 12.000 | 0.2857 | 0.3590 | 0.6000 | 0.2857 | 0.0286 | 0.2571 | 0.1143 | 0.3429 |
| season | 0.60 | 13 | - | 115.000 | 33.000 | 12.000 | 4.000 | 5.000 | 25.000 | 20.000 | 13.000 | 28.000 | 0.2870 | 0.3740 | 0.5913 | 0.2870 | 0.0435 | 0.2174 | 0.1130 | 0.2435 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5200 |
| predicted_3B | 0.3190 |
| predicted_AB | 7.1360 |
| predicted_AVG | 0.2876 |
| predicted_BB | 0.6930 |
| predicted_H | 2.0520 |
| predicted_HBP | 0.1260 |
| predicted_HR | 0.3070 |
| predicted_OBP | 0.3612 |
| predicted_R | 1.1620 |
| predicted_RBI | 1.5180 |
| predicted_SLG | 0.5788 |
| predicted_SO | 1.9050 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3330 | 0.5200 | 0.4070 | model_form_blend |
| predicted_3B | 0.1110 | 0.3190 | 0.1933 | model_form_blend |
| predicted_AB | 3.1940 | 7.1360 | 4.7531 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2876 | 0.2643 | model_form_blend |
| predicted_BB | 0.3610 | 0.6930 | 0.4923 | model_form_blend |
| predicted_H | 0.7100 | 2.0520 | 1.2408 | model_form_blend |
| predicted_HBP | - | 0.1260 | 0.1260 | form_only |
| predicted_HR | 0.1100 | 0.3070 | 0.1879 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3612 | 0.3369 | model_form_blend |
| predicted_R | 0.5560 | 1.1620 | 0.7957 | model_form_blend |
| predicted_RBI | 0.4200 | 1.5180 | 0.8543 | model_form_blend |
| predicted_SLG | 0.4390 | 0.5788 | 0.4943 | model_form_blend |
| predicted_SO | 0.7780 | 1.9050 | 1.2237 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 36 |
| Season rows before report date | 36 |
| Report year | 2026 |
| Profile rows used | 36 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.287 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260531_ARI@SEA |
| game_type | full |
| mlbID | 806068 |
| playerID | 806068 |
| playerName | Colt Emerson |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | SEA |
| teamID | 25 |
| game_date | 2026-05-31 |
| sl_k_percent | 27.9 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.368 |
| sl_xwoba | 0.283 |
| sl_xba | 0.203 |
| sl_xslg | 0.327 |
| sl_sweet_spot_percent | 46.2 |
| sl_barrel_batted_rate | 3.8 |
| sl_hard_hit_percent | 34.6 |
| sl_exit_velocity_avg | 88.1 |
| sl_launch_angle_avg | 17.9 |
| sl_whiff_percent | 24.7 |
| sl_swing_percent | 46.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.364 | 2.000 | -1.364 | -2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 1.818 | 0.000 | -1.818 | 0.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 4.545 | 1.000 | -2.545 | 1.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 5.836 | 6.000 | 0.164 | 0.000 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 5.727 | 3.000 | 0.273 | 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: 5.0000 -> 6.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: 5.0000 -> 6.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": "676106",
"player_name": "Emerson Hancock",
"position": "Starter",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement 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": 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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.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": 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.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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"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": 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": 6.0,
"predicted_R": 0.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": 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.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": 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.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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"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": 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 | 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 | 0.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 |
| predicted_H | 2.000 | 0.000 |
| predicted_HR | 0.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.000 | 9.000 | 22.000 | 9.000 | 31.000 | 1.000 | 2.7000 | 1.0333 | 0.3000 | 0.7333 | 0.3000 | 1.0333 | 0.0333 |
| last_10 | 0.35 | 10 | 58.200 | 20.000 | 50.000 | 14.000 | 54.000 | 8.000 | 3.0682 | 1.0909 | 0.3409 | 0.8523 | 0.2386 | 0.9204 | 0.1364 |
| season | 0.20 | 11 | 64.200 | 20.000 | 50.000 | 15.000 | 63.000 | 8.000 | 2.7835 | 1.0052 | 0.3093 | 0.7732 | 0.2320 | 0.9742 | 0.1237 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7840 |
| predicted_ER | 2.1970 |
| predicted_ERA | 3.2962 |
| predicted_H | 5.0110 |
| predicted_HR | 0.6120 |
| predicted_IP | 6.0000 |
| predicted_SO | 5.8140 |
| predicted_WHIP | 1.1325 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.7840 | 0.9241 | model_form_blend |
| predicted_ER | 0.0000 | 2.1970 | 1.1380 | model_form_blend |
| predicted_ERA | - | 3.2962 | 3.2962 | form_only |
| predicted_H | 2.0000 | 5.0110 | 3.5596 | model_form_blend |
| predicted_HR | 0.0000 | 0.6120 | 0.3170 | model_form_blend |
| predicted_IP | 6.0000 | 6.0000 | 6.0000 | model_form_blend |
| predicted_SO | 5.0000 | 5.8140 | 5.4216 | model_form_blend |
| predicted_WHIP | - | 1.1325 | 1.1325 | 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 | 2 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 6 |
| HR | 0 |
| BF | 20 |
| 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 | 22 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.78 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 6 |
| Pitching_H | 1 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 87 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 56 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260526_SEA@OAK |
| game_type | full |
| mlbID | 676106 |
| playerID | 676106 |
| playerName | Emerson Hancock |
| pos | P |
| started | True |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-05-26 |
| game_pk | 825004.0 |
| sl_k_percent | 25.1 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.281 |
| sl_xwoba | 0.319 |
| sl_sweet_spot_percent | 31.8 |
| sl_barrel_batted_rate | 9.5 |
| sl_hard_hit_percent | 42.9 |
| sl_whiff_percent | 23.8 |
| sl_swing_percent | 52.6 |
| sv_pitch_count | 87.0 |
| sv_outs_recorded_est | 18.0 |
| sv_release_speed | 89.92183908045976 |
| sv_release_spin_rate | 2334.022988505747 |
| sv_effective_speed | 89.44022988505748 |
| sv_launch_speed | 77.88055555555555 |
| sv_launch_angle | 15.72222222222222 |
| sv_woba_value | 3.0 |
| sv_woba_denom | 22.0 |
| sv_delta_run_exp | -2.882 |
| sv_delta_home_win_exp | -0.264 |
| sl_avg_best_speed | 78.620295357 |
| sl_avg_hyper_speed | 94.769129464 |
| 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.235 | 2.000 | 1.765 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.059 | 1.000 | -0.059 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.471 | 2.000 | 0.529 | -1.000 |
| predicted_IP | 2.000 | 2.000 | 2.000 | Pitching_InningsPitched | 0.741 | 0.200 | 1.259 | 1.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.706 | 1.000 | 0.294 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_IP: 1.0000 -> 2.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_IP: 1.0000 -> 2.0000 (boost 1.0000, better) | 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": "666374",
"player_name": "Matt Brash",
"position": "Middle Reliever",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement 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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 2.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "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 | 2.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 1.000 | 5.000 | 2.000 | 7.000 | 0.000 | 1.9286 | 1.5000 | 0.2143 | 1.0714 | 0.4286 | 1.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 8.100 | 1.000 | 5.000 | 3.000 | 8.000 | 0.000 | 1.0800 | 0.9600 | 0.1200 | 0.6000 | 0.3600 | 0.9600 | 0.0000 |
| season | 0.20 | 16 | 14.000 | 1.000 | 8.000 | 4.000 | 12.000 | 0.000 | 0.6429 | 0.8571 | 0.0714 | 0.5714 | 0.2857 | 0.8571 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3560 |
| predicted_ER | 0.3460 |
| predicted_ERA | 3.2509 |
| predicted_H | 0.8620 |
| predicted_HR | 0.0830 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9840 |
| predicted_WHIP | 1.2702 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.3560 | 1.3788 | model_form_blend |
| predicted_ER | 0.0000 | 0.3460 | 0.1307 | model_form_blend |
| predicted_ERA | - | 3.2509 | 3.2509 | form_only |
| predicted_H | 1.0000 | 0.8620 | 0.9479 | model_form_blend |
| predicted_HR | 0.0000 | 0.0830 | 0.0314 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.9840 | 1.6161 | model_form_blend |
| predicted_WHIP | - | 1.2702 | 1.2702 | 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 | 16 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 2.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 2 |
| SO | 1 |
| HR | 0 |
| BF | 9 |
| Pitches | 36 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 1 |
| Pitching_ERA | 0.64 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 22 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260529_ARI@SEA |
| game_type | full |
| mlbID | 666374 |
| playerID | 666374 |
| playerName | Matt Brash |
| pos | P |
| started | False |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-05-29 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.211 |
| sl_xwoba | 0.31 |
| sl_sweet_spot_percent | 44.4 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 41.7 |
| sl_whiff_percent | 33.3 |
| sl_swing_percent | 41.9 |
| sl_avg_best_speed | 80.667676667 |
| sl_avg_hyper_speed | 94.822307714 |
| 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.107 | 0.000 | -0.107 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.179 | 0.000 | 1.821 | 2.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 1.036 | 1.000 | 1.964 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.800 | 0.200 | 0.200 | 0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.786 | 0.000 | 0.214 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.6667 -> 1.0000 (boost 0.3333, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.6667 -> 1.0000 (boost 0.3333, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "678606",
"player_name": "José A. Ferrer",
"position": "Middle Reliever",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement 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": 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": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.5,
"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": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.4999,
"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": 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 | 2.000 | - |
| predicted_H | 3.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.100 | 1.000 | 3.000 | 0.000 | 4.000 | 1.000 | 2.7000 | 0.9000 | 0.3000 | 0.9000 | 0.0000 | 1.2000 | 0.3000 |
| last_10 | 0.35 | 10 | 8.200 | 1.000 | 6.000 | 0.000 | 9.000 | 1.000 | 1.0385 | 0.6923 | 0.1154 | 0.6923 | 0.0000 | 1.0385 | 0.1154 |
| season | 0.20 | 27 | 25.200 | 5.000 | 28.000 | 3.000 | 22.000 | 1.000 | 1.7532 | 1.2078 | 0.1948 | 1.0909 | 0.1169 | 0.8571 | 0.0390 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1480 |
| predicted_ER | 0.2610 |
| predicted_ERA | 3.1008 |
| predicted_H | 0.6890 |
| predicted_HR | 0.1200 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7650 |
| predicted_WHIP | 1.1024 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1480 | 0.0651 | model_form_blend |
| predicted_ER | 2.0000 | 0.2610 | 1.2347 | model_form_blend |
| predicted_ERA | - | 3.1008 | 3.1008 | form_only |
| predicted_H | 3.0000 | 0.6890 | 1.9829 | model_form_blend |
| predicted_HR | 0.0000 | 0.1200 | 0.0528 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7650 | 0.8966 | model_form_blend |
| predicted_WHIP | - | 1.1024 | 1.1024 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 28 |
| Season rows before report date | 28 |
| Report year | 2026 |
| Profile rows used | 27 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 3 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 6 |
| 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 | 1.75 |
| 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 | 0.2 |
| Pitching_Pitches | 12 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260529_ARI@SEA |
| game_type | full |
| mlbID | 678606 |
| playerID | 678606 |
| playerName | José A. Ferrer |
| pos | P |
| started | False |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-05-29 |
| sl_k_percent | 19.8 |
| sl_bb_percent | 2.7 |
| sl_woba | 0.303 |
| sl_xwoba | 0.241 |
| sl_sweet_spot_percent | 28.9 |
| sl_barrel_batted_rate | 2.4 |
| sl_hard_hit_percent | 33.7 |
| sl_whiff_percent | 22.9 |
| sl_swing_percent | 54.8 |
| sl_avg_best_speed | 73.185824634 |
| sl_avg_hyper_speed | 92.640910617 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | SF 1 - 3 MIL | MIL | 0.619 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | SF 2 - 4 MIL | MIL | - | advisory_box_score_draw | False |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 6.7000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.6192 |
| 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.061 | 4.503 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 5 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 1 | 3 | 0.6192 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 1 | 3 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 1 | 3 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 2 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.601973524390244,
"base_low_score_probability": 0.42784552845528456,
"low_score_signal_threshold": 0.5078455284552845,
"low_score_signal_strength": 0.17412799593495942,
"confidence": 0.803494,
"factors": {
"environmental": 0.969,
"pitcher_form": 1.4520000000000002,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.4069880000000001
},
"prediction": "low_scoring",
"expected_total_runs": 4,
"pre_simulation_expected_total_runs": 6.7,
"low_score_model_expected_total_runs": 6.7,
"final_simulation_total_runs": 6,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 74,
"near_bucket_sample_size": 0,
"medium_bucket_sample_size": 0,
"wide_bucket_sample_size": 0,
"global_sample_size": 74,
"bucket_scope": "global_fallback",
"sparse_bucket": false,
"empirical_hit_rate": 0.5676,
"bayesian_hit_rate": 0.5543,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8043,
"confidence_cap": 0.78,
"raw_pick_probability": 0.7496,
"calibrated_pick_probability": 0.6192,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "MIL",
"games": 56,
"wins": 35,
"losses": 21,
"win_pct": 0.625,
"runs_scored": 268,
"runs_allowed": 194,
"run_differential": 74,
"run_differential_per_game": 1.3214285714285714,
"available": true
},
"away": {
"team": "SF",
"games": 59,
"wins": 23,
"losses": 36,
"win_pct": 0.3898305084745763,
"runs_scored": 232,
"runs_allowed": 280,
"run_differential": -48,
"run_differential_per_game": -0.8135593220338984,
"available": true
},
"run_differential_edge_per_game": 2.135,
"win_pct_edge": 0.2352,
"quality_edge": 2.4877,
"margin_adjustment": 1.0449,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 0.52,
"home_runs": 3.457,
"home_win_probability": 0.7496
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "MIL",
"guardrail_predicted_team": "MIL",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "MIL",
"output_opponent_team": "SF",
"final_score_winner": "MIL",
"pre_simulation_winner": "MIL",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 3,
"score_text": "SF 1 - 3 MIL",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "SF 2 - 4 MIL",
"winner": "MIL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 1,
"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": "MIL",
"games": 56,
"wins": 35,
"losses": 21,
"win_pct": 0.625,
"runs_scored": 268,
"runs_allowed": 194,
"run_differential": 74,
"run_differential_per_game": 1.3214285714285714,
"available": true
},
"away": {
"team": "SF",
"games": 59,
"wins": 23,
"losses": 36,
"win_pct": 0.3898305084745763,
"runs_scored": 232,
"runs_allowed": 280,
"run_differential": -48,
"run_differential_per_game": -0.8135593220338984,
"available": true
}
}
}{
"applied": false,
"raw_margin": 2.9363,
"final_margin": 2.9363,
"margin_cap": 4.25,
"season_quality_edge": 2.4877,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.619198,
"final_confidence": 0.619198,
"confidence_cap": 0.66,
"score_gap": 2.9363,
"calibration_sample_size": 74,
"calibration_empirical_hit_rate": 0.5676,
"calibration_bayesian_hit_rate": 0.5543,
"calibration_sparse_bucket": false,
"season_quality_edge": 2.4877,
"reasons": [
"unvalidated probabilities are capped for production display",
"local calibration sample has at least 30 games",
"local calibration sample has at least 60 games",
"season run-differential edge supports the pick",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 3,
"score_text": "SF 1 - 3 MIL",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "SF 2 - 4 MIL",
"winner": "MIL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 1,
"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": 1,
"home_runs": 3,
"confidence": 0.619198,
"home_win_probability": 0.619198,
"away_win_probability": 0.380802,
"predicted_score_text": "SF 1 - 3 MIL",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "SF",
"original_runs": 1,
"run_delta": -0.3349,
"adjusted_runs": 1,
"lineup": {
"players_used": 9,
"total_weight": 62.0,
"quality": -0.07591129150786498,
"contact": 0.020338573074040453,
"power": 0.030558331679334104,
"discipline": -0.2073019728384915,
"xwoba": 0.31548387096774194,
"recent_xwoba": 0.31548387096774194,
"barrel": 8.266129032258064,
"ab_hard_contact": -0.31700848162070877,
"ab_bat_speed": 69.60464861010654,
"ab_strikeout_rate": 0.20779989561464002,
"available_players": 8,
"top_players": [
{
"player_id": "656305",
"player_name": "Matt Chapman",
"position": "3B",
"weight": 8.0,
"quality": -0.8256271464540921,
"contact": -0.9700582863170704,
"power": -0.9801677411913756,
"discipline": 0.07777623948378652,
"xwoba": 0.263,
"recent_xwoba": 0.263,
"barrel": 4.4,
"ab_hard_contact": -0.5500214904941911,
"ab_bat_speed": 74.09591194968554,
"ab_strikeout_rate": 0.2362778730703259,
"available": 1.0
},
{
"player_id": "669477",
"player_name": "Casey Schmitt",
"position": "LF",
"weight": 8.0,
"quality": 0.6319512154933353,
"contact": 0.7814006691969947,
"power": 1.3072481436077272,
"discipline": -0.5155587238848108,
"xwoba": 0.358,
"recent_xwoba": 0.358,
"barrel": 15.1,
"ab_hard_contact": -0.09237046117881055,
"ab_bat_speed": 70.20570686680469,
"ab_strikeout_rate": 0.2028985507246377,
"available": 1.0
},
{
"player_id": "813841",
"player_name": "Jonah Cox",
"position": "CF",
"weight": 3.0,
"quality": -0.001759576347723595,
"contact": -1.7999999999999998,
"power": -2.0,
"discipline": 0.1374999999999999,
"xwoba": 0.314,
"recent_xwoba": 0.314,
"barrel": 7.8,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.27612500000001,
"ab_strikeout_rate": 0.22291666666666665,
"available": 0.0
},
{
"player_id": "805811",
"player_name": "Bryce Eldridge",
"position": "1B",
"weight": 5.0,
"quality": 0.22662464397145052,
"contact": 1.2409620584309486,
"power": 1.1309949043755274,
"discipline": 0.35883982683982674,
"xwoba": 0.364,
"recent_xwoba": 0.364,
"barrel": 10.5,
"ab_hard_contact": -0.339530483918034,
"ab_bat_speed": 73.21211734693877,
"ab_strikeout_rate": 0.30357142857142855,
"available": 1.0
},
{
"player_id": "650333",
"player_name": "Luis Arraez",
"position": "2B",
"weight": 8.0,
"quality": -0.22794655590472318,
"contact": 0.25511204045709246,
"power": -0.9584170940039428,
"discipline": 0.7785457091927679,
"xwoba": 0.312,
"recent_xwoba": 0.312,
"barrel": 0.0,
"ab_hard_contact": -0.6540561657931544,
"ab_bat_speed": 61.88162153750389,
"ab_strikeout_rate": 0.03529411764705882,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "675660",
"player_name": "Shane Drohan",
"quality": 0.24460468052268342,
"contact": 0.759878177336047,
"command": 0.4176945226174549,
"movement": 0.5741469934713653,
"xwoba": 0.26,
"whiff": 26.4,
"faced_est_woba": 0.22204157789473683,
"faced_launch_speed": 82.85220719339141,
"faced_strikeout_rate": 0.33413562314878104,
"faced_run_exp": 0.019930570576196967
}
},
"home": {
"team": "MIL",
"original_runs": 3,
"run_delta": -0.1569,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 66.0,
"quality": 0.13116844722912785,
"contact": 0.15561192661449175,
"power": 0.09232070303036051,
"discipline": 0.30386085559453685,
"xwoba": 0.3191363636363636,
"recent_xwoba": 0.3191363636363636,
"barrel": 7.868181818181817,
"ab_hard_contact": -0.059958233765104764,
"ab_bat_speed": 69.53911015550452,
"ab_strikeout_rate": 0.19637832189464047,
"available_players": 9,
"top_players": [
{
"player_id": "666152",
"player_name": "David Hamilton",
"position": "SS",
"weight": 6.0,
"quality": -0.6021764719599227,
"contact": -1.0873191483359677,
"power": -1.3937910069165216,
"discipline": 0.406422533606744,
"xwoba": 0.268,
"recent_xwoba": 0.268,
"barrel": 1.8999999999999997,
"ab_hard_contact": -1.7131534716637853,
"ab_bat_speed": 60.515232732732734,
"ab_strikeout_rate": 0.22763157894736843,
"available": 1.0
},
{
"player_id": "668930",
"player_name": "Brice Turang",
"position": "2B",
"weight": 8.0,
"quality": 0.7999328481671588,
"contact": 0.984868634158462,
"power": 0.6245757413883607,
"discipline": 1.163239959114959,
"xwoba": 0.375,
"recent_xwoba": 0.375,
"barrel": 8.1,
"ab_hard_contact": 0.8058005420529152,
"ab_bat_speed": 67.52860339506172,
"ab_strikeout_rate": 0.23067129629629632,
"available": 1.0
},
{
"player_id": "641343",
"player_name": "Jake Bauers",
"position": "LF",
"weight": 7.0,
"quality": 0.5947079717068772,
"contact": 0.8356979410067065,
"power": 1.0711527866631945,
"discipline": -0.054419913419913424,
"xwoba": 0.347,
"recent_xwoba": 0.347,
"barrel": 11.8,
"ab_hard_contact": 0.7285795427876798,
"ab_bat_speed": 75.74101632395383,
"ab_strikeout_rate": 0.22954545454545452,
"available": 1.0
},
{
"player_id": "686217",
"player_name": "Sal Frelick",
"position": "RF",
"weight": 7.0,
"quality": -0.4593870064006361,
"contact": -0.5535637148719887,
"power": -1.0969190162426707,
"discipline": 0.8420384084001103,
"xwoba": 0.279,
"recent_xwoba": 0.279,
"barrel": 2.6,
"ab_hard_contact": -0.6519041343772498,
"ab_bat_speed": 66.94349130361365,
"ab_strikeout_rate": 0.1078014184397163,
"available": 1.0
},
{
"player_id": "694192",
"player_name": "Jackson Chourio",
"position": "CF",
"weight": 9.0,
"quality": 0.2217515157294528,
"contact": 0.10875755655124997,
"power": 1.4953229771650507,
"discipline": -0.5636263385737069,
"xwoba": 0.315,
"recent_xwoba": 0.315,
"barrel": 18.5,
"ab_hard_contact": 0.7209357337771787,
"ab_bat_speed": 73.21261779448622,
"ab_strikeout_rate": 0.3078947368421052,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "694738",
"player_name": "Landen Roupp",
"quality": 0.43849390418217876,
"contact": 0.7469683382040988,
"command": 0.3939928607809722,
"movement": -0.3110321177928171,
"xwoba": 0.278,
"whiff": 26.2,
"faced_est_woba": 0.26837943253554175,
"faced_launch_speed": 81.70962840910678,
"faced_strikeout_rate": 0.27830331262939956,
"faced_run_exp": 0.018063414675568656
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 1,
"home_runs": 3,
"predicted_score_text": "SF 1 - 3 MIL",
"confidence": 0.619198,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 3,
"score_text": "SF 1 - 3 MIL",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 2,
"home_runs": 4,
"score_text": "SF 2 - 4 MIL",
"winner": "MIL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 1,
"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 SF | True | 1.0086 | 1.0086 | 1 | 9 | 0 |
| Home MIL | True | 1.0125 | 1.0125 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SS | Willy Adames | 85 | 0.9841 | -0.2123 | neutral | 0.2820 | 0.2230 | 0.3840 | 8.60 | 42.90 | 88.90 | 22.90 | 26.70 | 28 | 4.50 | -0.4571 |
| DH | Rafael Devers | 240 | 1.0052 | 0.0696 | neutral | 0.2910 | 0.2220 | 0.4120 | 10.50 | 49 | 91.50 | 11.70 | 30.50 | 30 | 5.80 | -0.3714 |
| LF | Casey Schmitt | 97 | 1.0694 | 0.9259 | neutral | 0.3580 | 0.2760 | 0.5230 | 15.10 | 45.10 | 89.70 | 21.90 | 21.70 | 19.50 | 3.40 | -0.5714 |
| RF | Jung Hoo Lee | 107 | 1.0084 | 0.1122 | neutral | 0.3210 | 0.2980 | 0.3850 | 2.40 | 31 | 87.90 | 10.70 | 14.30 | 10.90 | 5 | -0.1714 |
| 3B | Matt Chapman | 60 | 0.9278 | -0.9630 | neutral | 0.2630 | 0.2080 | 0.2850 | 4.40 | 32.50 | 87.10 | 10.40 | 23.70 | 22.60 | 9.60 | -0.7714 |
| 1B | Bryce Eldridge | 253 | 1.0513 | 0.6843 | positive_batter_regression | 0.3640 | 0.2820 | 0.4770 | 10.50 | 57.90 | 93.30 | 18.10 | 24.80 | 24.60 | 13.10 | 2 |
| 2B | Luis Arraez | 33 | 0.9849 | -0.2018 | negative_batter_regression | 0.3120 | 0.2930 | 0.3700 | 0 | 21.70 | 87.60 | 14.60 | 8.20 | 3.80 | 5.50 | -1 |
| CF | Jonah Cox | 291 | 1.0065 | 0.0860 | neutral | 0.3140 | 0.2460 | 0.3910 | 7.80 | 40.30 | 89.20 | 14 | 25 | 21.70 | 8.90 | 0 |
| C | Eric Haase | 256 | 1.0398 | 0.5310 | neutral | 0.3800 | 0.2950 | 0.5800 | 20 | 28 | 85.30 | 16.40 | 33.30 | 21.20 | 3 | -0.4857 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Christian Yelich | 207 | 0.9782 | -0.2913 | negative_batter_regression | 0.2810 | 0.2070 | 0.3750 | 7.10 | 35.70 | 88.70 | 2.80 | 31.80 | 27.30 | 9.10 | -1.8000 |
| 2B | Brice Turang | 22 | 1.0794 | 1.0591 | neutral | 0.3750 | 0.2650 | 0.4560 | 8.10 | 46.70 | 91.10 | 8.10 | 20.90 | 24.20 | 17.80 | 0 |
| CF | Jackson Chourio | 198 | 1.0213 | 0.2834 | neutral | 0.3150 | 0.2170 | 0.4670 | 18.50 | 47.70 | 93 | 15.20 | 25.90 | 28.70 | 6.90 | -0.1429 |
| C | William Contreras | 68 | 1.0511 | 0.6812 | neutral | 0.3420 | 0.2840 | 0.4360 | 7.30 | 44.40 | 90.70 | 11.50 | 19.70 | 13 | 9.10 | 0.0857 |
| LF | Jake Bauers | 116 | 1.0503 | 0.6702 | neutral | 0.3470 | 0.2630 | 0.4740 | 11.80 | 52.30 | 91.70 | 8.30 | 25.20 | 22.60 | 8.90 | -0.4286 |
| 1B | Andrew Vaughn | 189 | 1.0146 | 0.1950 | negative_batter_regression | 0.3570 | 0.3040 | 0.4030 | 4 | 34 | 87.80 | 9.10 | 19 | 10.80 | 9.20 | -1.3143 |
| RF | Sal Frelick | 450 | 0.9637 | -0.4835 | neutral | 0.2790 | 0.2380 | 0.3180 | 2.60 | 26.30 | 85.70 | 8.20 | 10.80 | 10.70 | 8.70 | 0.3714 |
| 3B | Luis Rengifo | 505 | 0.9993 | -0.0098 | positive_batter_regression | 0.2930 | 0.2520 | 0.3430 | 5.20 | 36 | 87.30 | 4.90 | 19.40 | 11.80 | 7.60 | 1.5714 |
| SS | David Hamilton | 166 | 0.9550 | -0.5999 | neutral | 0.2680 | 0.2050 | 0.2850 | 1.90 | 26.20 | 85.20 | 13.10 | 18.30 | 19.30 | 10 | -0.1429 |
{
"home": {
"applied": true,
"offense_factor": 1.0125,
"raw_average_factor": 1.0125,
"team_espn_average_rank": 213.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "592885",
"player_name": "Christian Yelich",
"offense_factor": 0.9782,
"quality_score": -0.2913,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "592885",
"espn_id": 31283,
"player_name": "Christian Yelich",
"team": "MIL",
"role": "batter",
"espn_rank": 207,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 207,
"gp_value": 28.0,
"gp_rank": 337,
"ab_value": 104.0,
"ab_rank": 274,
"r_value": 18.0,
"r_rank": 182,
"h_value": 27.0,
"h_rank": 238,
"avg_value": 0.2596153,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 228,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 4.0,
"hr_rank": 163,
"rbi_value": 16.0,
"rbi_rank": 208,
"tb_value": 46.0,
"tb_rank": 1053,
"bb_value": 10.0,
"bb_rank": 247,
"so_value": 33.0,
"so_rank": 190,
"sb_value": 3.0,
"sb_rank": 126,
"obp_value": 0.3245614,
"obp_rank": "-",
"slg_value": 0.4423076,
"slg_rank": "-",
"ops_value": 0.766869,
"ops_rank": null,
"war_value": 0.36,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 94.0,
"k_percent": 27.3,
"bb_percent": 9.1,
"woba": 0.344,
"xwoba": 0.281,
"xba": 0.207,
"xslg": 0.375,
"sweet_spot_percent": 24.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 35.7,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 2.8,
"whiff_percent": 31.8,
"swing_percent": 47.1
},
"components": {
"expected_quality": -0.4597,
"regression_edge": -1.8,
"xwoba_edge": -0.6857,
"xba_edge": -0.9143,
"xslg_edge": 0.0143,
"barrel_edge": 0.0444,
"hard_hit_edge": -0.4714,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": -1.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "668930",
"player_name": "Brice Turang",
"offense_factor": 1.0794,
"quality_score": 1.0591,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668930",
"espn_id": 41179,
"player_name": "Brice Turang",
"team": "MIL",
"role": "batter",
"espn_rank": 22,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 22,
"gp_value": 53.0,
"gp_rank": 134,
"ab_value": 194.0,
"ab_rank": 109,
"r_value": 44.0,
"r_rank": 3,
"h_value": 51.0,
"h_rank": 81,
"avg_value": 0.2628865,
"avg_rank": 62.0,
"2b_value": 11.0,
"2b_rank": 51,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 7.0,
"hr_rank": 73,
"rbi_value": 31.0,
"rbi_rank": 47,
"tb_value": 85.0,
"tb_rank": 449,
"bb_value": 42.0,
"bb_rank": 6,
"so_value": 57.0,
"so_rank": 43,
"sb_value": 9.0,
"sb_rank": 28,
"obp_value": 0.3907563,
"obp_rank": "14",
"slg_value": 0.4381443,
"slg_rank": "61",
"ops_value": 0.8289006,
"ops_rank": 39.0,
"war_value": 2.37,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 216.0,
"k_percent": 24.2,
"bb_percent": 17.8,
"woba": 0.375,
"xwoba": 0.375,
"xba": 0.265,
"xslg": 0.456,
"sweet_spot_percent": 38.7,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 46.7,
"exit_velocity_avg": 91.1,
"launch_angle_avg": 8.1,
"whiff_percent": 20.9,
"swing_percent": 40.9
},
"components": {
"expected_quality": 1.2543,
"regression_edge": 0.0,
"xwoba_edge": 2.0,
"xba_edge": 0.7429,
"xslg_edge": 1.1714,
"barrel_edge": 0.2667,
"hard_hit_edge": 1.1,
"exit_velocity_edge": 0.92,
"sweet_spot_edge": 0.9,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "694192",
"player_name": "Jackson Chourio",
"offense_factor": 1.0213,
"quality_score": 0.2834,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694192",
"espn_id": 4917869,
"player_name": "Jackson Chourio",
"team": "MIL",
"role": "batter",
"espn_rank": 198,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 198,
"gp_value": 22.0,
"gp_rank": 366,
"ab_value": 94.0,
"ab_rank": 291,
"r_value": 11.0,
"r_rank": 285,
"h_value": 25.0,
"h_rank": 249,
"avg_value": 0.2659574,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 170,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 2.0,
"hr_rank": 255,
"rbi_value": 8.0,
"rbi_rank": 314,
"tb_value": 38.0,
"tb_rank": 1500,
"bb_value": 7.0,
"bb_rank": 299,
"so_value": 29.0,
"so_rank": 225,
"sb_value": 5.0,
"sb_rank": 73,
"obp_value": 0.3168316,
"obp_rank": "-",
"slg_value": 0.4042553,
"slg_rank": "-",
"ops_value": 0.7210869,
"ops_rank": null,
"war_value": 0.41,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 87.0,
"k_percent": 28.7,
"bb_percent": 6.9,
"woba": 0.32,
"xwoba": 0.315,
"xba": 0.217,
"xslg": 0.467,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 18.5,
"hard_hit_percent": 47.7,
"exit_velocity_avg": 93.0,
"launch_angle_avg": 15.2,
"whiff_percent": 25.9,
"swing_percent": 45.7
},
"components": {
"expected_quality": 0.7556,
"regression_edge": -0.1429,
"xwoba_edge": 0.2857,
"xba_edge": -0.6286,
"xslg_edge": 1.3286,
"barrel_edge": 2.5,
"hard_hit_edge": 1.2429,
"exit_velocity_edge": 1.68,
"sweet_spot_edge": -0.1667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "661388",
"player_name": "William Contreras",
"offense_factor": 1.0511,
"quality_score": 0.6812,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "661388",
"espn_id": 39895,
"player_name": "William Contreras",
"team": "MIL",
"role": "batter",
"espn_rank": 68,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 68,
"gp_value": 52.0,
"gp_rank": 149,
"ab_value": 207.0,
"ab_rank": 72,
"r_value": 30.0,
"r_rank": 58,
"h_value": 61.0,
"h_rank": 25,
"avg_value": 0.2946859,
"avg_rank": 18.0,
"2b_value": 10.0,
"2b_rank": 72,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 4.0,
"hr_rank": 163,
"rbi_value": 34.0,
"rbi_rank": 30,
"tb_value": 83.0,
"tb_rank": 902,
"bb_value": 21.0,
"bb_rank": 86,
"so_value": 30.0,
"so_rank": 214,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.3608695,
"obp_rank": "38",
"slg_value": 0.4009661,
"slg_rank": "95",
"ops_value": 0.7618356,
"ops_rank": 77.0,
"war_value": 1.44,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 214.0,
"k_percent": 13.0,
"bb_percent": 9.1,
"woba": 0.339,
"xwoba": 0.342,
"xba": 0.284,
"xslg": 0.436,
"sweet_spot_percent": 30.3,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 44.4,
"exit_velocity_avg": 90.7,
"launch_angle_avg": 11.5,
"whiff_percent": 19.7,
"swing_percent": 46.5
},
"components": {
"expected_quality": 0.8004,
"regression_edge": 0.0857,
"xwoba_edge": 1.0571,
"xba_edge": 1.2857,
"xslg_edge": 0.8857,
"barrel_edge": 0.0889,
"hard_hit_edge": 0.7714,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": -0.5,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "641343",
"player_name": "Jake Bauers",
"offense_factor": 1.0503,
"quality_score": 0.6702,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641343",
"espn_id": 35013,
"player_name": "Jake Bauers",
"team": "MIL",
"role": "batter",
"espn_rank": 116,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 116,
"gp_value": 49.0,
"gp_rank": 175,
"ab_value": 175.0,
"ab_rank": 138,
"r_value": 30.0,
"r_rank": 58,
"h_value": 49.0,
"h_rank": 96,
"avg_value": 0.28,
"avg_rank": 41.0,
"2b_value": 10.0,
"2b_rank": 72,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 9.0,
"hr_rank": 47,
"rbi_value": 33.0,
"rbi_rank": 35,
"tb_value": 86.0,
"tb_rank": 625,
"bb_value": 17.0,
"bb_rank": 140,
"so_value": 44.0,
"so_rank": 113,
"sb_value": 4.0,
"sb_rank": 95,
"obp_value": 0.3505154,
"obp_rank": "48",
"slg_value": 0.4914285,
"slg_rank": "32",
"ops_value": 0.8419439,
"ops_rank": 34.0,
"war_value": 0.94,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 174.0,
"k_percent": 22.6,
"bb_percent": 8.9,
"woba": 0.362,
"xwoba": 0.347,
"xba": 0.263,
"xslg": 0.474,
"sweet_spot_percent": 28.9,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 52.3,
"exit_velocity_avg": 91.7,
"launch_angle_avg": 8.3,
"whiff_percent": 25.2,
"swing_percent": 42.9
},
"components": {
"expected_quality": 1.0551,
"regression_edge": -0.4286,
"xwoba_edge": 1.2,
"xba_edge": 0.6857,
"xslg_edge": 1.4286,
"barrel_edge": 1.0889,
"hard_hit_edge": 1.9,
"exit_velocity_edge": 1.16,
"sweet_spot_edge": -0.7333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "683734",
"player_name": "Andrew Vaughn",
"offense_factor": 1.0146,
"quality_score": 0.195,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "683734",
"espn_id": 42394,
"player_name": "Andrew Vaughn",
"team": "MIL",
"role": "batter",
"espn_rank": 189,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 189,
"gp_value": 20.0,
"gp_rank": 379,
"ab_value": 61.0,
"ab_rank": 366,
"r_value": 10.0,
"r_rank": 296,
"h_value": 21.0,
"h_rank": 288,
"avg_value": 0.3442622,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 170,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 1.0,
"hr_rank": 317,
"rbi_value": 8.0,
"rbi_rank": 314,
"tb_value": 31.0,
"tb_rank": 1725,
"bb_value": 6.0,
"bb_rank": 315,
"so_value": 8.0,
"so_rank": 426,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.4202898,
"obp_rank": "-",
"slg_value": 0.5081967,
"slg_rank": "-",
"ops_value": 0.9284865,
"ops_rank": null,
"war_value": 0.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 59.0,
"k_percent": 10.8,
"bb_percent": 9.2,
"woba": 0.403,
"xwoba": 0.357,
"xba": 0.304,
"xslg": 0.403,
"sweet_spot_percent": 40.0,
"barrel_batted_rate": 4.0,
"hard_hit_percent": 34.0,
"exit_velocity_avg": 87.8,
"launch_angle_avg": 9.1,
"whiff_percent": 19.0,
"swing_percent": 43.9
},
"components": {
"expected_quality": 0.7179,
"regression_edge": -1.3143,
"xwoba_edge": 1.4857,
"xba_edge": 1.8571,
"xslg_edge": 0.4143,
"barrel_edge": -0.6444,
"hard_hit_edge": -0.7143,
"exit_velocity_edge": -0.4,
"sweet_spot_edge": 1.1167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "686217",
"player_name": "Sal Frelick",
"offense_factor": 0.9637,
"quality_score": -0.4835,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686217",
"espn_id": 4417795,
"player_name": "Sal Frelick",
"team": "MIL",
"role": "batter",
"espn_rank": 450,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 450,
"gp_value": 53.0,
"gp_rank": 134,
"ab_value": 173.0,
"ab_rank": 141,
"r_value": 22.0,
"r_rank": 134,
"h_value": 37.0,
"h_rank": 174,
"avg_value": 0.2138728,
"avg_rank": 146.0,
"2b_value": 5.0,
"2b_rank": 228,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 3.0,
"hr_rank": 201,
"rbi_value": 18.0,
"rbi_rank": 182,
"tb_value": 51.0,
"tb_rank": 1321,
"bb_value": 17.0,
"bb_rank": 140,
"so_value": 21.0,
"so_rank": 306,
"sb_value": 4.0,
"sb_rank": 95,
"obp_value": 0.2835051,
"obp_rank": "149",
"slg_value": 0.2947976,
"slg_rank": "168",
"ops_value": 0.5783027,
"ops_rank": 165.0,
"war_value": -0.31,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 184.0,
"k_percent": 10.7,
"bb_percent": 8.7,
"woba": 0.266,
"xwoba": 0.279,
"xba": 0.238,
"xslg": 0.318,
"sweet_spot_percent": 27.0,
"barrel_batted_rate": 2.6,
"hard_hit_percent": 26.3,
"exit_velocity_avg": 85.7,
"launch_angle_avg": 8.2,
"whiff_percent": 10.8,
"swing_percent": 42.2
},
"components": {
"expected_quality": -0.7326,
"regression_edge": 0.3714,
"xwoba_edge": -0.7429,
"xba_edge": -0.0286,
"xslg_edge": -0.8,
"barrel_edge": -0.9556,
"hard_hit_edge": -1.8143,
"exit_velocity_edge": -1.24,
"sweet_spot_edge": -1.05,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "650859",
"player_name": "Luis Rengifo",
"offense_factor": 0.9993,
"quality_score": -0.0098,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "650859",
"espn_id": 37237,
"player_name": "Luis Rengifo",
"team": "MIL",
"role": "batter",
"espn_rank": 505,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 505,
"gp_value": 46.0,
"gp_rank": 198,
"ab_value": 154.0,
"ab_rank": 185,
"r_value": 12.0,
"r_rank": 270,
"h_value": 31.0,
"h_rank": 212,
"avg_value": 0.2012987,
"avg_rank": 161.0,
"2b_value": 8.0,
"2b_rank": 139,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 0.0,
"hr_rank": 401,
"rbi_value": 14.0,
"rbi_rank": 232,
"tb_value": 39.0,
"tb_rank": 1870,
"bb_value": 13.0,
"bb_rank": 193,
"so_value": 20.0,
"so_rank": 315,
"sb_value": 3.0,
"sb_rank": 126,
"obp_value": 0.2662721,
"obp_rank": "165",
"slg_value": 0.2532467,
"slg_rank": "173",
"ops_value": 0.5195188,
"ops_rank": 172.0,
"war_value": -0.58,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 163.0,
"k_percent": 11.8,
"bb_percent": 7.6,
"woba": 0.238,
"xwoba": 0.293,
"xba": 0.252,
"xslg": 0.343,
"sweet_spot_percent": 29.4,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 36.0,
"exit_velocity_avg": 87.3,
"launch_angle_avg": 4.9,
"whiff_percent": 19.4,
"swing_percent": 50.2
},
"components": {
"expected_quality": -0.2712,
"regression_edge": 1.5714,
"xwoba_edge": -0.3429,
"xba_edge": 0.3714,
"xslg_edge": -0.4429,
"barrel_edge": -0.3778,
"hard_hit_edge": -0.4286,
"exit_velocity_edge": -0.6,
"sweet_spot_edge": -0.65,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "666152",
"player_name": "David Hamilton",
"offense_factor": 0.955,
"quality_score": -0.5999,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666152",
"espn_id": 42987,
"player_name": "David Hamilton",
"team": "MIL",
"role": "batter",
"espn_rank": 166,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 166,
"gp_value": 46.0,
"gp_rank": 198,
"ab_value": 129.0,
"ab_rank": 221,
"r_value": 22.0,
"r_rank": 134,
"h_value": 29.0,
"h_rank": 223,
"avg_value": 0.2248062,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 353,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 1.0,
"hr_rank": 317,
"rbi_value": 9.0,
"rbi_rank": 298,
"tb_value": 36.0,
"tb_rank": 1625,
"bb_value": 16.0,
"bb_rank": 154,
"so_value": 29.0,
"so_rank": 225,
"sb_value": 13.0,
"sb_rank": 12,
"obp_value": 0.3150684,
"obp_rank": "-",
"slg_value": 0.2790697,
"slg_rank": "-",
"ops_value": 0.5941381,
"ops_rank": null,
"war_value": 0.6,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 133.0,
"k_percent": 19.3,
"bb_percent": 10.0,
"woba": 0.273,
"xwoba": 0.268,
"xba": 0.205,
"xslg": 0.285,
"sweet_spot_percent": 21.2,
"barrel_batted_rate": 1.9,
"hard_hit_percent": 26.2,
"exit_velocity_avg": 85.2,
"launch_angle_avg": 13.1,
"whiff_percent": 18.3,
"swing_percent": 45.3
},
"components": {
"expected_quality": -1.1306,
"regression_edge": -0.1429,
"xwoba_edge": -1.0571,
"xba_edge": -0.9714,
"xslg_edge": -1.2714,
"barrel_edge": -1.1111,
"hard_hit_edge": -1.8286,
"exit_velocity_edge": -1.44,
"sweet_spot_edge": -2.0167,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0086,
"raw_average_factor": 1.0086,
"team_espn_average_rank": 158.0,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "SS",
"player_id": "642715",
"player_name": "Willy Adames",
"offense_factor": 0.9841,
"quality_score": -0.2123,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642715",
"espn_id": 33675,
"player_name": "Willy Adames",
"team": "SF",
"role": "batter",
"espn_rank": 85,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 85,
"gp_value": 58.0,
"gp_rank": 37,
"ab_value": 235.0,
"ab_rank": 8,
"r_value": 28.0,
"r_rank": 72,
"h_value": 57.0,
"h_rank": 46,
"avg_value": 0.2425531,
"avg_rank": 99.0,
"2b_value": 17.0,
"2b_rank": 4,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 8.0,
"hr_rank": 61,
"rbi_value": 23.0,
"rbi_rank": 126,
"tb_value": 100.0,
"tb_rank": 331,
"bb_value": 12.0,
"bb_rank": 212,
"so_value": 69.0,
"so_rank": 20,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.2811244,
"obp_rank": "151",
"slg_value": 0.4255319,
"slg_rank": "80",
"ops_value": 0.7066563,
"ops_rank": 108.0,
"war_value": 1.22,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 228.0,
"k_percent": 28.0,
"bb_percent": 4.5,
"woba": 0.298,
"xwoba": 0.282,
"xba": 0.223,
"xslg": 0.384,
"sweet_spot_percent": 36.8,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 42.9,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 22.9,
"whiff_percent": 26.7,
"swing_percent": 48.8
},
"components": {
"expected_quality": -0.1725,
"regression_edge": -0.4571,
"xwoba_edge": -0.6571,
"xba_edge": -0.4571,
"xslg_edge": 0.1429,
"barrel_edge": 0.3778,
"hard_hit_edge": 0.5571,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": 0.5833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "646240",
"player_name": "Rafael Devers",
"offense_factor": 1.0052,
"quality_score": 0.0696,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "646240",
"espn_id": 33859,
"player_name": "Rafael Devers",
"team": "SF",
"role": "batter",
"espn_rank": 240,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 240,
"gp_value": 59.0,
"gp_rank": 19,
"ab_value": 229.0,
"ab_rank": 17,
"r_value": 26.0,
"r_rank": 93,
"h_value": 58.0,
"h_rank": 39,
"avg_value": 0.2532751,
"avg_rank": 81.0,
"2b_value": 18.0,
"2b_rank": 2,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 7.0,
"hr_rank": 73,
"rbi_value": 30.0,
"rbi_rank": 56,
"tb_value": 99.0,
"tb_rank": 358,
"bb_value": 15.0,
"bb_rank": 162,
"so_value": 73.0,
"so_rank": 11,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.2995951,
"obp_rank": "131",
"slg_value": 0.4323144,
"slg_rank": "70",
"ops_value": 0.7319095,
"ops_rank": 92.0,
"war_value": 0.23,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 223.0,
"k_percent": 30.0,
"bb_percent": 5.8,
"woba": 0.304,
"xwoba": 0.291,
"xba": 0.222,
"xslg": 0.412,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 10.5,
"hard_hit_percent": 49.0,
"exit_velocity_avg": 91.5,
"launch_angle_avg": 11.7,
"whiff_percent": 30.5,
"swing_percent": 51.7
},
"components": {
"expected_quality": 0.1414,
"regression_edge": -0.3714,
"xwoba_edge": -0.4,
"xba_edge": -0.4857,
"xslg_edge": 0.5429,
"barrel_edge": 0.8,
"hard_hit_edge": 1.4286,
"exit_velocity_edge": 1.08,
"sweet_spot_edge": -0.2167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "669477",
"player_name": "Casey Schmitt",
"offense_factor": 1.0694,
"quality_score": 0.9259,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669477",
"espn_id": 4301949,
"player_name": "Casey Schmitt",
"team": "SF",
"role": "batter",
"espn_rank": 97,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 97,
"gp_value": 51.0,
"gp_rank": 155,
"ab_value": 197.0,
"ab_rank": 104,
"r_value": 27.0,
"r_rank": 84,
"h_value": 58.0,
"h_rank": 39,
"avg_value": 0.2944162,
"avg_rank": 20.0,
"2b_value": 12.0,
"2b_rank": 32,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 12.0,
"hr_rank": 28,
"rbi_value": 33.0,
"rbi_rank": 35,
"tb_value": 108.0,
"tb_rank": 253,
"bb_value": 7.0,
"bb_rank": 299,
"so_value": 42.0,
"so_rank": 127,
"sb_value": 5.0,
"sb_rank": 73,
"obp_value": 0.3317535,
"obp_rank": "82",
"slg_value": 0.5482233,
"slg_rank": "8",
"ops_value": 0.8799768,
"ops_rank": 23.0,
"war_value": 1.13,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 190.0,
"k_percent": 19.5,
"bb_percent": 3.4,
"woba": 0.378,
"xwoba": 0.358,
"xba": 0.276,
"xslg": 0.523,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 15.1,
"hard_hit_percent": 45.1,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 21.9,
"whiff_percent": 21.7,
"swing_percent": 51.4
},
"components": {
"expected_quality": 1.3396,
"regression_edge": -0.5714,
"xwoba_edge": 1.5143,
"xba_edge": 1.0571,
"xslg_edge": 2.1286,
"barrel_edge": 1.8222,
"hard_hit_edge": 0.8714,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": 0.55,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "808982",
"player_name": "Jung Hoo Lee",
"offense_factor": 1.0084,
"quality_score": 0.1122,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "808982",
"espn_id": 5134621,
"player_name": "Jung Hoo Lee",
"team": "SF",
"role": "batter",
"espn_rank": 107,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 107,
"gp_value": 51.0,
"gp_rank": 155,
"ab_value": 194.0,
"ab_rank": 109,
"r_value": 24.0,
"r_rank": 120,
"h_value": 59.0,
"h_rank": 35,
"avg_value": 0.3041237,
"avg_rank": 11.0,
"2b_value": 12.0,
"2b_rank": 32,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 3.0,
"hr_rank": 201,
"rbi_value": 19.0,
"rbi_rank": 167,
"tb_value": 84.0,
"tb_rank": 690,
"bb_value": 10.0,
"bb_rank": 247,
"so_value": 22.0,
"so_rank": 293,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3413461,
"obp_rank": "65",
"slg_value": 0.4329896,
"slg_rank": "69",
"ops_value": 0.7743357,
"ops_rank": 70.0,
"war_value": 1.02,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 193.0,
"k_percent": 10.9,
"bb_percent": 5.0,
"woba": 0.327,
"xwoba": 0.321,
"xba": 0.298,
"xslg": 0.385,
"sweet_spot_percent": 36.9,
"barrel_batted_rate": 2.4,
"hard_hit_percent": 31.0,
"exit_velocity_avg": 87.9,
"launch_angle_avg": 10.7,
"whiff_percent": 14.3,
"swing_percent": 46.4
},
"components": {
"expected_quality": 0.1766,
"regression_edge": -0.1714,
"xwoba_edge": 0.4571,
"xba_edge": 1.6857,
"xslg_edge": 0.1571,
"barrel_edge": -1.0,
"hard_hit_edge": -1.1429,
"exit_velocity_edge": -0.36,
"sweet_spot_edge": 0.6,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "656305",
"player_name": "Matt Chapman",
"offense_factor": 0.9278,
"quality_score": -0.963,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656305",
"espn_id": 33857,
"player_name": "Matt Chapman",
"team": "SF",
"role": "batter",
"espn_rank": 60,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 60,
"gp_value": 58.0,
"gp_rank": 37,
"ab_value": 220.0,
"ab_rank": 31,
"r_value": 26.0,
"r_rank": 93,
"h_value": 51.0,
"h_rank": 81,
"avg_value": 0.2318181,
"avg_rank": 118.0,
"2b_value": 15.0,
"2b_rank": 8,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 1.0,
"hr_rank": 317,
"rbi_value": 19.0,
"rbi_rank": 167,
"tb_value": 71.0,
"tb_rank": 1138,
"bb_value": 23.0,
"bb_rank": 67,
"so_value": 55.0,
"so_rank": 55,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.310204,
"obp_rank": "120",
"slg_value": 0.3227272,
"slg_rank": "154",
"ops_value": 0.6329312,
"ops_rank": 146.0,
"war_value": 1.57,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 221.0,
"k_percent": 22.6,
"bb_percent": 9.6,
"woba": 0.29,
"xwoba": 0.263,
"xba": 0.208,
"xslg": 0.285,
"sweet_spot_percent": 21.9,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 32.5,
"exit_velocity_avg": 87.1,
"launch_angle_avg": 10.4,
"whiff_percent": 23.7,
"swing_percent": 43.4
},
"components": {
"expected_quality": -0.9942,
"regression_edge": -0.7714,
"xwoba_edge": -1.2,
"xba_edge": -0.8857,
"xslg_edge": -1.2714,
"barrel_edge": -0.5556,
"hard_hit_edge": -0.9286,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": -1.9,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "805811",
"player_name": "Bryce Eldridge",
"offense_factor": 1.0513,
"quality_score": 0.6843,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "805811",
"espn_id": 5149064,
"player_name": "Bryce Eldridge",
"team": "SF",
"role": "batter",
"espn_rank": 253,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 253,
"gp_value": 18.0,
"gp_rank": 392,
"ab_value": 58.0,
"ab_rank": 371,
"r_value": 8.0,
"r_rank": 335,
"h_value": 14.0,
"h_rank": 356,
"avg_value": 0.2413793,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 195,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 2.0,
"hr_rank": 255,
"rbi_value": 4.0,
"rbi_rank": 391,
"tb_value": 26.0,
"tb_rank": 1632,
"bb_value": 8.0,
"bb_rank": 280,
"so_value": 15.0,
"so_rank": 364,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3283582,
"obp_rank": "-",
"slg_value": 0.4482758,
"slg_rank": "-",
"ops_value": 0.776634,
"ops_rank": null,
"war_value": 0.21,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 46.0,
"k_percent": 24.6,
"bb_percent": 13.1,
"woba": 0.276,
"xwoba": 0.364,
"xba": 0.282,
"xslg": 0.477,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 10.5,
"hard_hit_percent": 57.9,
"exit_velocity_avg": 93.3,
"launch_angle_avg": 18.1,
"whiff_percent": 24.8,
"swing_percent": 48.6
},
"components": {
"expected_quality": 1.4426,
"regression_edge": 2.0,
"xwoba_edge": 1.6857,
"xba_edge": 1.2286,
"xslg_edge": 1.4714,
"barrel_edge": 0.8,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 1.8,
"sweet_spot_edge": 0.15,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "2B",
"player_id": "650333",
"player_name": "Luis Arraez",
"offense_factor": 0.9849,
"quality_score": -0.2018,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "650333",
"espn_id": 39572,
"player_name": "Luis Arraez",
"team": "SF",
"role": "batter",
"espn_rank": 33,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 33,
"gp_value": 56.0,
"gp_rank": 72,
"ab_value": 218.0,
"ab_rank": 35,
"r_value": 29.0,
"r_rank": 66,
"h_value": 70.0,
"h_rank": 2,
"avg_value": 0.3211009,
"avg_rank": 2.0,
"2b_value": 10.0,
"2b_rank": 72,
"3b_value": 3.0,
"3b_rank": 4,
"hr_value": 2.0,
"hr_rank": 255,
"rbi_value": 23.0,
"rbi_rank": 126,
"tb_value": 92.0,
"tb_rank": 847,
"bb_value": 14.0,
"bb_rank": 178,
"so_value": 9.0,
"so_rank": 413,
"sb_value": 5.0,
"sb_rank": 73,
"obp_value": 0.3625,
"obp_rank": "36",
"slg_value": 0.4220183,
"slg_rank": "84",
"ops_value": 0.7845183,
"ops_rank": 61.0,
"war_value": 1.97,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 215.0,
"k_percent": 3.8,
"bb_percent": 5.5,
"woba": 0.347,
"xwoba": 0.312,
"xba": 0.293,
"xslg": 0.37,
"sweet_spot_percent": 41.5,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 21.7,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 14.6,
"whiff_percent": 8.2,
"swing_percent": 51.0
},
"components": {
"expected_quality": -0.0773,
"regression_edge": -1.0,
"xwoba_edge": 0.2,
"xba_edge": 1.5429,
"xslg_edge": -0.0571,
"barrel_edge": -1.5333,
"hard_hit_edge": -2.4714,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": 1.3667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "813841",
"player_name": "Jonah Cox",
"offense_factor": 1.0065,
"quality_score": 0.086,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "813841",
"espn_id": 5145886,
"player_name": "Jonah Cox",
"team": "SF",
"role": "batter",
"espn_rank": 291,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 291,
"gp_value": 1.0,
"gp_rank": 526,
"ab_value": 1.0,
"ab_rank": 529,
"r_value": 1.0,
"r_rank": 464,
"h_value": 1.0,
"h_rank": 494,
"avg_value": 1.0,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 402,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 0.0,
"hr_rank": 401,
"rbi_value": 0.0,
"rbi_rank": 487,
"tb_value": 2.0,
"tb_rank": 2415,
"bb_value": 0.0,
"bb_rank": 487,
"so_value": 0.0,
"so_rank": 522,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 1.0,
"obp_rank": "-",
"slg_value": 2.0,
"slg_rank": "-",
"ops_value": 3.0,
"ops_rank": null,
"war_value": 0.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 21.7,
"bb_percent": 8.9,
"woba": 0.314,
"xwoba": 0.314,
"xba": 0.246,
"xslg": 0.391,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 40.3,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 14.0,
"whiff_percent": 25.0,
"swing_percent": 47.2
},
"components": {
"expected_quality": 0.2223,
"regression_edge": 0.0,
"xwoba_edge": 0.2571,
"xba_edge": 0.2,
"xslg_edge": 0.2429,
"barrel_edge": 0.2,
"hard_hit_edge": 0.1857,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "606992",
"player_name": "Eric Haase",
"offense_factor": 1.0398,
"quality_score": 0.531,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "606992",
"espn_id": 33452,
"player_name": "Eric Haase",
"team": "SF",
"role": "batter",
"espn_rank": 256,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 256,
"gp_value": 12.0,
"gp_rank": 428,
"ab_value": 32.0,
"ab_rank": 422,
"r_value": 6.0,
"r_rank": 367,
"h_value": 9.0,
"h_rank": 389,
"avg_value": 0.28125,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 353,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 3.0,
"hr_rank": 201,
"rbi_value": 5.0,
"rbi_rank": 369,
"tb_value": 20.0,
"tb_rank": 1661,
"bb_value": 1.0,
"bb_rank": 443,
"so_value": 7.0,
"so_rank": 439,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3030303,
"obp_rank": "-",
"slg_value": 0.625,
"slg_rank": "-",
"ops_value": 0.9280303,
"ops_rank": null,
"war_value": 0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 29.0,
"k_percent": 21.2,
"bb_percent": 3.0,
"woba": 0.397,
"xwoba": 0.38,
"xba": 0.295,
"xslg": 0.58,
"sweet_spot_percent": 40.0,
"barrel_batted_rate": 20.0,
"hard_hit_percent": 28.0,
"exit_velocity_avg": 85.3,
"launch_angle_avg": 16.4,
"whiff_percent": 33.3,
"swing_percent": 53.8
},
"components": {
"expected_quality": 1.4512,
"regression_edge": -0.4857,
"xwoba_edge": 2.1429,
"xba_edge": 1.6,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": -1.5714,
"exit_velocity_edge": -1.4,
"sweet_spot_edge": 1.1167,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away SF | True | 120 | 0.5206 | 0.8880 | 0.9557 | 1.0264 | 0.9929 | 0.8391 | neutral | 0.2780 | 0.2810 | 27.40 | 8.90 | 26.20 | 2.60 | 26.30 | |
| Home MIL | True | 198 | 0.2472 | 0.4500 | 0.9790 | 1.0072 | 0.9802 | 0.9754 | neutral | 0.2600 | 0.2550 | 24.80 | 7.10 | 26.40 | 6.50 | 39 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away SF | True | None | 96 | 86.55 | 2369 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1759 | |
| Home MIL | True | None | 35 | 90.55 | 2494 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0478 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9906 |
| home_runs_vs_away_pitcher | 0.9607 |
| home_pitcher_quality_edge | -0.2734 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "675660",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 106.0,
"k_percent": 24.8,
"bb_percent": 7.1,
"woba": 0.255,
"xwoba": 0.26,
"sweet_spot_percent": 31.2,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 39.0,
"avg_best_speed": 78.2407,
"avg_hyper_speed": 93.8241,
"whiff_percent": 26.4,
"swing_percent": 50.3
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.8689,
"command_and_miss": 0.2814,
"regression_edge": -0.1429,
"xwoba_edge": 1.4857,
"barrel_edge": 0.1556,
"hard_hit_edge": -0.0571,
"whiff_edge": 0.0857,
"bb_edge": 0.55,
"pitch_design_score": 0.0478
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "675660",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 35,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 35,
"pitch_usage": 0.0,
"release_speed": 90.54829032593929,
"release_spin_rate": 2494.4836463493793,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 35,
"pitch_usage": 0.0,
"release_speed": 90.54829032593929,
"release_spin_rate": 2494.4836463493793,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5483,
"release_spin_rate": 2494.4836,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0478,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3412,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2472,
"sample_weight": 0.45,
"run_prevention_factor": 0.979,
"strikeout_factor": 1.0072,
"walk_factor": 0.9802,
"homer_factor": 0.9754,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "675660",
"espn_id": 4315203,
"player_name": "Shane Drohan",
"team": "MIL",
"role": "pitcher",
"espn_rank": 198,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 198,
"gp_value": 11.0,
"gp_rank": 291,
"gs_value": 1.0,
"gs_rank": 220,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.6341,
"era_rank": null,
"w_value": 2.0,
"w_rank": 141,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 2.0,
"hld_rank": 154,
"ip_value": 27.1,
"ip_rank": 199,
"h_value": 22.0,
"h_rank": 236,
"er_value": 8.0,
"er_rank": 322,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 8.0,
"bb_rank": 302,
"k_value": 28.0,
"k_rank": 197,
"k_per_9_value": 9.219512,
"k_per_9_rank": 26,
"whip_value": 1.0975,
"whip_rank": null,
"war_value": 0.37,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "694738",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 222.0,
"k_percent": 27.4,
"bb_percent": 8.9,
"woba": 0.281,
"xwoba": 0.278,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 2.6,
"hard_hit_percent": 26.3,
"avg_best_speed": 76.9627,
"avg_hyper_speed": 92.3592,
"whiff_percent": 26.2,
"swing_percent": 42.4
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.8949,
"command_and_miss": 0.3486,
"regression_edge": 0.0857,
"xwoba_edge": 0.9714,
"barrel_edge": 1.0222,
"hard_hit_edge": 1.7571,
"whiff_edge": 0.0571,
"bb_edge": 0.1,
"pitch_design_score": -0.1759
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "694738",
"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": 86.55365427597782,
"release_spin_rate": 2368.519186944578,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 86.55365427597782,
"release_spin_rate": 2368.519186944578,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5537,
"release_spin_rate": 2368.5192,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1759,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.2566,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.5206,
"sample_weight": 0.888,
"run_prevention_factor": 0.9557,
"strikeout_factor": 1.0264,
"walk_factor": 0.9929,
"homer_factor": 0.8391,
"woba_minus_xwoba": 0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694738",
"espn_id": 4345404,
"player_name": "Landen Roupp",
"team": "SF",
"role": "pitcher",
"espn_rank": 120,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 120,
"gp_value": 11.0,
"gp_rank": 291,
"gs_value": 11.0,
"gs_rank": 48,
"qs_value": 5.0,
"qs_rank": 33,
"era_value": 3.3,
"era_rank": 31.0,
"w_value": 5.0,
"w_rank": 21,
"l_value": 5.0,
"l_rank": 20,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 60.0,
"ip_rank": 65,
"h_value": 49.0,
"h_rank": 90,
"er_value": 22.0,
"er_rank": 96,
"hr_value": 3.0,
"hr_rank": 198,
"bb_value": 22.0,
"bb_rank": 40,
"k_value": 68.0,
"k_rank": 26,
"k_per_9_value": 10.2,
"k_per_9_rank": 10,
"whip_value": 1.1833,
"whip_rank": 40.0,
"war_value": 0.7,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9906,
"home_runs_vs_away_pitcher": 0.9607,
"home_pitcher_quality_edge": -0.2734
},
"score_before": {
"away_runs": 1.0,
"home_runs": 3.0
},
"score_after": {
"away_runs": 0.9906,
"home_runs": 2.882,
"home_win_probability": 0.6559
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away SF | 11-43 | 0.204 | 1.50 | 4.10 | -141 | cold | average | |
| Home MIL | 19-32 | 0.373 | 1.20 | 2.60 | -72 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away SF | 23-36 | 0.390 | -48 | -0.814 | True |
| Home MIL | 35-21 | 0.625 | 74 | 1.321 | True |
| Signal | - | - | 2.135 | 2.488 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target SF | - | - | 1 | - | - | - | - |
| Game target MIL | - | - | 3 | - | - | - | - |
| Player finalized SF | 62 | 17 | 10 | 0 | 7 | 3 | 15 |
| Player finalized MIL | 66 | 15 | 10 | 0 | 9 | 9 | 14 |
| Player model fractional SF | 61.00 | 15.56 | 9.02 | 1.70 | 6.84 | 3.72 | 12.02 |
| Player model fractional MIL | 65.37 | 15.98 | 10.18 | 1.62 | 8.35 | 6.70 | 14.03 |
| Simulation box SF | 31 | 4 | 2 | 1 | 2 | 0 | 9 |
| Simulation box MIL | 30 | 6 | 4 | 1 | 4 | 3 | 8 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away SF | Starter | Landen Roupp | 5 | 4 | 4 | 6 | 2 | 4.03 | 1.36 | True |
| Away SF | Middle Reliever | Caleb Kilian | 2 | 0 | 3 | 0 | 0 | 6.35 | 1.31 | True |
| Away SF | Middle Reliever | Keaton Winn | 1 | 0 | 1 | 0 | 1 | 3.45 | 1.17 | True |
| Home MIL | Starter | Shane Drohan | 5 | 1 | 7 | 2 | 0 | 3.04 | 1.12 | True |
| Home MIL | Middle Reliever | Aaron Ashby | 1.10 | 0 | 0 | 0 | 0 | 2.59 | 1.22 | True |
| Home MIL | Middle Reliever | Abner Uribe | 1 | 1 | 1 | 2 | 0 | 3.25 | 1.28 | True |
| Home MIL | Middle Reliever | Trevor Megill | 1.20 | 0 | 1 | 0 | 0 | 2.86 | 1 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | MIL | batter | 1B | Andrew Vaughn | better | 11 | 8 | 3 | 9 | 2 | predicted_RBI | 2.6200 | boost | better |
| away | SF | batter | CF | Jonah Cox | worse | 9 | 3 | 6 | 2 | 7 | predicted_2B | -2.5000 | deboost | worse |
| home | MIL | batter | C | William Contreras | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.4610 | boost | worse |
| home | MIL | batter | SS | David Hamilton | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 1.3260 | boost | worse |
| away | SF | batter | C | Eric Haase | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 1.2580 | boost | worse |
| away | SF | batter | SS | Willy Adames | better | 10 | 5 | 5 | 6 | 4 | predicted_SO | -1.2180 | deboost | better |
| away | SF | batter | RF | Jung Hoo Lee | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -1.1500 | deboost | worse |
| away | SF | batter | 2B | Luis Arraez | worse | 12 | 4 | 8 | 3 | 9 | predicted_H | -1.1200 | deboost | worse |
| home | MIL | batter | 2B | Brice Turang | better | 11 | 6 | 5 | 7 | 4 | predicted_SO | -1.0350 | deboost | better |
| away | SF | pitcher | Middle Reliever | Caleb Kilian | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.0000 | boost | better |
| home | MIL | batter | DH | Christian Yelich | worse | 12 | 3 | 9 | 4 | 8 | predicted_H | -0.9500 | deboost | worse |
| home | MIL | batter | LF | Jake Bauers | better | 10 | 6 | 4 | 7 | 3 | predicted_SO | -0.9180 | deboost | better |
| away | SF | batter | 3B | Matt Chapman | worse | 10 | 1 | 9 | 1 | 9 | predicted_AB | -0.8480 | deboost | worse |
| away | SF | batter | 1B | Bryce Eldridge | worse | 11 | 1 | 10 | 0 | 11 | predicted_H | -0.8300 | deboost | worse |
| away | SF | batter | LF | Casey Schmitt | worse | 12 | 1 | 11 | 2 | 10 | predicted_SO | -0.8220 | deboost | better |
| away | SF | batter | DH | Rafael Devers | worse | 9 | 4 | 5 | 3 | 6 | predicted_SO | 0.7530 | boost | worse |
| home | MIL | batter | CF | Jackson Chourio | worse | 11 | 4 | 7 | 3 | 8 | predicted_AB | -0.7400 | deboost | worse |
| home | MIL | batter | RF | Sal Frelick | worse | 10 | 0 | 10 | 1 | 9 | predicted_H | -0.7300 | deboost | worse |
| home | MIL | batter | 3B | Luis Rengifo | worse | 10 | 1 | 9 | 0 | 10 | predicted_AB | -0.6290 | deboost | worse |
| home | MIL | pitcher | Middle Reliever | Aaron Ashby | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | MIL | pitcher | Middle Reliever | Trevor Megill | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Landen Roupp |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5206 |
| ESPN Rank | 120 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1759 |
| Avg Velo | 86.5537 |
| Avg Spin | 2368.5192 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 4 |
| Pre H | 6 |
| Pre BB | 2 |
| Pre SO | 4 |
| Season ERA | 3.3000 |
| Season WHIP | 1.1833 |
| Role Avg IP | 5.4550 |
| Recent Avg IP | 4.9330 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 68,
"wins": 28,
"losses": 40,
"win_pct": 0.4118,
"runs_scored": 286.0,
"runs_allowed": 317.0,
"run_differential": -31.0,
"run_differential_per_game": -0.4559,
"avg_runs_scored": 4.2059,
"avg_runs_allowed": 4.6618,
"offense_index": 0.9493,
"defense_index": 0.9504,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 6.2,
"avg_runs_allowed": 6.1,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.2016
},
"opponent": {
"team": "MIL",
"games": 66,
"wins": 39,
"losses": 27,
"win_pct": 0.5909,
"runs_scored": 311.0,
"runs_allowed": 232.0,
"run_differential": 79.0,
"run_differential_per_game": 1.197,
"avg_runs_scored": 4.7121,
"avg_runs_allowed": 3.5152,
"offense_index": 1.0636,
"defense_index": 1.2604,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.2,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.2959
},
"edges": {
"quality_edge": -0.4975,
"offense_edge": -0.0507,
"opponent_offense_edge": 0.0636,
"defense_strength": -0.0496,
"opponent_defense_weakness": -0.2604,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9761,
"run_prevention": 1.04,
"strikeout": 0.98
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "694738",
"profile": {
"available": true,
"pitcher_id": "694738",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 222.0,
"k_percent": 27.4,
"bb_percent": 8.9,
"woba": 0.281,
"xwoba": 0.278,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 2.6,
"hard_hit_percent": 26.3,
"avg_best_speed": 76.9627,
"avg_hyper_speed": 92.3592,
"whiff_percent": 26.2,
"swing_percent": 42.4
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.8949,
"command_and_miss": 0.3486,
"regression_edge": 0.0857,
"xwoba_edge": 0.9714,
"barrel_edge": 1.0222,
"hard_hit_edge": 1.7571,
"whiff_edge": 0.0571,
"bb_edge": 0.1,
"pitch_design_score": -0.1759
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "694738",
"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": 86.55365427597782,
"release_spin_rate": 2368.519186944578,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 86.55365427597782,
"release_spin_rate": 2368.519186944578,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5537,
"release_spin_rate": 2368.5192,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1759,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.2566,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.5206,
"sample_weight": 0.888,
"run_prevention_factor": 0.9557,
"strikeout_factor": 1.0264,
"walk_factor": 0.9929,
"homer_factor": 0.8391,
"woba_minus_xwoba": 0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694738",
"espn_id": 4345404,
"player_name": "Landen Roupp",
"team": "SF",
"role": "pitcher",
"espn_rank": 120,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 120,
"gp_value": 11.0,
"gp_rank": 291,
"gs_value": 11.0,
"gs_rank": 48,
"qs_value": 5.0,
"qs_rank": 33,
"era_value": 3.3,
"era_rank": 31.0,
"w_value": 5.0,
"w_rank": 21,
"l_value": 5.0,
"l_rank": 20,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 60.0,
"ip_rank": 65,
"h_value": 49.0,
"h_rank": 90,
"er_value": 22.0,
"er_rank": 96,
"hr_value": 3.0,
"hr_rank": 198,
"bb_value": 22.0,
"bb_rank": 40,
"k_value": 68.0,
"k_rank": 26,
"k_per_9_value": 10.2,
"k_per_9_rank": 10,
"whip_value": 1.1833,
"whip_rank": 40.0,
"war_value": 0.7,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9607,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 0.9607,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9937,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.8571,
"adjusted": 0
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0234,
"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": 54.0,
"ER": 22,
"H": 47,
"BB": 20,
"SO": 61,
"HR": 3,
"ERA": 3.666666666666667,
"WHIP": 1.240740740740741,
"K9": 10.166666666666668,
"HR9": 0.5000000000000001,
"games_pitched": 10,
"quality_starts": 4,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-25T00:00:00"
}{
"available": true,
"pitcher_id": "694738",
"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": 86.55365427597782,
"release_spin_rate": 2368.519186944578,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 86.55365427597782,
"release_spin_rate": 2368.519186944578,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5537,
"release_spin_rate": 2368.5192,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1759,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.2566,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": "694738",
"report_date": "20260601_S",
"season_year": 2026,
"rows_used": 11,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 24.2,
"ER": 12.0,
"R": 14.0,
"H": 31.0,
"BB": 8.0,
"SO": 31.0,
"HR": 2.0,
"BF": 111.0,
"Pitches": 471.0
},
"per_game": {
"IP": 5.0,
"ER": 2.4,
"R": 2.8,
"H": 6.2,
"BB": 1.6,
"SO": 6.2,
"HR": 0.4,
"BF": 22.2,
"Pitches": 94.2
},
"rates": {
"ERA": 4.3784,
"WHIP": 1.5811,
"ER_per_IP": 0.48649,
"H_per_IP": 1.25676,
"BB_per_IP": 0.32432,
"SO_per_IP": 1.25676,
"HR_per_IP": 0.08108
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 54.0,
"ER": 22.0,
"R": 26.0,
"H": 47.0,
"BB": 20.0,
"SO": 61.0,
"HR": 3.0,
"BF": 227.0,
"Pitches": 955.0
},
"per_game": {
"IP": 5.1,
"ER": 2.2,
"R": 2.6,
"H": 4.7,
"BB": 2.0,
"SO": 6.1,
"HR": 0.3,
"BF": 22.7,
"Pitches": 95.5
},
"rates": {
"ERA": 3.6667,
"WHIP": 1.2407,
"ER_per_IP": 0.40741,
"H_per_IP": 0.87037,
"BB_per_IP": 0.37037,
"SO_per_IP": 1.12963,
"HR_per_IP": 0.05556
}
},
"season": {
"games": 11,
"totals": {
"IP": 60.0,
"ER": 22.0,
"R": 26.0,
"H": 49.0,
"BB": 22.0,
"SO": 68.0,
"HR": 3.0,
"BF": 248.0,
"Pitches": 1043.0
},
"per_game": {
"IP": 5.1,
"ER": 2.0,
"R": 2.3636,
"H": 4.4545,
"BB": 2.0,
"SO": 6.1818,
"HR": 0.2727,
"BF": 22.5455,
"Pitches": 94.8182
},
"rates": {
"ERA": 3.3,
"WHIP": 1.1833,
"ER_per_IP": 0.36667,
"H_per_IP": 0.81667,
"BB_per_IP": 0.36667,
"SO_per_IP": 1.13333,
"HR_per_IP": 0.05
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.296,
"predicted_H": 5.164,
"predicted_BB": 1.82,
"predicted_SO": 5.692,
"predicted_HR": 0.447,
"predicted_ERA": 4.0305,
"predicted_WHIP": 1.3625
}
}{
"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.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.296,
"final": 3.1174,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 5.164,
"final": 5.567,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.82,
"final": 1.9068,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 5.692,
"final": 4.8764,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.447,
"final": 0.7136,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.0305,
"final": 4.0305,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3625,
"final": 1.3625,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Caleb Kilian |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0590 |
| ESPN Rank | 280 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0908 |
| Avg Velo | 91.3162 |
| Avg Spin | 2486.3492 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 2 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 3 |
| Season ERA | 3.8077 |
| Season WHIP | 1.1538 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 68,
"wins": 28,
"losses": 40,
"win_pct": 0.4118,
"runs_scored": 286.0,
"runs_allowed": 317.0,
"run_differential": -31.0,
"run_differential_per_game": -0.4559,
"avg_runs_scored": 4.2059,
"avg_runs_allowed": 4.6618,
"offense_index": 0.9493,
"defense_index": 0.9504,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 6.2,
"avg_runs_allowed": 6.1,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.2016
},
"opponent": {
"team": "MIL",
"games": 66,
"wins": 39,
"losses": 27,
"win_pct": 0.5909,
"runs_scored": 311.0,
"runs_allowed": 232.0,
"run_differential": 79.0,
"run_differential_per_game": 1.197,
"avg_runs_scored": 4.7121,
"avg_runs_allowed": 3.5152,
"offense_index": 1.0636,
"defense_index": 1.2604,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.2,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.2959
},
"edges": {
"quality_edge": -0.4975,
"offense_edge": -0.0507,
"opponent_offense_edge": 0.0636,
"defense_strength": -0.0496,
"opponent_defense_weakness": -0.2604,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9761,
"run_prevention": 1.04,
"strikeout": 0.98
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668873",
"profile": {
"available": true,
"pitcher_id": "668873",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 95.0,
"k_percent": 26.0,
"bb_percent": 11.5,
"woba": 0.286,
"xwoba": 0.309,
"sweet_spot_percent": 31.7,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 34.9,
"avg_best_speed": 75.233,
"avg_hyper_speed": 93.5469,
"whiff_percent": 27.3,
"swing_percent": 47.7
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.2531,
"command_and_miss": 0.1836,
"regression_edge": -0.6571,
"xwoba_edge": 0.0857,
"barrel_edge": -0.1556,
"hard_hit_edge": 0.5286,
"whiff_edge": 0.2143,
"bb_edge": -0.55,
"pitch_design_score": 0.0908
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "668873",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 91.31622332276896,
"release_spin_rate": 2486.349222384747,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 91.31622332276896,
"release_spin_rate": 2486.349222384747,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.3162,
"release_spin_rate": 2486.3492,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0908,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6484,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.059,
"sample_weight": 0.45,
"run_prevention_factor": 0.995,
"strikeout_factor": 1.0126,
"walk_factor": 1.0198,
"homer_factor": 0.9949,
"woba_minus_xwoba": -0.023,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668873",
"espn_id": 4875969,
"player_name": "Caleb Kilian",
"team": "SF",
"role": "pitcher",
"espn_rank": 280,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 280,
"gp_value": 24.0,
"gp_rank": 72,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 3.8076,
"era_rank": null,
"w_value": 2.0,
"w_rank": 141,
"l_value": 3.0,
"l_rank": 75,
"sv_value": 3.0,
"sv_rank": 37,
"hld_value": 3.0,
"hld_rank": 120,
"ip_value": 26.0,
"ip_rank": 216,
"h_value": 17.0,
"h_rank": 311,
"er_value": 11.0,
"er_rank": 237,
"hr_value": 5.0,
"hr_rank": 113,
"bb_value": 13.0,
"bb_rank": 179,
"k_value": 29.0,
"k_rank": 188,
"k_per_9_value": 10.038462,
"k_per_9_rank": 23,
"whip_value": 1.1538,
"whip_rank": null,
"war_value": 0.14,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9978,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9978,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0089,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9977,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0057,
"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": 10,
"H": 10,
"BB": 5,
"SO": 13,
"HR": 4,
"ERA": 8.181818181818182,
"WHIP": 1.3636363636363635,
"K9": 10.636363636363637,
"HR9": 3.272727272727273,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-31T00:00:00"
}{
"available": true,
"pitcher_id": "668873",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 91.31622332276896,
"release_spin_rate": 2486.349222384747,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 91.31622332276896,
"release_spin_rate": 2486.349222384747,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.3162,
"release_spin_rate": 2486.3492,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0908,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6484,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.131,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5065,
"prior_weight": 0.4935
},
"role": "pitcher",
"player_id": "668873",
"report_date": "20260601_S",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 7.0,
"R": 8.0,
"H": 7.0,
"BB": 1.0,
"SO": 8.0,
"HR": 2.0,
"BF": 26.0,
"Pitches": 95.0
},
"per_game": {
"IP": 1.1,
"ER": 1.4,
"R": 1.6,
"H": 1.4,
"BB": 0.2,
"SO": 1.6,
"HR": 0.4,
"BF": 5.2,
"Pitches": 19.0
},
"rates": {
"ERA": 10.5,
"WHIP": 1.3333,
"ER_per_IP": 1.16667,
"H_per_IP": 1.16667,
"BB_per_IP": 0.16667,
"SO_per_IP": 1.33333,
"HR_per_IP": 0.33333
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 10.0,
"R": 11.0,
"H": 10.0,
"BB": 5.0,
"SO": 13.0,
"HR": 4.0,
"BF": 48.0,
"Pitches": 193.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.1,
"H": 1.0,
"BB": 0.5,
"SO": 1.3,
"HR": 0.4,
"BF": 4.8,
"Pitches": 19.3
},
"rates": {
"ERA": 8.1818,
"WHIP": 1.3636,
"ER_per_IP": 0.90909,
"H_per_IP": 0.90909,
"BB_per_IP": 0.45455,
"SO_per_IP": 1.18182,
"HR_per_IP": 0.36364
}
},
"season": {
"games": 24,
"totals": {
"IP": 26.0,
"ER": 11.0,
"R": 13.0,
"H": 17.0,
"BB": 13.0,
"SO": 29.0,
"HR": 5.0,
"BF": 108.0,
"Pitches": 407.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4583,
"R": 0.5417,
"H": 0.7083,
"BB": 0.5417,
"SO": 1.2083,
"HR": 0.2083,
"BF": 4.5,
"Pitches": 16.9583
},
"rates": {
"ERA": 3.8077,
"WHIP": 1.1538,
"ER_per_IP": 0.42308,
"H_per_IP": 0.65385,
"BB_per_IP": 0.5,
"SO_per_IP": 1.11538,
"HR_per_IP": 0.19231
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.759,
"predicted_H": 1.035,
"predicted_BB": 0.378,
"predicted_SO": 1.173,
"predicted_HR": 0.243,
"predicted_ERA": 6.3453,
"predicted_WHIP": 1.3133
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5585,
"form_weight": 0.4415,
"form_reliability": 0.5065,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.131,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5065,
"prior_weight": 0.4935
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.759,
"final": 0.3351,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.035,
"final": 0.4569,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.378,
"final": 0.1669,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 1.173,
"final": 2.1934,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.243,
"final": 0.1073,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.3453,
"final": 6.3453,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3133,
"final": 1.3133,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Keaton Winn |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3833 |
| ESPN Rank | 181 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1595 |
| Avg Velo | 92.5436 |
| Avg Spin | 1915.2713 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 2.4545 |
| Season WHIP | 0.8961 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 68,
"wins": 28,
"losses": 40,
"win_pct": 0.4118,
"runs_scored": 286.0,
"runs_allowed": 317.0,
"run_differential": -31.0,
"run_differential_per_game": -0.4559,
"avg_runs_scored": 4.2059,
"avg_runs_allowed": 4.6618,
"offense_index": 0.9493,
"defense_index": 0.9504,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 6.2,
"avg_runs_allowed": 6.1,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.2016
},
"opponent": {
"team": "MIL",
"games": 66,
"wins": 39,
"losses": 27,
"win_pct": 0.5909,
"runs_scored": 311.0,
"runs_allowed": 232.0,
"run_differential": 79.0,
"run_differential_per_game": 1.197,
"avg_runs_scored": 4.7121,
"avg_runs_allowed": 3.5152,
"offense_index": 1.0636,
"defense_index": 1.2604,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.2,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.2959
},
"edges": {
"quality_edge": -0.4975,
"offense_edge": -0.0507,
"opponent_offense_edge": 0.0636,
"defense_strength": -0.0496,
"opponent_defense_weakness": -0.2604,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9761,
"run_prevention": 1.04,
"strikeout": 0.98
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676775",
"profile": {
"available": true,
"pitcher_id": "676775",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 85.0,
"k_percent": 22.7,
"bb_percent": 8.2,
"woba": 0.222,
"xwoba": 0.247,
"sweet_spot_percent": 29.9,
"barrel_batted_rate": 3.0,
"hard_hit_percent": 26.9,
"avg_best_speed": 74.5205,
"avg_hyper_speed": 92.4114,
"whiff_percent": 25.7,
"swing_percent": 49.4
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.5997,
"command_and_miss": 0.0564,
"regression_edge": -0.7143,
"xwoba_edge": 1.8571,
"barrel_edge": 0.9333,
"hard_hit_edge": 1.6714,
"whiff_edge": -0.0143,
"bb_edge": 0.275,
"pitch_design_score": 0.1595
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676775",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.54362711575556,
"release_spin_rate": 1915.2712786040493,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.54362711575556,
"release_spin_rate": 1915.2712786040493,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.5436,
"release_spin_rate": 1915.2713,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1595,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1394,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.3833,
"sample_weight": 0.45,
"run_prevention_factor": 0.9674,
"strikeout_factor": 1.0,
"walk_factor": 0.9901,
"homer_factor": 0.9112,
"woba_minus_xwoba": -0.025,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676775",
"espn_id": 5116843,
"player_name": "Keaton Winn",
"team": "SF",
"role": "pitcher",
"espn_rank": 181,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 181,
"gp_value": 25.0,
"gp_rank": 47,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.4545,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 11.0,
"hld_rank": 5,
"ip_value": 25.2,
"ip_rank": 224,
"h_value": 15.0,
"h_rank": 349,
"er_value": 7.0,
"er_rank": 350,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 8.0,
"bb_rank": 302,
"k_value": 22.0,
"k_rank": 269,
"k_per_9_value": 7.7142854,
"k_per_9_rank": 32,
"whip_value": 0.8961,
"whip_rank": null,
"war_value": 0.45,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9853,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9853,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9955,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.96,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.0,
"ER": 3,
"H": 8,
"BB": 3,
"SO": 9,
"HR": 1,
"ERA": 2.454545454545455,
"WHIP": 1.0000000000000002,
"K9": 7.363636363636365,
"HR9": 0.8181818181818183,
"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-29T00:00:00"
}{
"available": true,
"pitcher_id": "676775",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.54362711575556,
"release_spin_rate": 1915.2712786040493,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.54362711575556,
"release_spin_rate": 1915.2712786040493,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.5436,
"release_spin_rate": 1915.2713,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1595,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1394,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.065,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5032,
"prior_weight": 0.4968
},
"role": "pitcher",
"player_id": "676775",
"report_date": "20260601_S",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.1,
"ER": 2.0,
"R": 3.0,
"H": 5.0,
"BB": 2.0,
"SO": 6.0,
"HR": 1.0,
"BF": 25.0,
"Pitches": 84.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.6,
"H": 1.0,
"BB": 0.4,
"SO": 1.2,
"HR": 0.2,
"BF": 5.0,
"Pitches": 16.8
},
"rates": {
"ERA": 2.8421,
"WHIP": 1.1053,
"ER_per_IP": 0.31579,
"H_per_IP": 0.78947,
"BB_per_IP": 0.31579,
"SO_per_IP": 0.94737,
"HR_per_IP": 0.15789
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 3.0,
"R": 4.0,
"H": 8.0,
"BB": 3.0,
"SO": 9.0,
"HR": 1.0,
"BF": 43.0,
"Pitches": 152.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 0.8,
"BB": 0.3,
"SO": 0.9,
"HR": 0.1,
"BF": 4.3,
"Pitches": 15.2
},
"rates": {
"ERA": 2.4545,
"WHIP": 1.0,
"ER_per_IP": 0.27273,
"H_per_IP": 0.72727,
"BB_per_IP": 0.27273,
"SO_per_IP": 0.81818,
"HR_per_IP": 0.09091
}
},
"season": {
"games": 25,
"totals": {
"IP": 25.2,
"ER": 7.0,
"R": 8.0,
"H": 15.0,
"BB": 8.0,
"SO": 22.0,
"HR": 1.0,
"BF": 97.0,
"Pitches": 362.0
},
"per_game": {
"IP": 1.0,
"ER": 0.28,
"R": 0.32,
"H": 0.6,
"BB": 0.32,
"SO": 0.88,
"HR": 0.04,
"BF": 3.88,
"Pitches": 14.48
},
"rates": {
"ERA": 2.4545,
"WHIP": 0.8961,
"ER_per_IP": 0.27273,
"H_per_IP": 0.58442,
"BB_per_IP": 0.31169,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.03896
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.413,
"predicted_H": 0.901,
"predicted_BB": 0.359,
"predicted_SO": 0.981,
"predicted_HR": 0.131,
"predicted_ERA": 3.453,
"predicted_WHIP": 1.1717
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5599,
"form_weight": 0.4401,
"form_reliability": 0.5032,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.065,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5032,
"prior_weight": 0.4968
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.413,
"final": 0.1818,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.901,
"final": 0.3965,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.359,
"final": 0.7179,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.981,
"final": 0.9916,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.131,
"final": 0.0577,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.453,
"final": 3.453,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1717,
"final": 1.1717,
"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.329 | 0.000 | 1.000 | Hitting_2B | 0.329 | 0.000 | -0.329 | 0.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_AB | 4.340 | 4.000 | 9.000 | Hitting_AB | 4.205 | 5.000 | -0.205 | -1.000 |
| predicted_AVG | 0.233 | 0.250 | 0.222 | Hitting_AVG | 0.254 | 0.600 | -0.004 | -0.350 |
| predicted_BB | 0.179 | 0.000 | 0.000 | Hitting_BB | 0.179 | 1.000 | -0.179 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_H | 1.010 | 1.000 | 2.000 | Hitting_H | 1.068 | 3.000 | -0.068 | -2.000 |
| predicted_HR | 0.170 | 1.000 | 0.000 | Hitting_HR | 0.132 | 1.000 | 0.868 | 0.000 |
| predicted_OBP | 0.299 | 0.250 | 0.222 | Hitting_OBP | 0.287 | 0.667 | -0.037 | -0.417 |
| predicted_R | 0.526 | 1.000 | 1.000 | Hitting_R | 0.526 | 1.000 | 0.474 | 0.000 |
| predicted_RBI | 0.570 | 1.000 | 1.000 | Hitting_RBI | 0.389 | 4.000 | 0.611 | -3.000 |
| predicted_SLG | 0.454 | 1.000 | 0.333 | Hitting_SLG | 0.437 | 1.200 | 0.563 | -0.200 |
| predicted_SO | 1.218 | 0.000 | 3.000 | Hitting_SO | 1.218 | 1.000 | -1.218 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_HR: 0.1700 -> 1.0000 (boost 0.8300, better) |
| Biggest Deboost | predicted_SO: 1.2180 -> 0.0000 (deboost -1.2180, 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.3400 -> 8.6680 (boost 4.3280, 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.2861 -> 2.1540 (deboost -0.1321, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_SO: 2.4571 -> 3.0000 (boost 0.5429, worse) | predicted_BB: 0.3662 -> 0.0000 (deboost -0.3662, worse) | AB rounded to 9 (raw=8.67), rates preserved: AVG=0.248 HR/AB=0.036 |
| 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.4653 -> 0.3330 (deboost -0.1323, 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_HR: 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.3330 -> 0.4653 (boost 0.1323, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "642715",
"player_name": "Willy Adames",
"position": "SS",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.329,
"predicted_3B": 0.021,
"predicted_AB": 4.34,
"predicted_AVG": 0.233,
"predicted_BB": 0.179,
"predicted_H": 1.01,
"predicted_HR": 0.17,
"predicted_OBP": 0.299,
"predicted_R": 0.526,
"predicted_RBI": 0.57,
"predicted_SLG": 0.454,
"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.8348,
"predicted_3B": 0.0563,
"predicted_AB": 8.668,
"predicted_AVG": 0.2519,
"predicted_BB": 0.3725,
"predicted_H": 2.2861,
"predicted_HBP": 0.046,
"predicted_HR": 0.3295,
"predicted_OBP": 0.3015,
"predicted_R": 1.1343,
"predicted_RBI": 1.1063,
"predicted_SLG": 0.4775,
"predicted_SO": 2.416
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.329,
"after": 0.8348,
"delta": 0.5058,
"percent_delta": 1.5374,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0563,
"delta": 0.0353,
"percent_delta": 1.681,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.34,
"after": 8.668,
"delta": 4.328,
"percent_delta": 0.9972,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2519,
"delta": 0.0189,
"percent_delta": 0.0811,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.179,
"after": 0.3725,
"delta": 0.1935,
"percent_delta": 1.081,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 2.2861,
"delta": 1.2761,
"percent_delta": 1.2635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.3295,
"delta": 0.1595,
"percent_delta": 0.9382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.3015,
"delta": 0.0025,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.526,
"after": 1.1343,
"delta": 0.6083,
"percent_delta": 1.1565,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 1.1063,
"delta": 0.5363,
"percent_delta": 0.9409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.454,
"after": 0.4775,
"delta": 0.0235,
"percent_delta": 0.0518,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.218,
"after": 2.416,
"delta": 1.198,
"percent_delta": 0.9836,
"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": 8.668,
"delta": 4.328,
"percent_delta": 0.9972,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 57
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.8348,
"predicted_3B": 0.0563,
"predicted_AB": 8.668,
"predicted_AVG": 0.2485,
"predicted_BB": 0.3662,
"predicted_H": 2.154,
"predicted_HBP": 0.046,
"predicted_HR": 0.3107,
"predicted_OBP": 0.279,
"predicted_R": 1.0218,
"predicted_RBI": 0.9966,
"predicted_SLG": 0.4653,
"predicted_SO": 2.4571
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.8348,
"after": 0.8348,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0563,
"after": 0.0563,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.668,
"after": 8.668,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2519,
"after": 0.2485,
"delta": -0.0034,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3725,
"after": 0.3662,
"delta": -0.0063,
"percent_delta": -0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.2861,
"after": 2.154,
"delta": -0.1321,
"percent_delta": -0.0578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.046,
"after": 0.046,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3295,
"after": 0.3107,
"delta": -0.0188,
"percent_delta": -0.0571,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3015,
"after": 0.279,
"delta": -0.0225,
"percent_delta": -0.0746,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1343,
"after": 1.0218,
"delta": -0.1125,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1063,
"after": 0.9966,
"delta": -0.1097,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4775,
"after": 0.4653,
"delta": -0.0122,
"percent_delta": -0.0255,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.416,
"after": 2.4571,
"delta": 0.0411,
"percent_delta": 0.017,
"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.2861,
"after": 2.154,
"delta": -0.1321,
"percent_delta": -0.0578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=8.67), rates preserved: AVG=0.248 HR/AB=0.036",
"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": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.8348,
"after": 1.0,
"delta": 0.1652,
"percent_delta": 0.1979,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0563,
"after": 0.0,
"delta": -0.0563,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 8.668,
"after": 9.0,
"delta": 0.332,
"percent_delta": 0.0383,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3662,
"after": 0.0,
"delta": -0.3662,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.154,
"after": 2.0,
"delta": -0.154,
"percent_delta": -0.0715,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.046,
"after": 0.0,
"delta": -0.046,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3107,
"after": 0.0,
"delta": -0.3107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9966,
"after": 1.0,
"delta": 0.0034,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.4571,
"after": 3.0,
"delta": 0.5429,
"percent_delta": 0.221,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.4571,
"after": 3.0,
"delta": 0.5429,
"percent_delta": 0.221,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3662,
"after": 0.0,
"delta": -0.3662,
"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": 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": 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.0218,
"after": 1.0,
"delta": -0.0218,
"percent_delta": -0.0213,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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": 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": 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.2485,
"after": 0.222,
"delta": -0.0265,
"percent_delta": -0.1066,
"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.279,
"after": 0.222,
"delta": -0.057,
"percent_delta": -0.2043,
"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.4653,
"after": 0.333,
"delta": -0.1323,
"percent_delta": -0.2843,
"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.4653,
"after": 0.333,
"delta": -0.1323,
"percent_delta": -0.2843,
"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": 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": 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": 3.0,
"after": 0.0,
"delta": -3.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_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": 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.2485,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.279,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4653,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2485,
"delta": 0.0265,
"percent_delta": 0.1194,
"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.222,
"after": 0.279,
"delta": 0.057,
"percent_delta": 0.2566,
"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.4653,
"delta": 0.1323,
"percent_delta": 0.3974,
"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.4653,
"delta": 0.1323,
"percent_delta": 0.3974,
"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.329,
"after": 0.0,
"delta": -0.329,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.34,
"after": 4.0,
"delta": -0.34,
"percent_delta": -0.0783,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2485,
"delta": 0.0155,
"percent_delta": 0.0665,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.179,
"after": 0.0,
"delta": -0.179,
"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.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.279,
"delta": -0.02,
"percent_delta": -0.0669,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.526,
"after": 1.0,
"delta": 0.474,
"percent_delta": 0.9011,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 1.0,
"delta": 0.43,
"percent_delta": 0.7544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.454,
"after": 0.4653,
"delta": 0.0113,
"percent_delta": 0.0249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.218,
"after": 0.0,
"delta": -1.218,
"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_HR",
"before": 0.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.218,
"after": 0.0,
"delta": -1.218,
"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.329 | - |
| predicted_3B | 0.021 | - |
| predicted_AB | 4.340 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.179 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.299 | - |
| predicted_R | 0.526 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.454 | - |
| 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.835 | 0.506 |
| predicted_3B | 0.056 | 0.035 |
| predicted_AB | 8.668 | 4.328 |
| predicted_AVG | 0.252 | 0.019 |
| predicted_BB | 0.372 | 0.194 |
| predicted_H | 2.286 | 1.276 |
| predicted_HBP | 0.046 | - |
| predicted_HR | 0.330 | 0.160 |
| predicted_OBP | 0.301 | 0.003 |
| predicted_R | 1.134 | 0.608 |
| predicted_RBI | 1.106 | 0.536 |
| predicted_SLG | 0.477 | 0.023 |
| predicted_SO | 2.416 | 1.198 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.835 | 0.000 |
| predicted_3B | 0.056 | 0.000 |
| predicted_AB | 8.668 | 0.000 |
| predicted_AVG | 0.248 | -0.003 |
| predicted_BB | 0.366 | -0.006 |
| predicted_H | 2.154 | -0.132 |
| predicted_HBP | 0.046 | 0.000 |
| predicted_HR | 0.311 | -0.019 |
| predicted_OBP | 0.279 | -0.022 |
| predicted_R | 1.022 | -0.113 |
| predicted_RBI | 0.997 | -0.110 |
| predicted_SLG | 0.465 | -0.012 |
| predicted_SO | 2.457 | 0.041 |
AB rounded to 9 (raw=8.67), rates preserved: AVG=0.248 HR/AB=0.036
| 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 | 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 | 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 | 1.000 | 0.165 |
| predicted_3B | 0.000 | -0.056 |
| predicted_AB | 9.000 | 0.332 |
| predicted_AVG | 0.222 | -0.026 |
| predicted_BB | 0.000 | -0.366 |
| predicted_H | 2.000 | -0.154 |
| predicted_HR | 0.000 | -0.311 |
| predicted_OBP | 0.222 | -0.057 |
| predicted_R | 1.000 | -0.022 |
| predicted_RBI | 1.000 | 0.003 |
| predicted_SLG | 0.333 | -0.132 |
| predicted_SO | 3.000 | 0.543 |
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 | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -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 | 4 | - | 21.000 | 7.000 | 4.000 | 0.000 | 1.000 | 5.000 | 3.000 | 1.000 | 5.000 | 0.3333 | 0.3478 | 0.6667 | 0.3333 | 0.0476 | 0.2381 | 0.0476 | 0.2381 |
| last_10 | 0.20 | 5 | - | 44.000 | 17.000 | 8.000 | 3.000 | 4.000 | 8.000 | 11.000 | 1.000 | 13.000 | 0.3864 | 0.3913 | 0.9773 | 0.3864 | 0.0909 | 0.1818 | 0.0227 | 0.2954 |
| season | 0.60 | 57 | - | 984.000 | 250.000 | 77.000 | 5.000 | 31.000 | 91.000 | 123.000 | 42.000 | 285.000 | 0.2541 | 0.2871 | 0.4370 | 0.2541 | 0.0315 | 0.0925 | 0.0427 | 0.2896 |
| Metric | Value |
|---|---|
| predicted_2B | 1.4740 |
| predicted_3B | 0.1010 |
| predicted_AB | 14.1380 |
| predicted_AVG | 0.2758 |
| predicted_BB | 0.6170 |
| predicted_H | 3.8990 |
| predicted_HBP | 0.0460 |
| predicted_HR | 0.5310 |
| predicted_OBP | 0.3047 |
| predicted_R | 1.9030 |
| predicted_RBI | 1.7840 |
| predicted_SLG | 0.5071 |
| predicted_SO | 3.9300 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3290 | 1.4740 | 0.8348 | model_form_blend |
| predicted_3B | 0.0210 | 0.1010 | 0.0563 | model_form_blend |
| predicted_AB | 4.3400 | 14.1380 | 8.6680 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2758 | 0.2519 | model_form_blend |
| predicted_BB | 0.1790 | 0.6170 | 0.3725 | model_form_blend |
| predicted_H | 1.0100 | 3.8990 | 2.2861 | model_form_blend |
| predicted_HBP | - | 0.0460 | 0.0460 | form_only |
| predicted_HR | 0.1700 | 0.5310 | 0.3295 | model_form_blend |
| predicted_OBP | 0.2990 | 0.3047 | 0.3015 | model_form_blend |
| predicted_R | 0.5260 | 1.9030 | 1.1343 | model_form_blend |
| predicted_RBI | 0.5700 | 1.7840 | 1.1063 | model_form_blend |
| predicted_SLG | 0.4540 | 0.5071 | 0.4775 | model_form_blend |
| predicted_SO | 1.2180 | 3.9300 | 2.4160 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 234 |
| Season rows before report date | 234 |
| Report year | 2026 |
| Profile rows used | 234 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.254 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.6 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 4 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 6 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260531_SF@COL |
| game_type | full |
| mlbID | 642715 |
| playerID | 642715 |
| playerName | Willy Adames |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | SF |
| teamID | 24 |
| game_date | 2026-05-31 |
| sl_k_percent | 28.0 |
| sl_bb_percent | 4.5 |
| sl_woba | 0.298 |
| sl_xwoba | 0.282 |
| sl_xba | 0.223 |
| sl_xslg | 0.384 |
| sl_sweet_spot_percent | 36.8 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 42.9 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 22.9 |
| sl_whiff_percent | 26.7 |
| sl_swing_percent | 48.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.277 | 1.000 | 1.000 | Hitting_2B | 0.277 | 3.000 | 0.723 | -2.000 |
| predicted_3B | 0.004 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 4.310 | 4.000 | 8.000 | Hitting_AB | 3.896 | 6.000 | 0.104 | -2.000 |
| predicted_AVG | 0.237 | 0.250 | 0.250 | Hitting_AVG | 0.256 | 0.667 | -0.006 | -0.417 |
| predicted_BB | 0.268 | 0.000 | 1.000 | Hitting_BB | 0.268 | 1.000 | -0.268 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.020 | 1.000 | 2.000 | Hitting_H | 0.996 | 4.000 | 0.004 | -3.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_OBP | 0.318 | 0.250 | 0.333 | Hitting_OBP | 0.302 | 0.714 | -0.052 | -0.464 |
| predicted_R | 0.420 | 1.000 | 1.000 | Hitting_R | 0.420 | 4.000 | 0.580 | -3.000 |
| predicted_RBI | 0.570 | 1.000 | 1.000 | Hitting_RBI | 0.541 | 1.000 | 0.459 | 0.000 |
| predicted_SLG | 0.442 | 0.500 | 0.375 | Hitting_SLG | 0.426 | 1.167 | 0.074 | -0.667 |
| predicted_SO | 1.247 | 2.000 | 3.000 | Hitting_SO | 1.247 | 1.000 | 0.753 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_SO: 1.2470 -> 2.0000 (boost 0.7530, worse) |
| Biggest Deboost | predicted_AB: 4.3100 -> 4.0000 (deboost -0.3100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 10 | 1 | 9 | 2 | predicted_AB: 4.3100 -> 8.0929 (boost 3.7829, better) | predicted_OBP: 0.3180 -> 0.3127 (deboost -0.0053, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 0 | 6 | 0 | 6 | - | predicted_H: 2.0293 -> 1.9120 (deboost -0.1173, 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.5515 -> 1.0000 (boost 0.4485, better) | predicted_HR: 0.1944 -> 0.0000 (deboost -0.1944, worse) | AB rounded to 8 (raw=8.09), rates preserved: AVG=0.236 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8880 -> 1.0000 (boost 0.1120, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2850 -> 0.3330 (boost 0.0480, better) | predicted_SLG: 0.4041 -> 0.3750 (deboost -0.0291, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 1 | 3 | - | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3750 -> 0.4041 (boost 0.0291, better) | predicted_OBP: 0.3330 -> 0.2850 (deboost -0.0480, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "646240",
"player_name": "Rafael Devers",
"position": "DH",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.277,
"predicted_3B": 0.004,
"predicted_AB": 4.31,
"predicted_AVG": 0.237,
"predicted_BB": 0.268,
"predicted_H": 1.02,
"predicted_HR": 0.12,
"predicted_OBP": 0.318,
"predicted_R": 0.42,
"predicted_RBI": 0.57,
"predicted_SLG": 0.442,
"predicted_SO": 1.247
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.6473,
"predicted_3B": 0.064,
"predicted_AB": 8.0929,
"predicted_AVG": 0.2457,
"predicted_BB": 0.561,
"predicted_H": 2.0293,
"predicted_HBP": 0.045,
"predicted_HR": 0.2061,
"predicted_OBP": 0.3127,
"predicted_R": 0.9858,
"predicted_RBI": 1.0484,
"predicted_SLG": 0.4405,
"predicted_SO": 2.5573
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.277,
"after": 0.6473,
"delta": 0.3703,
"percent_delta": 1.3368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.004,
"after": 0.064,
"delta": 0.06,
"percent_delta": 15.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.31,
"after": 8.0929,
"delta": 3.7829,
"percent_delta": 0.8777,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2457,
"delta": 0.0087,
"percent_delta": 0.0367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.268,
"after": 0.561,
"delta": 0.293,
"percent_delta": 1.0933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 2.0293,
"delta": 1.0093,
"percent_delta": 0.9895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.2061,
"delta": 0.0861,
"percent_delta": 0.7175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3127,
"delta": -0.0053,
"percent_delta": -0.0167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.42,
"after": 0.9858,
"delta": 0.5658,
"percent_delta": 1.3471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 1.0484,
"delta": 0.4784,
"percent_delta": 0.8393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.4405,
"delta": -0.0015,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.247,
"after": 2.5573,
"delta": 1.3103,
"percent_delta": 1.0508,
"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.31,
"after": 8.0929,
"delta": 3.7829,
"percent_delta": 0.8777,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3127,
"delta": -0.0053,
"percent_delta": -0.0167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 58
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.6473,
"predicted_3B": 0.064,
"predicted_AB": 8.0929,
"predicted_AVG": 0.2363,
"predicted_BB": 0.5515,
"predicted_H": 1.912,
"predicted_HBP": 0.045,
"predicted_HR": 0.1944,
"predicted_OBP": 0.285,
"predicted_R": 0.888,
"predicted_RBI": 0.9444,
"predicted_SLG": 0.4041,
"predicted_SO": 2.6008
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6473,
"after": 0.6473,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.064,
"after": 0.064,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0929,
"after": 8.0929,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2457,
"after": 0.2363,
"delta": -0.0094,
"percent_delta": -0.0383,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.561,
"after": 0.5515,
"delta": -0.0095,
"percent_delta": -0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0293,
"after": 1.912,
"delta": -0.1173,
"percent_delta": -0.0578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.045,
"after": 0.045,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2061,
"after": 0.1944,
"delta": -0.0117,
"percent_delta": -0.0568,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3127,
"after": 0.285,
"delta": -0.0277,
"percent_delta": -0.0886,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9858,
"after": 0.888,
"delta": -0.0978,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0484,
"after": 0.9444,
"delta": -0.104,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4405,
"after": 0.4041,
"delta": -0.0364,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.5573,
"after": 2.6008,
"delta": 0.0435,
"percent_delta": 0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.0293,
"after": 1.912,
"delta": -0.1173,
"percent_delta": -0.0578,
"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.236 HR/AB=0.024",
"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.6473,
"after": 1.0,
"delta": 0.3527,
"percent_delta": 0.5449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.064,
"after": 0.0,
"delta": -0.064,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 8.0929,
"after": 8.0,
"delta": -0.0929,
"percent_delta": -0.0115,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5515,
"after": 1.0,
"delta": 0.4485,
"percent_delta": 0.8132,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.912,
"after": 2.0,
"delta": 0.088,
"percent_delta": 0.046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.045,
"after": 0.0,
"delta": -0.045,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1944,
"after": 0.0,
"delta": -0.1944,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9444,
"after": 1.0,
"delta": 0.0556,
"percent_delta": 0.0589,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.6008,
"after": 3.0,
"delta": 0.3992,
"percent_delta": 0.1535,
"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.5515,
"after": 1.0,
"delta": 0.4485,
"percent_delta": 0.8132,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1944,
"after": 0.0,
"delta": -0.1944,
"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.888,
"after": 1.0,
"delta": 0.112,
"percent_delta": 0.1261,
"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.888,
"after": 1.0,
"delta": 0.112,
"percent_delta": 0.1261,
"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.2363,
"after": 0.25,
"delta": 0.0137,
"percent_delta": 0.058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.333,
"delta": 0.048,
"percent_delta": 0.1684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4041,
"after": 0.375,
"delta": -0.0291,
"percent_delta": -0.072,
"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.285,
"after": 0.333,
"delta": 0.048,
"percent_delta": 0.1684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4041,
"after": 0.375,
"delta": -0.0291,
"percent_delta": -0.072,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 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": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2363,
"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.285,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4041,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2363,
"delta": -0.0137,
"percent_delta": -0.055,
"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.285,
"delta": -0.048,
"percent_delta": -0.1442,
"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.4041,
"delta": 0.0291,
"percent_delta": 0.0776,
"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.375,
"after": 0.4041,
"delta": 0.0291,
"percent_delta": 0.0776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.285,
"delta": -0.048,
"percent_delta": -0.1442,
"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.277,
"after": 1.0,
"delta": 0.723,
"percent_delta": 2.6101,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.004,
"after": 0.0,
"delta": -0.004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.31,
"after": 4.0,
"delta": -0.31,
"percent_delta": -0.0719,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2363,
"delta": -0.0007,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.268,
"after": 0.0,
"delta": -0.268,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 1.0,
"delta": -0.02,
"percent_delta": -0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.285,
"delta": -0.033,
"percent_delta": -0.1038,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.42,
"after": 1.0,
"delta": 0.58,
"percent_delta": 1.381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 1.0,
"delta": 0.43,
"percent_delta": 0.7544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.4041,
"delta": -0.0379,
"percent_delta": -0.0857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.247,
"after": 2.0,
"delta": 0.753,
"percent_delta": 0.6038,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.247,
"after": 2.0,
"delta": 0.753,
"percent_delta": 0.6038,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.31,
"after": 4.0,
"delta": -0.31,
"percent_delta": -0.0719,
"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.277 | - |
| predicted_3B | 0.004 | - |
| predicted_AB | 4.310 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.268 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.420 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.442 | - |
| predicted_SO | 1.247 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.647 | 0.370 |
| predicted_3B | 0.064 | 0.060 |
| predicted_AB | 8.093 | 3.783 |
| predicted_AVG | 0.246 | 0.009 |
| predicted_BB | 0.561 | 0.293 |
| predicted_H | 2.029 | 1.009 |
| predicted_HBP | 0.045 | - |
| predicted_HR | 0.206 | 0.086 |
| predicted_OBP | 0.313 | -0.005 |
| predicted_R | 0.986 | 0.566 |
| predicted_RBI | 1.048 | 0.478 |
| predicted_SLG | 0.441 | -0.002 |
| predicted_SO | 2.557 | 1.310 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.647 | 0.000 |
| predicted_3B | 0.064 | 0.000 |
| predicted_AB | 8.093 | 0.000 |
| predicted_AVG | 0.236 | -0.009 |
| predicted_BB | 0.551 | -0.010 |
| predicted_H | 1.912 | -0.117 |
| predicted_HBP | 0.045 | 0.000 |
| predicted_HR | 0.194 | -0.012 |
| predicted_OBP | 0.285 | -0.028 |
| predicted_R | 0.888 | -0.098 |
| predicted_RBI | 0.944 | -0.104 |
| predicted_SLG | 0.404 | -0.036 |
| predicted_SO | 2.601 | 0.043 |
AB rounded to 8 (raw=8.09), rates preserved: AVG=0.236 HR/AB=0.024
| 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.353 |
| predicted_3B | 0.000 | -0.064 |
| predicted_AB | 8.000 | -0.093 |
| predicted_AVG | 0.250 | 0.014 |
| predicted_BB | 1.000 | 0.449 |
| predicted_H | 2.000 | 0.088 |
| predicted_HR | 0.000 | -0.194 |
| predicted_OBP | 0.333 | 0.048 |
| predicted_R | 1.000 | 0.112 |
| predicted_RBI | 1.000 | 0.056 |
| predicted_SLG | 0.375 | -0.029 |
| predicted_SO | 3.000 | 0.399 |
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 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 22.000 | 6.000 | 3.000 | 1.000 | 0.000 | 2.000 | 5.000 | 2.000 | 8.000 | 0.2727 | 0.3333 | 0.5000 | 0.2727 | 0.0000 | 0.0909 | 0.0909 | 0.3636 |
| last_10 | 0.20 | 5 | - | 42.000 | 9.000 | 6.000 | 1.000 | 0.000 | 5.000 | 5.000 | 2.000 | 15.000 | 0.2143 | 0.2500 | 0.4048 | 0.2143 | 0.0000 | 0.1191 | 0.0476 | 0.3571 |
| season | 0.60 | 58 | - | 900.000 | 230.000 | 64.000 | 1.000 | 29.000 | 125.000 | 97.000 | 62.000 | 288.000 | 0.2556 | 0.3023 | 0.4256 | 0.2556 | 0.0322 | 0.1389 | 0.0689 | 0.3200 |
| Metric | Value |
|---|---|
| predicted_2B | 1.1160 |
| predicted_3B | 0.1400 |
| predicted_AB | 12.8820 |
| predicted_AVG | 0.2568 |
| predicted_BB | 0.9320 |
| predicted_H | 3.3070 |
| predicted_HBP | 0.0450 |
| predicted_HR | 0.3150 |
| predicted_OBP | 0.3061 |
| predicted_R | 1.7020 |
| predicted_RBI | 1.6540 |
| predicted_SLG | 0.4385 |
| predicted_SO | 4.2160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2770 | 1.1160 | 0.6473 | model_form_blend |
| predicted_3B | 0.0040 | 0.1400 | 0.0640 | model_form_blend |
| predicted_AB | 4.3100 | 12.8820 | 8.0929 | model_form_blend |
| predicted_AVG | 0.2370 | 0.2568 | 0.2457 | model_form_blend |
| predicted_BB | 0.2680 | 0.9320 | 0.5610 | model_form_blend |
| predicted_H | 1.0200 | 3.3070 | 2.0293 | model_form_blend |
| predicted_HBP | - | 0.0450 | 0.0450 | form_only |
| predicted_HR | 0.1200 | 0.3150 | 0.2061 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3061 | 0.3127 | model_form_blend |
| predicted_R | 0.4200 | 1.7020 | 0.9858 | model_form_blend |
| predicted_RBI | 0.5700 | 1.6540 | 1.0484 | model_form_blend |
| predicted_SLG | 0.4420 | 0.4385 | 0.4405 | model_form_blend |
| predicted_SO | 1.2470 | 4.2160 | 2.5573 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.256 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 3 |
| Hitting_3B | 0 |
| Hitting_AB | 6 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 4 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 4 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 7 |
| 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 | 20260531_SF@COL |
| game_type | full |
| mlbID | 646240 |
| playerID | 646240 |
| playerName | Rafael Devers |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | SF |
| teamID | 24 |
| game_date | 2026-05-31 |
| sl_k_percent | 30.0 |
| sl_bb_percent | 5.8 |
| sl_woba | 0.304 |
| sl_xwoba | 0.291 |
| sl_xba | 0.222 |
| sl_xslg | 0.412 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 10.5 |
| sl_hard_hit_percent | 49.0 |
| sl_exit_velocity_avg | 91.5 |
| sl_launch_angle_avg | 11.7 |
| sl_whiff_percent | 30.5 |
| sl_swing_percent | 51.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.244 | 0.000 | 0.000 | Hitting_2B | 0.244 | 0.000 | -0.244 | 0.000 |
| predicted_3B | 0.051 | 0.000 | 0.000 | Hitting_3B | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_AB | 4.380 | 4.000 | 8.000 | Hitting_AB | 3.954 | 6.000 | 0.046 | -2.000 |
| predicted_AVG | 0.246 | 0.250 | 0.250 | Hitting_AVG | 0.308 | 0.500 | -0.058 | -0.250 |
| predicted_BB | 0.152 | 0.000 | 0.000 | Hitting_BB | 0.152 | 0.000 | -0.152 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 1.080 | 1.000 | 2.000 | Hitting_H | 1.218 | 3.000 | -0.218 | -2.000 |
| predicted_HR | 0.220 | 0.000 | 0.000 | Hitting_HR | 0.259 | 0.000 | -0.259 | 0.000 |
| predicted_OBP | 0.312 | 0.250 | 0.250 | Hitting_OBP | 0.351 | 0.500 | -0.101 | -0.250 |
| predicted_R | 0.655 | 0.000 | 1.000 | Hitting_R | 0.655 | 1.000 | -0.655 | -1.000 |
| predicted_RBI | 0.670 | 0.000 | 1.000 | Hitting_RBI | 0.680 | 2.000 | -0.680 | -2.000 |
| predicted_SLG | 0.490 | 0.250 | 0.250 | Hitting_SLG | 0.592 | 0.500 | -0.342 | -0.250 |
| predicted_SO | 0.822 | 0.000 | 2.000 | Hitting_SO | 0.822 | 2.000 | -0.822 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 11 |
| Better Metrics | 2 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_AVG: 0.2460 -> 0.2566 (boost 0.0106, better) |
| Biggest Deboost | predicted_SO: 0.8220 -> 0.0000 (deboost -0.8220, 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.3800 -> 8.1558 (boost 3.7758, 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.2208 -> 2.0924 (deboost -0.1284, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 1 | 8 | 0 | 9 | predicted_SO: 1.6176 -> 2.0000 (boost 0.3824, worse) | predicted_2B: 0.5089 -> 0.0000 (deboost -0.5089, worse) | AB rounded to 8 (raw=8.16), rates preserved: AVG=0.257 HR/AB=0.048 |
| 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.4821 -> 0.2500 (deboost -0.2321, 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.4821 (boost 0.2321, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669477",
"player_name": "Casey Schmitt",
"position": "LF",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.244,
"predicted_3B": 0.051,
"predicted_AB": 4.38,
"predicted_AVG": 0.246,
"predicted_BB": 0.152,
"predicted_H": 1.08,
"predicted_HR": 0.22,
"predicted_OBP": 0.312,
"predicted_R": 0.655,
"predicted_RBI": 0.67,
"predicted_SLG": 0.49,
"predicted_SO": 0.822
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.5089,
"predicted_3B": 0.0822,
"predicted_AB": 8.1558,
"predicted_AVG": 0.2625,
"predicted_BB": 0.2594,
"predicted_H": 2.2208,
"predicted_HBP": 0.329,
"predicted_HR": 0.4123,
"predicted_OBP": 0.3142,
"predicted_R": 1.142,
"predicted_RBI": 1.2437,
"predicted_SLG": 0.503,
"predicted_SO": 1.5906
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.244,
"after": 0.5089,
"delta": 0.2649,
"percent_delta": 1.0857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.051,
"after": 0.0822,
"delta": 0.0312,
"percent_delta": 0.6118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.38,
"after": 8.1558,
"delta": 3.7758,
"percent_delta": 0.8621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2625,
"delta": 0.0165,
"percent_delta": 0.0671,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.152,
"after": 0.2594,
"delta": 0.1074,
"percent_delta": 0.7066,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.08,
"after": 2.2208,
"delta": 1.1408,
"percent_delta": 1.0563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.4123,
"delta": 0.1923,
"percent_delta": 0.8741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3142,
"delta": 0.0022,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.655,
"after": 1.142,
"delta": 0.487,
"percent_delta": 0.7435,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.67,
"after": 1.2437,
"delta": 0.5737,
"percent_delta": 0.8563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.49,
"after": 0.503,
"delta": 0.013,
"percent_delta": 0.0265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.822,
"after": 1.5906,
"delta": 0.7686,
"percent_delta": 0.935,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 10,
"deboosted_metrics": 0,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.38,
"after": 8.1558,
"delta": 3.7758,
"percent_delta": 0.8621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.5089,
"predicted_3B": 0.0822,
"predicted_AB": 8.1558,
"predicted_AVG": 0.2566,
"predicted_BB": 0.255,
"predicted_H": 2.0924,
"predicted_HBP": 0.329,
"predicted_HR": 0.3888,
"predicted_OBP": 0.2791,
"predicted_R": 1.0287,
"predicted_RBI": 1.1203,
"predicted_SLG": 0.4821,
"predicted_SO": 1.6176
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5089,
"after": 0.5089,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0822,
"after": 0.0822,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.1558,
"after": 8.1558,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2625,
"after": 0.2566,
"delta": -0.0059,
"percent_delta": -0.0225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2594,
"after": 0.255,
"delta": -0.0044,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.2208,
"after": 2.0924,
"delta": -0.1284,
"percent_delta": -0.0578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.329,
"after": 0.329,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4123,
"after": 0.3888,
"delta": -0.0235,
"percent_delta": -0.057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3142,
"after": 0.2791,
"delta": -0.0351,
"percent_delta": -0.1117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.142,
"after": 1.0287,
"delta": -0.1133,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2437,
"after": 1.1203,
"delta": -0.1234,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.503,
"after": 0.4821,
"delta": -0.0209,
"percent_delta": -0.0416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5906,
"after": 1.6176,
"delta": 0.027,
"percent_delta": 0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.2208,
"after": 2.0924,
"delta": -0.1284,
"percent_delta": -0.0578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=8.16), rates preserved: AVG=0.257 HR/AB=0.048",
"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.5089,
"after": 0.0,
"delta": -0.5089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0822,
"after": 0.0,
"delta": -0.0822,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 8.1558,
"after": 8.0,
"delta": -0.1558,
"percent_delta": -0.0191,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.255,
"after": 0.0,
"delta": -0.255,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0924,
"after": 2.0,
"delta": -0.0924,
"percent_delta": -0.0442,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.329,
"after": 0.0,
"delta": -0.329,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3888,
"after": 0.0,
"delta": -0.3888,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1203,
"after": 1.0,
"delta": -0.1203,
"percent_delta": -0.1074,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6176,
"after": 2.0,
"delta": 0.3824,
"percent_delta": 0.2364,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 0,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.6176,
"after": 2.0,
"delta": 0.3824,
"percent_delta": 0.2364,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.5089,
"after": 0.0,
"delta": -0.5089,
"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.0287,
"after": 1.0,
"delta": -0.0287,
"percent_delta": -0.0279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 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.2566,
"after": 0.25,
"delta": -0.0066,
"percent_delta": -0.0257,
"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.2791,
"after": 0.25,
"delta": -0.0291,
"percent_delta": -0.1043,
"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.4821,
"after": 0.25,
"delta": -0.2321,
"percent_delta": -0.4814,
"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.4821,
"after": 0.25,
"delta": -0.2321,
"percent_delta": -0.4814,
"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": 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": 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": 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.2566,
"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.2791,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4821,
"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.2566,
"delta": 0.0066,
"percent_delta": 0.0262,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2791,
"delta": 0.0291,
"percent_delta": 0.1164,
"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.4821,
"delta": 0.2321,
"percent_delta": 0.9285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4821,
"delta": 0.2321,
"percent_delta": 0.9285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.244,
"after": 0.0,
"delta": -0.244,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.051,
"after": 0.0,
"delta": -0.051,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.38,
"after": 4.0,
"delta": -0.38,
"percent_delta": -0.0868,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2566,
"delta": 0.0106,
"percent_delta": 0.0431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.152,
"after": 0.0,
"delta": -0.152,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.2791,
"delta": -0.0329,
"percent_delta": -0.1054,
"direction": "deboost",
"projection_effect": "worse",
"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.67,
"after": 0.0,
"delta": -0.67,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.49,
"after": 0.4821,
"delta": -0.0079,
"percent_delta": -0.0161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.822,
"after": 0.0,
"delta": -0.822,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 1,
"deboosted_metrics": 11,
"better_metrics": 2,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2566,
"delta": 0.0106,
"percent_delta": 0.0431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.822,
"after": 0.0,
"delta": -0.822,
"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.244 | - |
| predicted_3B | 0.051 | - |
| predicted_AB | 4.380 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.152 | - |
| predicted_H | 1.080 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 0.655 | - |
| predicted_RBI | 0.670 | - |
| predicted_SLG | 0.490 | - |
| predicted_SO | 0.822 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.509 | 0.265 |
| predicted_3B | 0.082 | 0.031 |
| predicted_AB | 8.156 | 3.776 |
| predicted_AVG | 0.263 | 0.017 |
| predicted_BB | 0.259 | 0.107 |
| predicted_H | 2.221 | 1.141 |
| predicted_HBP | 0.329 | - |
| predicted_HR | 0.412 | 0.192 |
| predicted_OBP | 0.314 | 0.002 |
| predicted_R | 1.142 | 0.487 |
| predicted_RBI | 1.244 | 0.574 |
| predicted_SLG | 0.503 | 0.013 |
| predicted_SO | 1.591 | 0.769 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.509 | 0.000 |
| predicted_3B | 0.082 | 0.000 |
| predicted_AB | 8.156 | 0.000 |
| predicted_AVG | 0.257 | -0.006 |
| predicted_BB | 0.255 | -0.004 |
| predicted_H | 2.092 | -0.128 |
| predicted_HBP | 0.329 | 0.000 |
| predicted_HR | 0.389 | -0.024 |
| predicted_OBP | 0.279 | -0.035 |
| predicted_R | 1.029 | -0.113 |
| predicted_RBI | 1.120 | -0.123 |
| predicted_SLG | 0.482 | -0.021 |
| predicted_SO | 1.618 | 0.027 |
AB rounded to 8 (raw=8.16), rates preserved: AVG=0.257 HR/AB=0.048
| 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.509 |
| predicted_3B | 0.000 | -0.082 |
| predicted_AB | 8.000 | -0.156 |
| predicted_AVG | 0.250 | -0.007 |
| predicted_BB | 0.000 | -0.255 |
| predicted_H | 2.000 | -0.092 |
| predicted_HR | 0.000 | -0.389 |
| predicted_OBP | 0.250 | -0.029 |
| predicted_R | 1.000 | -0.029 |
| predicted_RBI | 1.000 | -0.120 |
| predicted_SLG | 0.250 | -0.232 |
| predicted_SO | 2.000 | 0.382 |
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 | 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 | 4 | - | 23.000 | 5.000 | 2.000 | 0.000 | 0.000 | 2.000 | 1.000 | 0.000 | 4.000 | 0.2174 | 0.2174 | 0.3043 | 0.2174 | 0.0000 | 0.0870 | 0.0000 | 0.1739 |
| last_10 | 0.20 | 5 | - | 45.000 | 9.000 | 2.000 | 0.000 | 2.000 | 6.000 | 3.000 | 0.000 | 6.000 | 0.2000 | 0.2000 | 0.3778 | 0.2000 | 0.0444 | 0.1333 | 0.0000 | 0.1333 |
| season | 0.60 | 50 | - | 779.000 | 240.000 | 48.000 | 10.000 | 51.000 | 134.000 | 129.000 | 30.000 | 162.000 | 0.3081 | 0.3515 | 0.5918 | 0.3081 | 0.0655 | 0.1720 | 0.0385 | 0.2080 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8460 |
| predicted_3B | 0.1220 |
| predicted_AB | 12.9620 |
| predicted_AVG | 0.2834 |
| predicted_BB | 0.3960 |
| predicted_H | 3.6730 |
| predicted_HBP | 0.3290 |
| predicted_HR | 0.6570 |
| predicted_OBP | 0.3170 |
| predicted_R | 1.7620 |
| predicted_RBI | 1.9740 |
| predicted_SLG | 0.5196 |
| predicted_SO | 2.5690 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2440 | 0.8460 | 0.5089 | model_form_blend |
| predicted_3B | 0.0510 | 0.1220 | 0.0822 | model_form_blend |
| predicted_AB | 4.3800 | 12.9620 | 8.1558 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2834 | 0.2625 | model_form_blend |
| predicted_BB | 0.1520 | 0.3960 | 0.2594 | model_form_blend |
| predicted_H | 1.0800 | 3.6730 | 2.2208 | model_form_blend |
| predicted_HBP | - | 0.3290 | 0.3290 | form_only |
| predicted_HR | 0.2200 | 0.6570 | 0.4123 | model_form_blend |
| predicted_OBP | 0.3120 | 0.3170 | 0.3142 | model_form_blend |
| predicted_R | 0.6550 | 1.7620 | 1.1420 | model_form_blend |
| predicted_RBI | 0.6700 | 1.9740 | 1.2437 | model_form_blend |
| predicted_SLG | 0.4900 | 0.5196 | 0.5030 | model_form_blend |
| predicted_SO | 0.8220 | 2.5690 | 1.5906 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 197 |
| Season rows before report date | 197 |
| Report year | 2026 |
| Profile rows used | 197 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.308 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 6 |
| Hitting_AVG | 0.5 |
| 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 | 2 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260531_SF@COL |
| game_type | full |
| mlbID | 669477 |
| playerID | 669477 |
| playerName | Casey Schmitt |
| pos | DH |
| started | True |
| startingPosition | LF |
| team | SF |
| teamID | 24 |
| game_date | 2026-05-31 |
| sl_k_percent | 19.5 |
| sl_bb_percent | 3.4 |
| sl_woba | 0.378 |
| sl_xwoba | 0.358 |
| sl_xba | 0.276 |
| sl_xslg | 0.523 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 15.1 |
| sl_hard_hit_percent | 45.1 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 21.9 |
| sl_whiff_percent | 21.7 |
| sl_swing_percent | 51.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.240 | 0.000 | 1.000 | Hitting_2B | 0.240 | 1.000 | -0.240 | -1.000 |
| predicted_3B | 0.031 | 0.000 | 0.000 | Hitting_3B | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_AB | 3.950 | 3.000 | 8.000 | Hitting_AB | 3.944 | 6.000 | -0.944 | -3.000 |
| predicted_AVG | 0.291 | 0.000 | 0.375 | Hitting_AVG | 0.294 | 0.833 | -0.294 | -0.833 |
| predicted_BB | 0.230 | 0.000 | 0.000 | Hitting_BB | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.150 | 0.000 | 3.000 | Hitting_H | 1.158 | 5.000 | -1.158 | -5.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.061 | 0.000 | -0.061 | 0.000 |
| predicted_OBP | 0.386 | 0.000 | 0.375 | Hitting_OBP | 0.338 | 0.833 | -0.338 | -0.833 |
| predicted_R | 0.490 | 0.000 | 1.000 | Hitting_R | 0.490 | 1.000 | -0.490 | -1.000 |
| predicted_RBI | 0.480 | 0.000 | 1.000 | Hitting_RBI | 0.383 | 2.000 | -0.383 | -2.000 |
| predicted_SLG | 0.476 | 0.000 | 0.500 | Hitting_SLG | 0.417 | 1.000 | -0.417 | -1.000 |
| predicted_SO | 0.429 | 0.000 | 1.000 | Hitting_SO | 0.429 | 0.000 | -0.429 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AVG: 0.2910 -> 0.3340 (boost 0.0430, better) |
| Biggest Deboost | predicted_H: 1.1500 -> 0.0000 (deboost -1.1500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.9500 -> 7.6003 (boost 3.6503, 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.6943 -> 2.5386 (deboost -0.1557, 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_2B: 0.5000 -> 1.0000 (boost 0.5000, better) | predicted_BB: 0.3537 -> 0.0000 (deboost -0.3537, worse) | AB rounded to 8 (raw=7.60), rates preserved: AVG=0.334 HR/AB=0.013 |
| 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_AVG: 0.3340 -> 0.3750 (boost 0.0410, 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: 8.0000 -> 3.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3750 -> 0.3340 (deboost -0.0410, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "808982",
"player_name": "Jung Hoo Lee",
"position": "RF",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.24,
"predicted_3B": 0.031,
"predicted_AB": 3.95,
"predicted_AVG": 0.291,
"predicted_BB": 0.23,
"predicted_H": 1.15,
"predicted_HR": 0.08,
"predicted_OBP": 0.386,
"predicted_R": 0.49,
"predicted_RBI": 0.48,
"predicted_SLG": 0.476,
"predicted_SO": 0.429
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.5,
"predicted_3B": 0.1119,
"predicted_AB": 7.6003,
"predicted_AVG": 0.3304,
"predicted_BB": 0.3598,
"predicted_H": 2.6943,
"predicted_HBP": 0.113,
"predicted_HR": 0.1086,
"predicted_OBP": 0.398,
"predicted_R": 1.0856,
"predicted_RBI": 0.8103,
"predicted_SLG": 0.495,
"predicted_SO": 0.6854
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.24,
"after": 0.5,
"delta": 0.26,
"percent_delta": 1.0833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.1119,
"delta": 0.0809,
"percent_delta": 2.6097,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.95,
"after": 7.6003,
"delta": 3.6503,
"percent_delta": 0.9241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.291,
"after": 0.3304,
"delta": 0.0394,
"percent_delta": 0.1354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.23,
"after": 0.3598,
"delta": 0.1298,
"percent_delta": 0.5643,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.15,
"after": 2.6943,
"delta": 1.5443,
"percent_delta": 1.3429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1086,
"delta": 0.0286,
"percent_delta": 0.3575,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.386,
"after": 0.398,
"delta": 0.012,
"percent_delta": 0.0311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.49,
"after": 1.0856,
"delta": 0.5956,
"percent_delta": 1.2155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.8103,
"delta": 0.3303,
"percent_delta": 0.6881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.476,
"after": 0.495,
"delta": 0.019,
"percent_delta": 0.0399,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.429,
"after": 0.6854,
"delta": 0.2564,
"percent_delta": 0.5977,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 11,
"deboosted_metrics": 0,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.95,
"after": 7.6003,
"delta": 3.6503,
"percent_delta": 0.9241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 6,
"season": 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.5,
"predicted_3B": 0.1119,
"predicted_AB": 7.6003,
"predicted_AVG": 0.334,
"predicted_BB": 0.3537,
"predicted_H": 2.5386,
"predicted_HBP": 0.113,
"predicted_HR": 0.1024,
"predicted_OBP": 0.3636,
"predicted_R": 0.9779,
"predicted_RBI": 0.7299,
"predicted_SLG": 0.4697,
"predicted_SO": 0.6971
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5,
"after": 0.5,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1119,
"after": 0.1119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.6003,
"after": 7.6003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3304,
"after": 0.334,
"delta": 0.0036,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3598,
"after": 0.3537,
"delta": -0.0061,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.6943,
"after": 2.5386,
"delta": -0.1557,
"percent_delta": -0.0578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.113,
"after": 0.113,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1086,
"after": 0.1024,
"delta": -0.0062,
"percent_delta": -0.0571,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.398,
"after": 0.3636,
"delta": -0.0344,
"percent_delta": -0.0864,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0856,
"after": 0.9779,
"delta": -0.1077,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8103,
"after": 0.7299,
"delta": -0.0804,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.495,
"after": 0.4697,
"delta": -0.0253,
"percent_delta": -0.0511,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6854,
"after": 0.6971,
"delta": 0.0117,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.6943,
"after": 2.5386,
"delta": -0.1557,
"percent_delta": -0.0578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.60), rates preserved: AVG=0.334 HR/AB=0.013",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 0.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.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1119,
"after": 0.0,
"delta": -0.1119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.6003,
"after": 8.0,
"delta": 0.3997,
"percent_delta": 0.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3537,
"after": 0.0,
"delta": -0.3537,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.5386,
"after": 3.0,
"delta": 0.4614,
"percent_delta": 0.1818,
"direction": "boost",
"projection_effect": "better",
"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.1024,
"after": 0.0,
"delta": -0.1024,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7299,
"after": 1.0,
"delta": 0.2701,
"percent_delta": 0.3701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6971,
"after": 1.0,
"delta": 0.3029,
"percent_delta": 0.4345,
"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_2B",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3537,
"after": 0.0,
"delta": -0.3537,
"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": 0.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": 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": 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.9779,
"after": 1.0,
"delta": 0.0221,
"percent_delta": 0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": 8.0,
"predicted_AVG": 0.375,
"predicted_BB": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.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": 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.334,
"after": 0.375,
"delta": 0.041,
"percent_delta": 0.1228,
"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": 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.3636,
"after": 0.375,
"delta": 0.0114,
"percent_delta": 0.0314,
"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.4697,
"after": 0.5,
"delta": 0.0303,
"percent_delta": 0.0645,
"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.334,
"after": 0.375,
"delta": 0.041,
"percent_delta": 0.1228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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": 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": 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.334,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3636,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4697,
"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.375,
"after": 0.334,
"delta": -0.041,
"percent_delta": -0.1093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3636,
"delta": -0.0114,
"percent_delta": -0.0303,
"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.5,
"after": 0.4697,
"delta": -0.0303,
"percent_delta": -0.0607,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.375,
"after": 0.334,
"delta": -0.041,
"percent_delta": -0.1093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.95,
"after": 3.0,
"delta": -0.95,
"percent_delta": -0.2405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.291,
"after": 0.334,
"delta": 0.043,
"percent_delta": 0.1478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.15,
"after": 0.0,
"delta": -1.15,
"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.386,
"after": 0.3636,
"delta": -0.0224,
"percent_delta": -0.058,
"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.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.476,
"after": 0.4697,
"delta": -0.0063,
"percent_delta": -0.0132,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.429,
"after": 0.0,
"delta": -0.429,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.291,
"after": 0.334,
"delta": 0.043,
"percent_delta": 0.1478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.15,
"after": 0.0,
"delta": -1.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.240 | - |
| predicted_3B | 0.031 | - |
| predicted_AB | 3.950 | - |
| predicted_AVG | 0.291 | - |
| predicted_BB | 0.230 | - |
| predicted_H | 1.150 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.386 | - |
| predicted_R | 0.490 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.476 | - |
| predicted_SO | 0.429 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.500 | 0.260 |
| predicted_3B | 0.112 | 0.081 |
| predicted_AB | 7.600 | 3.650 |
| predicted_AVG | 0.330 | 0.039 |
| predicted_BB | 0.360 | 0.130 |
| predicted_H | 2.694 | 1.544 |
| predicted_HBP | 0.113 | - |
| predicted_HR | 0.109 | 0.029 |
| predicted_OBP | 0.398 | 0.012 |
| predicted_R | 1.086 | 0.596 |
| predicted_RBI | 0.810 | 0.330 |
| predicted_SLG | 0.495 | 0.019 |
| predicted_SO | 0.685 | 0.256 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.500 | 0.000 |
| predicted_3B | 0.112 | 0.000 |
| predicted_AB | 7.600 | 0.000 |
| predicted_AVG | 0.334 | 0.004 |
| predicted_BB | 0.354 | -0.006 |
| predicted_H | 2.539 | -0.156 |
| predicted_HBP | 0.113 | 0.000 |
| predicted_HR | 0.102 | -0.006 |
| predicted_OBP | 0.364 | -0.034 |
| predicted_R | 0.978 | -0.108 |
| predicted_RBI | 0.730 | -0.080 |
| predicted_SLG | 0.470 | -0.025 |
| predicted_SO | 0.697 | 0.012 |
AB rounded to 8 (raw=7.60), rates preserved: AVG=0.334 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 0.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 | 8.000 | 0.000 |
| BB | 0.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.500 |
| predicted_3B | 0.000 | -0.112 |
| predicted_AB | 8.000 | 0.400 |
| predicted_AVG | 0.375 | 0.041 |
| predicted_BB | 0.000 | -0.354 |
| predicted_H | 3.000 | 0.461 |
| predicted_HR | 0.000 | -0.102 |
| predicted_OBP | 0.375 | 0.011 |
| predicted_R | 1.000 | 0.022 |
| predicted_RBI | 1.000 | 0.270 |
| predicted_SLG | 0.500 | 0.030 |
| predicted_SO | 1.000 | 0.303 |
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 | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -3.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 | 4 | - | 19.000 | 13.000 | 2.000 | 1.000 | 0.000 | 2.000 | 4.000 | 0.000 | 0.000 | 0.6842 | 0.6842 | 0.8947 | 0.6842 | 0.0000 | 0.1053 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 6 | - | 38.000 | 18.000 | 2.000 | 1.000 | 0.000 | 4.000 | 9.000 | 0.000 | 0.000 | 0.4737 | 0.4737 | 0.5789 | 0.4737 | 0.0000 | 0.1053 | 0.0000 | 0.0000 |
| season | 0.60 | 50 | - | 773.000 | 227.000 | 47.000 | 6.000 | 12.000 | 75.000 | 96.000 | 45.000 | 84.000 | 0.2937 | 0.3381 | 0.4166 | 0.2937 | 0.0155 | 0.0970 | 0.0582 | 0.1087 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8310 |
| predicted_3B | 0.2150 |
| predicted_AB | 12.2490 |
| predicted_AVG | 0.3805 |
| predicted_BB | 0.5250 |
| predicted_H | 4.6610 |
| predicted_HBP | 0.1130 |
| predicted_HR | 0.1450 |
| predicted_OBP | 0.4133 |
| predicted_R | 1.8440 |
| predicted_RBI | 1.2310 |
| predicted_SLG | 0.5191 |
| predicted_SO | 1.0120 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2400 | 0.8310 | 0.5000 | model_form_blend |
| predicted_3B | 0.0310 | 0.2150 | 0.1119 | model_form_blend |
| predicted_AB | 3.9500 | 12.2490 | 7.6003 | model_form_blend |
| predicted_AVG | 0.2910 | 0.3805 | 0.3304 | model_form_blend |
| predicted_BB | 0.2300 | 0.5250 | 0.3598 | model_form_blend |
| predicted_H | 1.1500 | 4.6610 | 2.6943 | model_form_blend |
| predicted_HBP | - | 0.1130 | 0.1130 | form_only |
| predicted_HR | 0.0800 | 0.1450 | 0.1086 | model_form_blend |
| predicted_OBP | 0.3860 | 0.4133 | 0.3980 | model_form_blend |
| predicted_R | 0.4900 | 1.8440 | 1.0856 | model_form_blend |
| predicted_RBI | 0.4800 | 1.2310 | 0.8103 | model_form_blend |
| predicted_SLG | 0.4760 | 0.5191 | 0.4950 | model_form_blend |
| predicted_SO | 0.4290 | 1.0120 | 0.6854 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 196 |
| Season rows before report date | 196 |
| 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 | 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.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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 6 |
| Hitting_AVG | 0.833 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 5 |
| 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 | 6 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260531_SF@COL |
| game_type | full |
| mlbID | 808982 |
| playerID | 808982 |
| playerName | Jung Hoo Lee |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | SF |
| teamID | 24 |
| game_date | 2026-05-31 |
| sl_k_percent | 10.9 |
| sl_bb_percent | 5.0 |
| sl_woba | 0.327 |
| sl_xwoba | 0.321 |
| sl_xba | 0.298 |
| sl_xslg | 0.385 |
| sl_sweet_spot_percent | 36.9 |
| sl_barrel_batted_rate | 2.4 |
| sl_hard_hit_percent | 31.0 |
| sl_exit_velocity_avg | 87.9 |
| sl_launch_angle_avg | 10.7 |
| sl_whiff_percent | 14.3 |
| sl_swing_percent | 46.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.257 | 0.000 | 1.000 | Hitting_2B | 0.257 | 1.000 | -0.257 | -1.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 3.848 | 3.000 | 8.000 | Hitting_AB | 3.848 | 6.000 | -0.848 | -3.000 |
| predicted_AVG | 0.228 | 0.333 | 0.250 | Hitting_AVG | 0.225 | 0.167 | 0.108 | 0.167 |
| predicted_BB | 0.465 | 0.000 | 1.000 | Hitting_BB | 0.465 | 0.000 | -0.465 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 0.870 | 1.000 | 2.000 | Hitting_H | 0.865 | 1.000 | 0.135 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_OBP | 0.314 | 0.333 | 0.333 | Hitting_OBP | 0.315 | 0.167 | 0.018 | 0.167 |
| predicted_R | 0.422 | 0.000 | 1.000 | Hitting_R | 0.422 | 1.000 | -0.422 | -1.000 |
| predicted_RBI | 0.400 | 0.000 | 1.000 | Hitting_RBI | 0.343 | 1.000 | -0.343 | -1.000 |
| predicted_SLG | 0.341 | 0.333 | 0.375 | Hitting_SLG | 0.318 | 0.333 | 0.016 | 0.000 |
| predicted_SO | 1.009 | 1.000 | 2.000 | Hitting_SO | 1.009 | 1.000 | -0.009 | 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 | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_H: 0.8700 -> 1.0000 (boost 0.1300, better) |
| Biggest Deboost | predicted_AB: 3.8480 -> 3.0000 (deboost -0.8480, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.8480 -> 7.8289 (boost 3.9809, better) | predicted_SLG: 0.3410 -> 0.3239 (deboost -0.0171, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 0 | 6 | 0 | 6 | - | predicted_H: 1.6815 -> 1.5843 (deboost -0.0972, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 6 | 2 | 5 | 3 | predicted_2B: 0.5396 -> 1.0000 (boost 0.4604, better) | predicted_HBP: 0.1090 -> 0.0000 (deboost -0.1090, worse) | AB rounded to 8 (raw=7.83), rates preserved: AVG=0.202 HR/AB=0.008 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7623 -> 1.0000 (boost 0.2377, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3013 -> 0.3750 (boost 0.0737, 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 -> 3.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3750 -> 0.3013 (deboost -0.0737, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656305",
"player_name": "Matt Chapman",
"position": "3B",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.257,
"predicted_3B": 0.017,
"predicted_AB": 3.848,
"predicted_AVG": 0.228,
"predicted_BB": 0.465,
"predicted_H": 0.87,
"predicted_HR": 0.06,
"predicted_OBP": 0.314,
"predicted_R": 0.422,
"predicted_RBI": 0.4,
"predicted_SLG": 0.341,
"predicted_SO": 1.009
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.5396,
"predicted_3B": 0.0289,
"predicted_AB": 7.8289,
"predicted_AVG": 0.2203,
"predicted_BB": 0.8456,
"predicted_H": 1.6815,
"predicted_HBP": 0.109,
"predicted_HR": 0.0626,
"predicted_OBP": 0.3022,
"predicted_R": 0.8463,
"predicted_RBI": 0.7823,
"predicted_SLG": 0.3239,
"predicted_SO": 1.8205
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.257,
"after": 0.5396,
"delta": 0.2826,
"percent_delta": 1.0996,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0289,
"delta": 0.0119,
"percent_delta": 0.7,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.848,
"after": 7.8289,
"delta": 3.9809,
"percent_delta": 1.0345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2203,
"delta": -0.0077,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.465,
"after": 0.8456,
"delta": 0.3806,
"percent_delta": 0.8185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 1.6815,
"delta": 0.8115,
"percent_delta": 0.9328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0626,
"delta": 0.0026,
"percent_delta": 0.0433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.3022,
"delta": -0.0118,
"percent_delta": -0.0376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.422,
"after": 0.8463,
"delta": 0.4243,
"percent_delta": 1.0055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.7823,
"delta": 0.3823,
"percent_delta": 0.9557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.3239,
"delta": -0.0171,
"percent_delta": -0.0501,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.009,
"after": 1.8205,
"delta": 0.8115,
"percent_delta": 0.8043,
"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.848,
"after": 7.8289,
"delta": 3.9809,
"percent_delta": 1.0345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.3239,
"delta": -0.0171,
"percent_delta": -0.0501,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 57
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.5396,
"predicted_3B": 0.0289,
"predicted_AB": 7.8289,
"predicted_AVG": 0.2024,
"predicted_BB": 0.8312,
"predicted_H": 1.5843,
"predicted_HBP": 0.109,
"predicted_HR": 0.059,
"predicted_OBP": 0.2789,
"predicted_R": 0.7623,
"predicted_RBI": 0.7047,
"predicted_SLG": 0.3013,
"predicted_SO": 1.8514
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5396,
"after": 0.5396,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0289,
"after": 0.0289,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.8289,
"after": 7.8289,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2203,
"after": 0.2024,
"delta": -0.0179,
"percent_delta": -0.0813,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8456,
"after": 0.8312,
"delta": -0.0144,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.6815,
"after": 1.5843,
"delta": -0.0972,
"percent_delta": -0.0578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.109,
"after": 0.109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0626,
"after": 0.059,
"delta": -0.0036,
"percent_delta": -0.0575,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3022,
"after": 0.2789,
"delta": -0.0233,
"percent_delta": -0.0771,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8463,
"after": 0.7623,
"delta": -0.084,
"percent_delta": -0.0993,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7823,
"after": 0.7047,
"delta": -0.0776,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3239,
"after": 0.3013,
"delta": -0.0226,
"percent_delta": -0.0698,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8205,
"after": 1.8514,
"delta": 0.0309,
"percent_delta": 0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.6815,
"after": 1.5843,
"delta": -0.0972,
"percent_delta": -0.0578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.83), rates preserved: AVG=0.202 HR/AB=0.008",
"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.5396,
"after": 1.0,
"delta": 0.4604,
"percent_delta": 0.8532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0289,
"after": 0.0,
"delta": -0.0289,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.8289,
"after": 8.0,
"delta": 0.1711,
"percent_delta": 0.0219,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8312,
"after": 1.0,
"delta": 0.1688,
"percent_delta": 0.2031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.5843,
"after": 2.0,
"delta": 0.4157,
"percent_delta": 0.2624,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.109,
"after": 0.0,
"delta": -0.109,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.059,
"after": 0.0,
"delta": -0.059,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7047,
"after": 1.0,
"delta": 0.2953,
"percent_delta": 0.419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8514,
"after": 2.0,
"delta": 0.1486,
"percent_delta": 0.0803,
"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_2B",
"before": 0.5396,
"after": 1.0,
"delta": 0.4604,
"percent_delta": 0.8532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.109,
"after": 0.0,
"delta": -0.109,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7623,
"after": 1.0,
"delta": 0.2377,
"percent_delta": 0.3118,
"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.7623,
"after": 1.0,
"delta": 0.2377,
"percent_delta": 0.3118,
"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.2024,
"after": 0.25,
"delta": 0.0476,
"percent_delta": 0.2352,
"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.2789,
"after": 0.333,
"delta": 0.0541,
"percent_delta": 0.194,
"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.3013,
"after": 0.375,
"delta": 0.0737,
"percent_delta": 0.2446,
"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.3013,
"after": 0.375,
"delta": 0.0737,
"percent_delta": 0.2446,
"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": 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": 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": 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": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2024,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2789,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3013,
"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.25,
"after": 0.2024,
"delta": -0.0476,
"percent_delta": -0.1905,
"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.2789,
"delta": -0.0541,
"percent_delta": -0.1624,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.3013,
"delta": -0.0737,
"percent_delta": -0.1965,
"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.375,
"after": 0.3013,
"delta": -0.0737,
"percent_delta": -0.1965,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.257,
"after": 0.0,
"delta": -0.257,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.848,
"after": 3.0,
"delta": -0.848,
"percent_delta": -0.2204,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2024,
"delta": -0.0256,
"percent_delta": -0.1123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.465,
"after": 0.0,
"delta": -0.465,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 1.0,
"delta": 0.13,
"percent_delta": 0.1494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.2789,
"delta": -0.0351,
"percent_delta": -0.1118,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.422,
"after": 0.0,
"delta": -0.422,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.3013,
"delta": -0.0397,
"percent_delta": -0.1164,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.009,
"after": 1.0,
"delta": -0.009,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.87,
"after": 1.0,
"delta": 0.13,
"percent_delta": 0.1494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.848,
"after": 3.0,
"delta": -0.848,
"percent_delta": -0.2204,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.257 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 3.848 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.465 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.314 | - |
| predicted_R | 0.422 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.341 | - |
| predicted_SO | 1.009 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.540 | 0.283 |
| predicted_3B | 0.029 | 0.012 |
| predicted_AB | 7.829 | 3.981 |
| predicted_AVG | 0.220 | -0.008 |
| predicted_BB | 0.846 | 0.381 |
| predicted_H | 1.681 | 0.811 |
| predicted_HBP | 0.109 | - |
| predicted_HR | 0.063 | 0.003 |
| predicted_OBP | 0.302 | -0.012 |
| predicted_R | 0.846 | 0.424 |
| predicted_RBI | 0.782 | 0.382 |
| predicted_SLG | 0.324 | -0.017 |
| predicted_SO | 1.821 | 0.812 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.540 | 0.000 |
| predicted_3B | 0.029 | 0.000 |
| predicted_AB | 7.829 | 0.000 |
| predicted_AVG | 0.202 | -0.018 |
| predicted_BB | 0.831 | -0.014 |
| predicted_H | 1.584 | -0.097 |
| predicted_HBP | 0.109 | 0.000 |
| predicted_HR | 0.059 | -0.004 |
| predicted_OBP | 0.279 | -0.023 |
| predicted_R | 0.762 | -0.084 |
| predicted_RBI | 0.705 | -0.078 |
| predicted_SLG | 0.301 | -0.023 |
| predicted_SO | 1.851 | 0.031 |
AB rounded to 8 (raw=7.83), rates preserved: AVG=0.202 HR/AB=0.008
| 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.460 |
| predicted_3B | 0.000 | -0.029 |
| predicted_AB | 8.000 | 0.171 |
| predicted_AVG | 0.250 | 0.048 |
| predicted_BB | 1.000 | 0.169 |
| predicted_H | 2.000 | 0.416 |
| predicted_HR | 0.000 | -0.059 |
| predicted_OBP | 0.333 | 0.054 |
| predicted_R | 1.000 | 0.238 |
| predicted_RBI | 1.000 | 0.295 |
| predicted_SLG | 0.375 | 0.074 |
| predicted_SO | 2.000 | 0.149 |
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 | 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 | 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 | 4 | - | 23.000 | 4.000 | 2.000 | 0.000 | 0.000 | 3.000 | 2.000 | 0.000 | 2.000 | 0.1739 | 0.1739 | 0.2609 | 0.1739 | 0.0000 | 0.1304 | 0.0000 | 0.0870 |
| last_10 | 0.20 | 5 | - | 34.000 | 4.000 | 2.000 | 0.000 | 0.000 | 3.000 | 5.000 | 9.000 | 5.000 | 0.1176 | 0.3023 | 0.1765 | 0.1177 | 0.0000 | 0.0882 | 0.2647 | 0.1471 |
| season | 0.60 | 57 | - | 885.000 | 199.000 | 59.000 | 4.000 | 5.000 | 79.000 | 97.000 | 107.000 | 232.000 | 0.2249 | 0.3154 | 0.3175 | 0.2249 | 0.0056 | 0.0893 | 0.1209 | 0.2621 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8970 |
| predicted_3B | 0.0440 |
| predicted_AB | 12.8650 |
| predicted_AVG | 0.2105 |
| predicted_BB | 1.3270 |
| predicted_H | 2.7080 |
| predicted_HBP | 0.1090 |
| predicted_HR | 0.0660 |
| predicted_OBP | 0.2872 |
| predicted_R | 1.3830 |
| predicted_RBI | 1.2660 |
| predicted_SLG | 0.3023 |
| predicted_SO | 2.8470 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2570 | 0.8970 | 0.5396 | model_form_blend |
| predicted_3B | 0.0170 | 0.0440 | 0.0289 | model_form_blend |
| predicted_AB | 3.8480 | 12.8650 | 7.8289 | model_form_blend |
| predicted_AVG | 0.2280 | 0.2105 | 0.2203 | model_form_blend |
| predicted_BB | 0.4650 | 1.3270 | 0.8456 | model_form_blend |
| predicted_H | 0.8700 | 2.7080 | 1.6815 | model_form_blend |
| predicted_HBP | - | 0.1090 | 0.1090 | form_only |
| predicted_HR | 0.0600 | 0.0660 | 0.0626 | model_form_blend |
| predicted_OBP | 0.3140 | 0.2872 | 0.3022 | model_form_blend |
| predicted_R | 0.4220 | 1.3830 | 0.8463 | model_form_blend |
| predicted_RBI | 0.4000 | 1.2660 | 0.7823 | model_form_blend |
| predicted_SLG | 0.3410 | 0.3023 | 0.3239 | model_form_blend |
| predicted_SO | 1.0090 | 2.8470 | 1.8205 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.225 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 6 |
| Hitting_AVG | 0.167 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20260531_SF@COL |
| game_type | full |
| mlbID | 656305 |
| playerID | 656305 |
| playerName | Matt Chapman |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | SF |
| teamID | 24 |
| game_date | 2026-05-31 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.29 |
| sl_xwoba | 0.263 |
| sl_xba | 0.208 |
| sl_xslg | 0.285 |
| sl_sweet_spot_percent | 21.9 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 32.5 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | 10.4 |
| sl_whiff_percent | 23.7 |
| sl_swing_percent | 43.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.170 | 0.000 | 0.000 | Hitting_2B | 0.170 | 2.000 | -0.170 | -2.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.264 | 3.000 | 5.000 | Hitting_AB | 3.264 | 6.000 | -0.264 | -3.000 |
| predicted_AVG | 0.262 | 0.000 | 0.200 | Hitting_AVG | 0.202 | 0.667 | -0.202 | -0.667 |
| predicted_BB | 0.396 | 0.000 | 1.000 | Hitting_BB | 0.396 | 0.000 | -0.396 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.830 | 0.000 | 1.000 | Hitting_H | 0.660 | 4.000 | -0.660 | -4.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.094 | 1.000 | -0.094 | -1.000 |
| predicted_OBP | 0.342 | 0.000 | 0.333 | Hitting_OBP | 0.287 | 0.667 | -0.287 | -0.667 |
| predicted_R | 0.264 | 0.000 | 1.000 | Hitting_R | 0.264 | 4.000 | -0.264 | -4.000 |
| predicted_RBI | 0.360 | 0.000 | 0.000 | Hitting_RBI | 0.132 | 1.000 | -0.132 | -1.000 |
| predicted_SLG | 0.475 | 0.000 | 0.200 | Hitting_SLG | 0.341 | 1.500 | -0.341 | -1.500 |
| predicted_SO | 0.925 | 1.000 | 1.000 | Hitting_SO | 0.925 | 0.000 | 0.075 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 0 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 0.9250 -> 1.0000 (boost 0.0750, worse) |
| Biggest Deboost | predicted_H: 0.8300 -> 0.0000 (deboost -0.8300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.2640 -> 5.0868 (boost 1.8228, better) | predicted_SLG: 0.4750 -> 0.4663 (deboost -0.0087, 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_H: 1.2714 -> 1.1979 (deboost -0.0735, 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_BB: 0.6709 -> 1.0000 (boost 0.3291, better) | predicted_2B: 0.4072 -> 0.0000 (deboost -0.4072, worse) | AB rounded to 5 (raw=5.09), rates preserved: AVG=0.235 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5584 -> 1.0000 (boost 0.4416, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3246 -> 0.3330 (boost 0.0084, better) | predicted_SLG: 0.4157 -> 0.2000 (deboost -0.2157, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 5.0000 -> 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.4157 (boost 0.2157, better) | predicted_OBP: 0.3330 -> 0.3246 (deboost -0.0084, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805811",
"player_name": "Bryce Eldridge",
"position": "1B",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.17,
"predicted_3B": 0.0,
"predicted_AB": 3.264,
"predicted_AVG": 0.262,
"predicted_BB": 0.396,
"predicted_H": 0.83,
"predicted_HR": 0.11,
"predicted_OBP": 0.342,
"predicted_R": 0.264,
"predicted_RBI": 0.36,
"predicted_SLG": 0.475,
"predicted_SO": 0.925
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4072,
"predicted_3B": 0.0016,
"predicted_AB": 5.0868,
"predicted_AVG": 0.256,
"predicted_BB": 0.6825,
"predicted_H": 1.2714,
"predicted_HBP": 0.009,
"predicted_HR": 0.179,
"predicted_OBP": 0.3378,
"predicted_R": 0.6199,
"predicted_RBI": 0.4319,
"predicted_SLG": 0.4663,
"predicted_SO": 1.2776
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.17,
"after": 0.4072,
"delta": 0.2372,
"percent_delta": 1.3953,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0016,
"delta": 0.0016,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.264,
"after": 5.0868,
"delta": 1.8228,
"percent_delta": 0.5585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.256,
"delta": -0.006,
"percent_delta": -0.0229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.396,
"after": 0.6825,
"delta": 0.2865,
"percent_delta": 0.7235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 1.2714,
"delta": 0.4414,
"percent_delta": 0.5318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.179,
"delta": 0.069,
"percent_delta": 0.6273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3378,
"delta": -0.0042,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.264,
"after": 0.6199,
"delta": 0.3559,
"percent_delta": 1.3481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.4319,
"delta": 0.0719,
"percent_delta": 0.1997,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.475,
"after": 0.4663,
"delta": -0.0087,
"percent_delta": -0.0183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.925,
"after": 1.2776,
"delta": 0.3526,
"percent_delta": 0.3812,
"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.264,
"after": 5.0868,
"delta": 1.8228,
"percent_delta": 0.5585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.475,
"after": 0.4663,
"delta": -0.0087,
"percent_delta": -0.0183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 18
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.4072,
"predicted_3B": 0.0016,
"predicted_AB": 5.0868,
"predicted_AVG": 0.2355,
"predicted_BB": 0.6709,
"predicted_H": 1.1979,
"predicted_HBP": 0.009,
"predicted_HR": 0.1688,
"predicted_OBP": 0.3246,
"predicted_R": 0.5584,
"predicted_RBI": 0.3891,
"predicted_SLG": 0.4157,
"predicted_SO": 1.2993
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4072,
"after": 0.4072,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0016,
"after": 0.0016,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0868,
"after": 5.0868,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2355,
"delta": -0.0205,
"percent_delta": -0.0801,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6825,
"after": 0.6709,
"delta": -0.0116,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2714,
"after": 1.1979,
"delta": -0.0735,
"percent_delta": -0.0578,
"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.179,
"after": 0.1688,
"delta": -0.0102,
"percent_delta": -0.057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3378,
"after": 0.3246,
"delta": -0.0132,
"percent_delta": -0.0391,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6199,
"after": 0.5584,
"delta": -0.0615,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4319,
"after": 0.3891,
"delta": -0.0428,
"percent_delta": -0.0991,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4663,
"after": 0.4157,
"delta": -0.0506,
"percent_delta": -0.1085,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2776,
"after": 1.2993,
"delta": 0.0217,
"percent_delta": 0.017,
"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.2714,
"after": 1.1979,
"delta": -0.0735,
"percent_delta": -0.0578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.09), rates preserved: AVG=0.235 HR/AB=0.033",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4072,
"after": 0.0,
"delta": -0.4072,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0016,
"after": 0.0,
"delta": -0.0016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0868,
"after": 5.0,
"delta": -0.0868,
"percent_delta": -0.0171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6709,
"after": 1.0,
"delta": 0.3291,
"percent_delta": 0.4905,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1979,
"after": 1.0,
"delta": -0.1979,
"percent_delta": -0.1652,
"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.1688,
"after": 0.0,
"delta": -0.1688,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3891,
"after": 0.0,
"delta": -0.3891,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2993,
"after": 1.0,
"delta": -0.2993,
"percent_delta": -0.2304,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.6709,
"after": 1.0,
"delta": 0.3291,
"percent_delta": 0.4905,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4072,
"after": 0.0,
"delta": -0.4072,
"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.5584,
"after": 1.0,
"delta": 0.4416,
"percent_delta": 0.7908,
"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.5584,
"after": 1.0,
"delta": 0.4416,
"percent_delta": 0.7908,
"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.2355,
"after": 0.2,
"delta": -0.0355,
"percent_delta": -0.1507,
"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.3246,
"after": 0.333,
"delta": 0.0084,
"percent_delta": 0.0259,
"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.4157,
"after": 0.2,
"delta": -0.2157,
"percent_delta": -0.5189,
"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.3246,
"after": 0.333,
"delta": 0.0084,
"percent_delta": 0.0259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4157,
"after": 0.2,
"delta": -0.2157,
"percent_delta": -0.5189,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2355,
"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.3246,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4157,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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.2355,
"delta": 0.0355,
"percent_delta": 0.1775,
"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.3246,
"delta": -0.0084,
"percent_delta": -0.0253,
"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.4157,
"delta": 0.2157,
"percent_delta": 1.0786,
"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.4157,
"delta": 0.2157,
"percent_delta": 1.0786,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3246,
"delta": -0.0084,
"percent_delta": -0.0253,
"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": 3.264,
"after": 3.0,
"delta": -0.264,
"percent_delta": -0.0809,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2355,
"delta": -0.0265,
"percent_delta": -0.1011,
"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": 0.83,
"after": 0.0,
"delta": -0.83,
"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.342,
"after": 0.3246,
"delta": -0.0174,
"percent_delta": -0.0509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.264,
"after": 0.0,
"delta": -0.264,
"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.475,
"after": 0.4157,
"delta": -0.0593,
"percent_delta": -0.1248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.925,
"after": 1.0,
"delta": 0.075,
"percent_delta": 0.0811,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 0,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.925,
"after": 1.0,
"delta": 0.075,
"percent_delta": 0.0811,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.83,
"after": 0.0,
"delta": -0.83,
"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 | 3.264 | - |
| predicted_AVG | 0.262 | - |
| predicted_BB | 0.396 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.342 | - |
| predicted_R | 0.264 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.475 | - |
| predicted_SO | 0.925 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.407 | 0.237 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 5.087 | 1.823 |
| predicted_AVG | 0.256 | -0.006 |
| predicted_BB | 0.682 | 0.286 |
| predicted_H | 1.271 | 0.441 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.179 | 0.069 |
| predicted_OBP | 0.338 | -0.004 |
| predicted_R | 0.620 | 0.356 |
| predicted_RBI | 0.432 | 0.072 |
| predicted_SLG | 0.466 | -0.009 |
| predicted_SO | 1.278 | 0.353 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.407 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 5.087 | 0.000 |
| predicted_AVG | 0.235 | -0.021 |
| predicted_BB | 0.671 | -0.012 |
| predicted_H | 1.198 | -0.074 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.169 | -0.010 |
| predicted_OBP | 0.325 | -0.013 |
| predicted_R | 0.558 | -0.061 |
| predicted_RBI | 0.389 | -0.043 |
| predicted_SLG | 0.416 | -0.051 |
| predicted_SO | 1.299 | 0.022 |
AB rounded to 5 (raw=5.09), rates preserved: AVG=0.235 HR/AB=0.033
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.407 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 5.000 | -0.087 |
| predicted_AVG | 0.200 | -0.035 |
| predicted_BB | 1.000 | 0.329 |
| predicted_H | 1.000 | -0.198 |
| predicted_HR | 0.000 | -0.169 |
| predicted_OBP | 0.333 | 0.008 |
| predicted_R | 1.000 | 0.442 |
| predicted_RBI | 0.000 | -0.389 |
| predicted_SLG | 0.200 | -0.216 |
| predicted_SO | 1.000 | -0.299 |
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 | 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 | 4 | - | 15.000 | 6.000 | 4.000 | 0.000 | 1.000 | 2.000 | 6.000 | 4.000 | 1.000 | 0.4000 | 0.5000 | 0.8667 | 0.4000 | 0.0667 | 0.1333 | 0.2667 | 0.0667 |
| last_10 | 0.20 | 5 | - | 33.000 | 10.000 | 8.000 | 0.000 | 1.000 | 2.000 | 6.000 | 5.000 | 5.000 | 0.3030 | 0.3846 | 0.6364 | 0.3030 | 0.0303 | 0.0606 | 0.1515 | 0.1515 |
| season | 0.60 | 18 | - | 173.000 | 35.000 | 9.000 | 0.000 | 5.000 | 7.000 | 14.000 | 21.000 | 49.000 | 0.2023 | 0.2872 | 0.3410 | 0.2023 | 0.0289 | 0.0405 | 0.1214 | 0.2832 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7470 |
| predicted_3B | 0.0040 |
| predicted_AB | 7.6990 |
| predicted_AVG | 0.2473 |
| predicted_BB | 1.0930 |
| predicted_H | 1.9040 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.2780 |
| predicted_OBP | 0.3318 |
| predicted_R | 1.1300 |
| predicted_RBI | 0.5350 |
| predicted_SLG | 0.4538 |
| predicted_SO | 1.7830 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1700 | 0.7470 | 0.4072 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0016 | model_form_blend |
| predicted_AB | 3.2640 | 7.6990 | 5.0868 | model_form_blend |
| predicted_AVG | 0.2620 | 0.2473 | 0.2560 | model_form_blend |
| predicted_BB | 0.3960 | 1.0930 | 0.6825 | model_form_blend |
| predicted_H | 0.8300 | 1.9040 | 1.2714 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.1100 | 0.2780 | 0.1790 | model_form_blend |
| predicted_OBP | 0.3420 | 0.3318 | 0.3378 | model_form_blend |
| predicted_R | 0.2640 | 1.1300 | 0.6199 | model_form_blend |
| predicted_RBI | 0.3600 | 0.5350 | 0.4319 | model_form_blend |
| predicted_SLG | 0.4750 | 0.4538 | 0.4663 | model_form_blend |
| predicted_SO | 0.9250 | 1.7830 | 1.2776 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 53 |
| Season rows before report date | 53 |
| 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 | 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.202 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_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 | 6 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 4 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 4 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 9 |
| 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 | 20260531_SF@COL |
| game_type | full |
| mlbID | 805811 |
| playerID | 805811 |
| playerName | Bryce Eldridge |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | SF |
| teamID | 24 |
| game_date | 2026-05-31 |
| sl_k_percent | 24.6 |
| sl_bb_percent | 13.1 |
| sl_woba | 0.276 |
| sl_xwoba | 0.364 |
| sl_xba | 0.282 |
| sl_xslg | 0.477 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 10.5 |
| sl_hard_hit_percent | 57.9 |
| sl_exit_velocity_avg | 93.3 |
| sl_launch_angle_avg | 18.1 |
| sl_whiff_percent | 24.8 |
| 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.184 | 0.000 | 0.000 | Hitting_2B | 0.184 | 0.000 | -0.184 | 0.000 |
| predicted_3B | 0.061 | 0.000 | 0.000 | Hitting_3B | 0.061 | 0.000 | -0.061 | 0.000 |
| predicted_AB | 4.250 | 4.000 | 8.000 | Hitting_AB | 4.066 | 4.000 | -0.066 | 0.000 |
| predicted_AVG | 0.263 | 0.000 | 0.375 | Hitting_AVG | 0.337 | 0.250 | -0.337 | -0.250 |
| predicted_BB | 0.272 | 0.000 | 0.000 | Hitting_BB | 0.272 | 1.000 | -0.272 | -1.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.368 | 1.000 | -1.368 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_OBP | 0.347 | 0.000 | 0.375 | Hitting_OBP | 0.379 | 0.286 | -0.379 | -0.286 |
| predicted_R | 0.561 | 0.000 | 1.000 | Hitting_R | 0.561 | 2.000 | -0.561 | -2.000 |
| predicted_RBI | 0.570 | 0.000 | 1.000 | Hitting_RBI | 0.439 | 3.000 | -0.439 | -3.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.088 | 0.000 | -0.088 | 0.000 |
| predicted_SLG | 0.394 | 0.000 | 0.375 | Hitting_SLG | 0.444 | 0.250 | -0.444 | -0.250 |
| predicted_SO | 0.180 | 1.000 | 2.000 | Hitting_SO | 0.180 | 0.000 | 0.820 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.1800 -> 1.0000 (boost 0.8200, worse) |
| Biggest Deboost | predicted_H: 1.1200 -> 0.0000 (deboost -1.1200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 10 | 0 | 9 | 1 | predicted_AB: 4.2500 -> 8.2465 (boost 3.9965, 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 | 1 | 5 | 1 | 5 | predicted_AVG: 0.3087 -> 0.3174 (boost 0.0087, better) | predicted_H: 2.7778 -> 2.6172 (deboost -0.1606, 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 | 1 | 8 | predicted_SO: 0.3232 -> 2.0000 (boost 1.6768, worse) | predicted_BB: 0.4979 -> 0.0000 (deboost -0.4979, worse) | AB rounded to 8 (raw=8.25), rates preserved: AVG=0.317 HR/AB=0.009 |
| 5 | consistency_constraints | 0 | 0 | 0 | 0 | 0 | - | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.3174 -> 0.3750 (boost 0.0576, better) | predicted_SLG: 0.4086 -> 0.3750 (deboost -0.0336, 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3750 -> 0.4086 (boost 0.0336, better) | predicted_AVG: 0.3750 -> 0.3174 (deboost -0.0576, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "650333",
"player_name": "Luis Arraez",
"position": "2B",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.184,
"predicted_3B": 0.061,
"predicted_AB": 4.25,
"predicted_AVG": 0.263,
"predicted_BB": 0.272,
"predicted_H": 1.12,
"predicted_HR": 0.06,
"predicted_OBP": 0.347,
"predicted_R": 0.561,
"predicted_RBI": 0.57,
"predicted_SLG": 0.394,
"predicted_SO": 0.18
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3249,
"predicted_3B": 0.0963,
"predicted_AB": 8.2465,
"predicted_AVG": 0.3087,
"predicted_BB": 0.5065,
"predicted_H": 2.7778,
"predicted_HBP": 0.269,
"predicted_HR": 0.083,
"predicted_OBP": 0.3703,
"predicted_R": 1.1338,
"predicted_RBI": 1.3216,
"predicted_SLG": 0.4191,
"predicted_SO": 0.3178
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.184,
"after": 0.3249,
"delta": 0.1409,
"percent_delta": 0.7658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.061,
"after": 0.0963,
"delta": 0.0353,
"percent_delta": 0.5787,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.25,
"after": 8.2465,
"delta": 3.9965,
"percent_delta": 0.9404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.3087,
"delta": 0.0457,
"percent_delta": 0.1738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.272,
"after": 0.5065,
"delta": 0.2345,
"percent_delta": 0.8621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 2.7778,
"delta": 1.6578,
"percent_delta": 1.4802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.083,
"delta": 0.023,
"percent_delta": 0.3833,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3703,
"delta": 0.0233,
"percent_delta": 0.0671,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.561,
"after": 1.1338,
"delta": 0.5728,
"percent_delta": 1.021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 1.3216,
"delta": 0.7516,
"percent_delta": 1.3186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.4191,
"delta": 0.0251,
"percent_delta": 0.0637,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.18,
"after": 0.3178,
"delta": 0.1378,
"percent_delta": 0.7656,
"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.25,
"after": 8.2465,
"delta": 3.9965,
"percent_delta": 0.9404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 6,
"season": 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.3249,
"predicted_3B": 0.0963,
"predicted_AB": 8.2465,
"predicted_AVG": 0.3174,
"predicted_BB": 0.4979,
"predicted_H": 2.6172,
"predicted_HBP": 0.269,
"predicted_HR": 0.0783,
"predicted_OBP": 0.3562,
"predicted_R": 1.0213,
"predicted_RBI": 1.1905,
"predicted_SLG": 0.4086,
"predicted_SO": 0.3232
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3249,
"after": 0.3249,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0963,
"after": 0.0963,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.2465,
"after": 8.2465,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3087,
"after": 0.3174,
"delta": 0.0087,
"percent_delta": 0.0282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5065,
"after": 0.4979,
"delta": -0.0086,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.7778,
"after": 2.6172,
"delta": -0.1606,
"percent_delta": -0.0578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.269,
"after": 0.269,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.083,
"after": 0.0783,
"delta": -0.0047,
"percent_delta": -0.0566,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3703,
"after": 0.3562,
"delta": -0.0141,
"percent_delta": -0.0381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1338,
"after": 1.0213,
"delta": -0.1125,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3216,
"after": 1.1905,
"delta": -0.1311,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4191,
"after": 0.4086,
"delta": -0.0105,
"percent_delta": -0.0251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3178,
"after": 0.3232,
"delta": 0.0054,
"percent_delta": 0.017,
"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_AVG",
"before": 0.3087,
"after": 0.3174,
"delta": 0.0087,
"percent_delta": 0.0282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.7778,
"after": 2.6172,
"delta": -0.1606,
"percent_delta": -0.0578,
"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.317 HR/AB=0.009",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 0.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.3249,
"after": 0.0,
"delta": -0.3249,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0963,
"after": 0.0,
"delta": -0.0963,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 8.2465,
"after": 8.0,
"delta": -0.2465,
"percent_delta": -0.0299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4979,
"after": 0.0,
"delta": -0.4979,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.6172,
"after": 3.0,
"delta": 0.3828,
"percent_delta": 0.1463,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.269,
"after": 0.0,
"delta": -0.269,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0783,
"after": 0.0,
"delta": -0.0783,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1905,
"after": 1.0,
"delta": -0.1905,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3232,
"after": 2.0,
"delta": 1.6768,
"percent_delta": 5.1881,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.3232,
"after": 2.0,
"delta": 1.6768,
"percent_delta": 5.1881,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4979,
"after": 0.0,
"delta": -0.4979,
"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": 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": 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": 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.0213,
"after": 1.0,
"delta": -0.0213,
"percent_delta": -0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.375,
"predicted_BB": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.375,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.3174,
"after": 0.375,
"delta": 0.0576,
"percent_delta": 0.1815,
"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": 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.3562,
"after": 0.375,
"delta": 0.0188,
"percent_delta": 0.0528,
"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.4086,
"after": 0.375,
"delta": -0.0336,
"percent_delta": -0.0822,
"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.3174,
"after": 0.375,
"delta": 0.0576,
"percent_delta": 0.1815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4086,
"after": 0.375,
"delta": -0.0336,
"percent_delta": -0.0822,
"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": 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": 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.3174,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3562,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4086,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.3174,
"delta": -0.0576,
"percent_delta": -0.1537,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3562,
"delta": -0.0188,
"percent_delta": -0.05,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.4086,
"delta": 0.0336,
"percent_delta": 0.0896,
"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.4086,
"delta": 0.0336,
"percent_delta": 0.0896,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.375,
"after": 0.3174,
"delta": -0.0576,
"percent_delta": -0.1537,
"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.061,
"after": 0.0,
"delta": -0.061,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.25,
"after": 4.0,
"delta": -0.25,
"percent_delta": -0.0588,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.3174,
"delta": 0.0544,
"percent_delta": 0.2068,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.272,
"after": 0.0,
"delta": -0.272,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 0.0,
"delta": -1.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3562,
"delta": 0.0092,
"percent_delta": 0.0265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.561,
"after": 0.0,
"delta": -0.561,
"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.394,
"after": 0.4086,
"delta": 0.0146,
"percent_delta": 0.0371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.18,
"after": 1.0,
"delta": 0.82,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 4,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.18,
"after": 1.0,
"delta": 0.82,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.12,
"after": 0.0,
"delta": -1.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.184 | - |
| predicted_3B | 0.061 | - |
| predicted_AB | 4.250 | - |
| predicted_AVG | 0.263 | - |
| predicted_BB | 0.272 | - |
| predicted_H | 1.120 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.347 | - |
| predicted_R | 0.561 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.394 | - |
| predicted_SO | 0.180 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.325 | 0.141 |
| predicted_3B | 0.096 | 0.035 |
| predicted_AB | 8.246 | 3.996 |
| predicted_AVG | 0.309 | 0.046 |
| predicted_BB | 0.506 | 0.234 |
| predicted_H | 2.778 | 1.658 |
| predicted_HBP | 0.269 | - |
| predicted_HR | 0.083 | 0.023 |
| predicted_OBP | 0.370 | 0.023 |
| predicted_R | 1.134 | 0.573 |
| predicted_RBI | 1.322 | 0.752 |
| predicted_SLG | 0.419 | 0.025 |
| predicted_SO | 0.318 | 0.138 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.325 | 0.000 |
| predicted_3B | 0.096 | 0.000 |
| predicted_AB | 8.246 | 0.000 |
| predicted_AVG | 0.317 | 0.009 |
| predicted_BB | 0.498 | -0.009 |
| predicted_H | 2.617 | -0.161 |
| predicted_HBP | 0.269 | 0.000 |
| predicted_HR | 0.078 | -0.005 |
| predicted_OBP | 0.356 | -0.014 |
| predicted_R | 1.021 | -0.112 |
| predicted_RBI | 1.190 | -0.131 |
| predicted_SLG | 0.409 | -0.010 |
| predicted_SO | 0.323 | 0.005 |
AB rounded to 8 (raw=8.25), rates preserved: AVG=0.317 HR/AB=0.009
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 0.000 | - |
| H | 3.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 | 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.325 |
| predicted_3B | 0.000 | -0.096 |
| predicted_AB | 8.000 | -0.246 |
| predicted_AVG | 0.375 | 0.058 |
| predicted_BB | 0.000 | -0.498 |
| predicted_H | 3.000 | 0.383 |
| predicted_HR | 0.000 | -0.078 |
| predicted_OBP | 0.375 | 0.019 |
| predicted_R | 1.000 | -0.021 |
| predicted_RBI | 1.000 | -0.190 |
| predicted_SLG | 0.375 | -0.034 |
| predicted_SO | 2.000 | 1.677 |
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 | -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 | 4 | - | 20.000 | 9.000 | 0.000 | 0.000 | 0.000 | 7.000 | 3.000 | 1.000 | 0.000 | 0.4500 | 0.4583 | 0.4500 | 0.4500 | 0.0000 | 0.3500 | 0.0500 | 0.0000 |
| last_10 | 0.20 | 6 | - | 37.000 | 17.000 | 2.000 | 0.000 | 0.000 | 11.000 | 5.000 | 1.000 | 0.000 | 0.4595 | 0.4634 | 0.5135 | 0.4595 | 0.0000 | 0.2973 | 0.0270 | 0.0000 |
| season | 0.60 | 55 | - | 927.000 | 312.000 | 42.000 | 14.000 | 10.000 | 100.000 | 128.000 | 62.000 | 41.000 | 0.3366 | 0.3793 | 0.4444 | 0.3366 | 0.0108 | 0.1079 | 0.0669 | 0.0442 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5030 |
| predicted_3B | 0.1410 |
| predicted_AB | 13.3000 |
| predicted_AVG | 0.3665 |
| predicted_BB | 0.8030 |
| predicted_H | 4.8740 |
| predicted_HBP | 0.2690 |
| predicted_HR | 0.1120 |
| predicted_OBP | 0.3998 |
| predicted_R | 1.8580 |
| predicted_RBI | 2.2720 |
| predicted_SLG | 0.4508 |
| predicted_SO | 0.4920 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1840 | 0.5030 | 0.3249 | model_form_blend |
| predicted_3B | 0.0610 | 0.1410 | 0.0963 | model_form_blend |
| predicted_AB | 4.2500 | 13.3000 | 8.2465 | model_form_blend |
| predicted_AVG | 0.2630 | 0.3665 | 0.3087 | model_form_blend |
| predicted_BB | 0.2720 | 0.8030 | 0.5065 | model_form_blend |
| predicted_H | 1.1200 | 4.8740 | 2.7778 | model_form_blend |
| predicted_HBP | - | 0.2690 | 0.2690 | form_only |
| predicted_HR | 0.0600 | 0.1120 | 0.0830 | model_form_blend |
| predicted_OBP | 0.3470 | 0.3998 | 0.3703 | model_form_blend |
| predicted_R | 0.5610 | 1.8580 | 1.1338 | model_form_blend |
| predicted_RBI | 0.5700 | 2.2720 | 1.3216 | model_form_blend |
| predicted_SLG | 0.3940 | 0.4508 | 0.4191 | model_form_blend |
| predicted_SO | 0.1800 | 0.4920 | 0.3178 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 228 |
| Season rows before report date | 228 |
| Report year | 2026 |
| Profile rows used | 228 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.337 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 1 |
| Hitting_R | 2 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 2 |
| 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 | 2B |
| gameID | 20260531_SF@COL |
| game_type | full |
| mlbID | 650333 |
| playerID | 650333 |
| playerName | Luis Arraez |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | SF |
| teamID | 24 |
| game_date | 2026-05-31 |
| sl_k_percent | 3.8 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.347 |
| sl_xwoba | 0.312 |
| sl_xba | 0.293 |
| sl_xslg | 0.37 |
| sl_sweet_spot_percent | 41.5 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 21.7 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 14.6 |
| sl_whiff_percent | 8.2 |
| sl_swing_percent | 51.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 2.500 | 0.000 | 0.000 | Hitting_2B | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 3.000 | 3.000 | Hitting_AB | 1.000 | 1.000 | 2.000 | 2.000 |
| predicted_AVG | 0.313 | 0.000 | 0.333 | Hitting_AVG | 1.000 | 1.000 | -1.000 | -1.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.180 | 0.000 | 1.000 | Hitting_H | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.313 | 0.000 | 0.333 | Hitting_OBP | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_R | 2.500 | 0.000 | 2.000 | Hitting_R | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_RBI | 0.110 | 0.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.427 | 0.000 | 0.333 | Hitting_SLG | 2.000 | 2.000 | -2.000 | -2.000 |
| predicted_SO | 0.000 | 2.000 | 0.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 | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.0000 -> 2.0000 (boost 2.0000, worse) |
| Biggest Deboost | predicted_2B: 2.5000 -> 0.0000 (deboost -2.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 | 8 | 5 | 3 | 4 | 4 | predicted_AB: 2.5000 -> 2.7129 (boost 0.2129, better) | predicted_2B: 2.5000 -> 2.1329 (deboost -0.3671, 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_SLG: 0.4324 -> 1.6382 (boost 1.2058, better) | predicted_R: 2.1806 -> 1.9643 (deboost -0.2163, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 2 | 3 | predicted_AB: 2.7129 -> 3.0000 (boost 0.2871, better) | predicted_H: 0.3042 -> 0.0000 (deboost -0.3042, worse) | AB rounded to 3 (raw=2.71), rates preserved: AVG=0.112 HR/AB=0.016 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_2B: 2.0000 -> 0.0000 (deboost -2.0000, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1121 -> 0.3330 (boost 0.2209, better) | predicted_SLG: 1.6382 -> 0.3330 (deboost -1.3052, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 0 | 3 | predicted_SO: 0.0000 -> 2.0000 (boost 2.0000, worse) | predicted_R: 2.0000 -> 0.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 -> 1.6382 (boost 1.3052, better) | predicted_AVG: 0.3330 -> 0.1121 (deboost -0.2209, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "813841",
"player_name": "Jonah Cox",
"position": "CF",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 2.5,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.313,
"predicted_BB": 0.0,
"predicted_H": 0.18,
"predicted_HR": 0.03,
"predicted_OBP": 0.313,
"predicted_R": 2.5,
"predicted_RBI": 0.11,
"predicted_SLG": 0.427,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 2.1329,
"predicted_3B": 0.0023,
"predicted_AB": 2.7129,
"predicted_AVG": 0.3065,
"predicted_BB": 0.0472,
"predicted_H": 0.3229,
"predicted_HBP": 0.033,
"predicted_HR": 0.0455,
"predicted_OBP": 0.3168,
"predicted_R": 2.1806,
"predicted_RBI": 0.1716,
"predicted_SLG": 0.4324,
"predicted_SO": 0.1344
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 2.5,
"after": 2.1329,
"delta": -0.3671,
"percent_delta": -0.1468,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.7129,
"delta": 0.2129,
"percent_delta": 0.0852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.313,
"after": 0.3065,
"delta": -0.0065,
"percent_delta": -0.0208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0472,
"delta": 0.0472,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.18,
"after": 0.3229,
"delta": 0.1429,
"percent_delta": 0.7939,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0455,
"delta": 0.0155,
"percent_delta": 0.5167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3168,
"delta": 0.0038,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 2.5,
"after": 2.1806,
"delta": -0.3194,
"percent_delta": -0.1278,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.11,
"after": 0.1716,
"delta": 0.0616,
"percent_delta": 0.56,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.4324,
"delta": 0.0054,
"percent_delta": 0.0126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.1344,
"delta": 0.1344,
"percent_delta": null,
"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.5,
"after": 2.7129,
"delta": 0.2129,
"percent_delta": 0.0852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 2.5,
"after": 2.1329,
"delta": -0.3671,
"percent_delta": -0.1468,
"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": 1,
"season": 1
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 2.1329,
"predicted_3B": 0.0023,
"predicted_AB": 2.7129,
"predicted_AVG": 0.1121,
"predicted_BB": 0.0464,
"predicted_H": 0.3042,
"predicted_HBP": 0.033,
"predicted_HR": 0.0429,
"predicted_OBP": 0.1271,
"predicted_R": 1.9643,
"predicted_RBI": 0.1546,
"predicted_SLG": 1.6382,
"predicted_SO": 0.1367
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 2.1329,
"after": 2.1329,
"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.7129,
"after": 2.7129,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3065,
"after": 0.1121,
"delta": -0.1944,
"percent_delta": -0.6343,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0472,
"after": 0.0464,
"delta": -0.0008,
"percent_delta": -0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3229,
"after": 0.3042,
"delta": -0.0187,
"percent_delta": -0.0579,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.033,
"after": 0.033,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0455,
"after": 0.0429,
"delta": -0.0026,
"percent_delta": -0.0571,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3168,
"after": 0.1271,
"delta": -0.1897,
"percent_delta": -0.5988,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 2.1806,
"after": 1.9643,
"delta": -0.2163,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1716,
"after": 0.1546,
"delta": -0.017,
"percent_delta": -0.0991,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4324,
"after": 1.6382,
"delta": 1.2058,
"percent_delta": 2.7886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.1344,
"after": 0.1367,
"delta": 0.0023,
"percent_delta": 0.0171,
"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.4324,
"after": 1.6382,
"delta": 1.2058,
"percent_delta": 2.7886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 2.1806,
"after": 1.9643,
"delta": -0.2163,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.71), rates preserved: AVG=0.112 HR/AB=0.016",
"stats": {
"predicted_2B": 2.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 2.1329,
"after": 2.0,
"delta": -0.1329,
"percent_delta": -0.0623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0023,
"after": 0.0,
"delta": -0.0023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7129,
"after": 3.0,
"delta": 0.2871,
"percent_delta": 0.1058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0464,
"after": 0.0,
"delta": -0.0464,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3042,
"after": 0.0,
"delta": -0.3042,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0429,
"after": 0.0,
"delta": -0.0429,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1546,
"after": 0.0,
"delta": -0.1546,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.1367,
"after": 0.0,
"delta": -0.1367,
"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_AB",
"before": 2.7129,
"after": 3.0,
"delta": 0.2871,
"percent_delta": 0.1058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3042,
"after": 0.0,
"delta": -0.3042,
"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": 2.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.9643,
"after": 2.0,
"delta": 0.0357,
"percent_delta": 0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"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": 2.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1121,
"after": 0.333,
"delta": 0.2209,
"percent_delta": 1.9706,
"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.1271,
"after": 0.333,
"delta": 0.2059,
"percent_delta": 1.62,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 1.6382,
"after": 0.333,
"delta": -1.3052,
"percent_delta": -0.7967,
"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.1121,
"after": 0.333,
"delta": 0.2209,
"percent_delta": 1.9706,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 1.6382,
"after": 0.333,
"delta": -1.3052,
"percent_delta": -0.7967,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1121,
"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.1271,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 1.6382,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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.1121,
"delta": -0.2209,
"percent_delta": -0.6632,
"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.1271,
"delta": -0.2059,
"percent_delta": -0.6184,
"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": 1.6382,
"delta": 1.3052,
"percent_delta": 3.9196,
"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": 1.6382,
"delta": 1.3052,
"percent_delta": 3.9196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1121,
"delta": -0.2209,
"percent_delta": -0.6632,
"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": 2.5,
"after": 0.0,
"delta": -2.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.313,
"after": 0.1121,
"delta": -0.2009,
"percent_delta": -0.6419,
"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.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.1271,
"delta": -0.1859,
"percent_delta": -0.5939,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 2.5,
"after": 0.0,
"delta": -2.5,
"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.427,
"after": 1.6382,
"delta": 1.2112,
"percent_delta": 2.8365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 2.5,
"after": 0.0,
"delta": -2.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 | 2.500 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.313 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.180 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 2.500 | - |
| predicted_RBI | 0.110 | - |
| predicted_SLG | 0.427 | - |
| predicted_SO | 0.000 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 2.133 | -0.367 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.713 | 0.213 |
| predicted_AVG | 0.306 | -0.007 |
| predicted_BB | 0.047 | 0.047 |
| predicted_H | 0.323 | 0.143 |
| predicted_HBP | 0.033 | - |
| predicted_HR | 0.045 | 0.015 |
| predicted_OBP | 0.317 | 0.004 |
| predicted_R | 2.181 | -0.319 |
| predicted_RBI | 0.172 | 0.062 |
| predicted_SLG | 0.432 | 0.005 |
| predicted_SO | 0.134 | 0.134 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 2.133 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.713 | 0.000 |
| predicted_AVG | 0.112 | -0.194 |
| predicted_BB | 0.046 | -0.001 |
| predicted_H | 0.304 | -0.019 |
| predicted_HBP | 0.033 | 0.000 |
| predicted_HR | 0.043 | -0.003 |
| predicted_OBP | 0.127 | -0.190 |
| predicted_R | 1.964 | -0.216 |
| predicted_RBI | 0.155 | -0.017 |
| predicted_SLG | 1.638 | 1.206 |
| predicted_SO | 0.137 | 0.002 |
AB rounded to 3 (raw=2.71), rates preserved: AVG=0.112 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 2.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -2.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 2.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -2.133 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.287 |
| predicted_AVG | 0.333 | 0.221 |
| predicted_BB | 0.000 | -0.046 |
| predicted_H | 1.000 | 0.696 |
| predicted_HR | 0.000 | -0.043 |
| predicted_OBP | 0.333 | 0.206 |
| predicted_R | 2.000 | 0.036 |
| predicted_RBI | 0.000 | -0.155 |
| predicted_SLG | 0.333 | -1.305 |
| predicted_SO | 0.000 | -0.137 |
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 | -2.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 1 | - | 1.000 | 1.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.0000 | 1.0000 | 2.0000 | 1.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 1 | - | 1.000 | 1.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.0000 | 1.0000 | 2.0000 | 1.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| season | 0.60 | 1 | - | 1.000 | 1.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.0000 | 1.0000 | 2.0000 | 1.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3010 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.7750 |
| predicted_AVG | 0.2743 |
| predicted_BB | 0.2830 |
| predicted_H | 1.0360 |
| predicted_HBP | 0.0330 |
| predicted_HR | 0.1230 |
| predicted_OBP | 0.3357 |
| predicted_R | 0.5870 |
| predicted_RBI | 0.4790 |
| predicted_SLG | 0.4593 |
| predicted_SO | 0.8050 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 2.5000 | 0.3010 | 2.1329 | model_form_blend |
| predicted_3B | 0.0000 | 0.0140 | 0.0023 | model_form_blend |
| predicted_AB | 2.5000 | 3.7750 | 2.7129 | model_form_blend |
| predicted_AVG | 0.3130 | 0.2743 | 0.3065 | model_form_blend |
| predicted_BB | 0.0000 | 0.2830 | 0.0472 | model_form_blend |
| predicted_H | 0.1800 | 1.0360 | 0.3229 | model_form_blend |
| predicted_HBP | - | 0.0330 | 0.0330 | form_only |
| predicted_HR | 0.0300 | 0.1230 | 0.0455 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3357 | 0.3168 | model_form_blend |
| predicted_R | 2.5000 | 0.5870 | 2.1806 | model_form_blend |
| predicted_RBI | 0.1100 | 0.4790 | 0.1716 | model_form_blend |
| predicted_SLG | 0.4270 | 0.4593 | 0.4324 | model_form_blend |
| predicted_SO | 0.0000 | 0.8050 | 0.1344 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 1 |
| Season rows before report date | 1 |
| Report year | 2026 |
| Profile rows used | 1 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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 | 1.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| 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 | PR-CF |
| gameID | 20260531_SF@COL |
| game_type | ph |
| mlbID | 813841 |
| note | Ran for Schmitt in the 8th. |
| playerID | 813841 |
| playerName | Jonah Cox |
| pos | CF |
| started | False |
| startingPosition | PR |
| team | SF |
| teamID | 24 |
| game_date | 2026-05-31 |
| Metric | 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.219 | 0.000 | -0.219 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.161 | 3.000 | 5.000 | Hitting_AB | 3.062 | 3.000 | -0.062 | 0.000 |
| predicted_AVG | 0.267 | 0.000 | 0.200 | Hitting_AVG | 0.296 | 0.333 | -0.296 | -0.333 |
| predicted_BB | 0.097 | 0.000 | 0.000 | Hitting_BB | 0.094 | 0.000 | -0.094 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.660 | 0.000 | 1.000 | Hitting_H | 0.906 | 1.000 | -0.906 | -1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.344 | 0.000 | -0.344 | 0.000 |
| predicted_OBP | 0.303 | 0.000 | 0.200 | Hitting_OBP | 0.317 | 0.333 | -0.317 | -0.333 |
| predicted_R | 0.645 | 0.000 | 1.000 | Hitting_R | 0.625 | 0.000 | -0.625 | 0.000 |
| predicted_RBI | 0.360 | 0.000 | 1.000 | Hitting_RBI | 0.562 | 0.000 | -0.562 | 0.000 |
| predicted_SLG | 0.471 | 0.000 | 0.200 | Hitting_SLG | 0.704 | 0.333 | -0.704 | -0.333 |
| predicted_SO | 0.742 | 2.000 | 1.000 | Hitting_SO | 0.719 | 0.000 | 1.281 | 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.7420 -> 2.0000 (boost 1.2580, worse) |
| Biggest Deboost | predicted_H: 0.6600 -> 0.0000 (deboost -0.6600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.1610 -> 4.6080 (boost 1.4470, 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.8836 -> 0.7959 (deboost -0.0877, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 2 | 4 | predicted_AB: 4.6080 -> 5.0000 (boost 0.3920, better) | predicted_HR: 0.3527 -> 0.0000 (deboost -0.3527, worse) | AB rounded to 5 (raw=4.61), rates preserved: AVG=0.253 HR/AB=0.077 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7959 -> 1.0000 (boost 0.2041, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5436 -> 0.2000 (deboost -0.3436, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 1 | 4 | 0 | 5 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_AB: 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.5436 (boost 0.3436, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "606992",
"player_name": "Eric Haase",
"position": "C",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.226,
"predicted_3B": 0.0,
"predicted_AB": 3.161,
"predicted_AVG": 0.267,
"predicted_BB": 0.097,
"predicted_H": 0.66,
"predicted_HR": 0.14,
"predicted_OBP": 0.303,
"predicted_R": 0.645,
"predicted_RBI": 0.36,
"predicted_SLG": 0.471,
"predicted_SO": 0.742
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0023,
"predicted_AB": 4.608,
"predicted_AVG": 0.284,
"predicted_BB": 0.1541,
"predicted_H": 1.2349,
"predicted_HBP": 0.015,
"predicted_HR": 0.374,
"predicted_OBP": 0.3164,
"predicted_R": 0.8836,
"predicted_RBI": 0.6787,
"predicted_SLG": 0.555,
"predicted_SO": 1.0159
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.226,
"after": 0.2789,
"delta": 0.0529,
"percent_delta": 0.2341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3.161,
"after": 4.608,
"delta": 1.447,
"percent_delta": 0.4578,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.284,
"delta": 0.017,
"percent_delta": 0.0637,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.097,
"after": 0.1541,
"delta": 0.0571,
"percent_delta": 0.5887,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 1.2349,
"delta": 0.5749,
"percent_delta": 0.8711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.374,
"delta": 0.234,
"percent_delta": 1.6714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.3164,
"delta": 0.0134,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.645,
"after": 0.8836,
"delta": 0.2386,
"percent_delta": 0.3699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.6787,
"delta": 0.3187,
"percent_delta": 0.8853,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.471,
"after": 0.555,
"delta": 0.084,
"percent_delta": 0.1783,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.742,
"after": 1.0159,
"delta": 0.2739,
"percent_delta": 0.3691,
"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.161,
"after": 4.608,
"delta": 1.447,
"percent_delta": 0.4578,
"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": 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.2789,
"predicted_3B": 0.0023,
"predicted_AB": 4.608,
"predicted_AVG": 0.2525,
"predicted_BB": 0.1515,
"predicted_H": 1.1635,
"predicted_HBP": 0.015,
"predicted_HR": 0.3527,
"predicted_OBP": 0.2763,
"predicted_R": 0.7959,
"predicted_RBI": 0.6114,
"predicted_SLG": 0.5436,
"predicted_SO": 1.0332
},
"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.0023,
"after": 0.0023,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.608,
"after": 4.608,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.284,
"after": 0.2525,
"delta": -0.0315,
"percent_delta": -0.1109,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1541,
"after": 0.1515,
"delta": -0.0026,
"percent_delta": -0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2349,
"after": 1.1635,
"delta": -0.0714,
"percent_delta": -0.0578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.374,
"after": 0.3527,
"delta": -0.0213,
"percent_delta": -0.057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3164,
"after": 0.2763,
"delta": -0.0401,
"percent_delta": -0.1267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8836,
"after": 0.7959,
"delta": -0.0877,
"percent_delta": -0.0993,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6787,
"after": 0.6114,
"delta": -0.0673,
"percent_delta": -0.0992,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.555,
"after": 0.5436,
"delta": -0.0114,
"percent_delta": -0.0205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0159,
"after": 1.0332,
"delta": 0.0173,
"percent_delta": 0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.8836,
"after": 0.7959,
"delta": -0.0877,
"percent_delta": -0.0993,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.61), rates preserved: AVG=0.253 HR/AB=0.077",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2789,
"after": 0.0,
"delta": -0.2789,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0023,
"after": 0.0,
"delta": -0.0023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.608,
"after": 5.0,
"delta": 0.392,
"percent_delta": 0.0851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1515,
"after": 0.0,
"delta": -0.1515,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1635,
"after": 1.0,
"delta": -0.1635,
"percent_delta": -0.1405,
"direction": "deboost",
"projection_effect": "worse",
"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.3527,
"after": 0.0,
"delta": -0.3527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6114,
"after": 1.0,
"delta": 0.3886,
"percent_delta": 0.6356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0332,
"after": 1.0,
"delta": -0.0332,
"percent_delta": -0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.608,
"after": 5.0,
"delta": 0.392,
"percent_delta": 0.0851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3527,
"after": 0.0,
"delta": -0.3527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7959,
"after": 1.0,
"delta": 0.2041,
"percent_delta": 0.2564,
"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.7959,
"after": 1.0,
"delta": 0.2041,
"percent_delta": 0.2564,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2525,
"after": 0.2,
"delta": -0.0525,
"percent_delta": -0.2079,
"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.2763,
"after": 0.2,
"delta": -0.0763,
"percent_delta": -0.2761,
"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.5436,
"after": 0.2,
"delta": -0.3436,
"percent_delta": -0.6321,
"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.5436,
"after": 0.2,
"delta": -0.3436,
"percent_delta": -0.6321,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2525,
"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.2763,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5436,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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.2525,
"delta": 0.0525,
"percent_delta": 0.2625,
"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.2763,
"delta": 0.0763,
"percent_delta": 0.3815,
"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.5436,
"delta": 0.3436,
"percent_delta": 1.7182,
"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.5436,
"delta": 0.3436,
"percent_delta": 1.7182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.226,
"after": 0.0,
"delta": -0.226,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.161,
"after": 3.0,
"delta": -0.161,
"percent_delta": -0.0509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2525,
"delta": -0.0145,
"percent_delta": -0.0543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.097,
"after": 0.0,
"delta": -0.097,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 0.0,
"delta": -0.66,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.2763,
"delta": -0.0267,
"percent_delta": -0.0881,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.645,
"after": 0.0,
"delta": -0.645,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.471,
"after": 0.5436,
"delta": 0.0726,
"percent_delta": 0.1541,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.742,
"after": 2.0,
"delta": 1.258,
"percent_delta": 1.6954,
"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.742,
"after": 2.0,
"delta": 1.258,
"percent_delta": 1.6954,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.66,
"after": 0.0,
"delta": -0.66,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.226 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.161 | - |
| predicted_AVG | 0.267 | - |
| predicted_BB | 0.097 | - |
| predicted_H | 0.660 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.303 | - |
| predicted_R | 0.645 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.471 | - |
| predicted_SO | 0.742 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.053 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 4.608 | 1.447 |
| predicted_AVG | 0.284 | 0.017 |
| predicted_BB | 0.154 | 0.057 |
| predicted_H | 1.235 | 0.575 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.374 | 0.234 |
| predicted_OBP | 0.316 | 0.013 |
| predicted_R | 0.884 | 0.239 |
| predicted_RBI | 0.679 | 0.319 |
| predicted_SLG | 0.555 | 0.084 |
| predicted_SO | 1.016 | 0.274 |
Step 3: 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.002 | 0.000 |
| predicted_AB | 4.608 | 0.000 |
| predicted_AVG | 0.253 | -0.031 |
| predicted_BB | 0.151 | -0.003 |
| predicted_H | 1.163 | -0.071 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.353 | -0.021 |
| predicted_OBP | 0.276 | -0.040 |
| predicted_R | 0.796 | -0.088 |
| predicted_RBI | 0.611 | -0.067 |
| predicted_SLG | 0.544 | -0.011 |
| predicted_SO | 1.033 | 0.017 |
AB rounded to 5 (raw=4.61), rates preserved: AVG=0.253 HR/AB=0.077
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.279 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 5.000 | 0.392 |
| predicted_AVG | 0.200 | -0.052 |
| predicted_BB | 0.000 | -0.151 |
| predicted_H | 1.000 | -0.163 |
| predicted_HR | 0.000 | -0.353 |
| predicted_OBP | 0.200 | -0.076 |
| predicted_R | 1.000 | 0.204 |
| predicted_RBI | 1.000 | 0.389 |
| predicted_SLG | 0.200 | -0.344 |
| predicted_SO | 1.000 | -0.033 |
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 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 3 | - | 13.000 | 7.000 | 0.000 | 0.000 | 3.000 | 3.000 | 3.000 | 0.000 | 0.000 | 0.5385 | 0.5385 | 1.2308 | 0.5385 | 0.2308 | 0.2308 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 5 | - | 26.000 | 7.000 | 0.000 | 0.000 | 3.000 | 3.000 | 3.000 | 0.000 | 8.000 | 0.2692 | 0.2692 | 0.6154 | 0.2692 | 0.1154 | 0.1154 | 0.0000 | 0.3077 |
| season | 0.60 | 11 | - | 98.000 | 29.000 | 7.000 | 0.000 | 11.000 | 18.000 | 20.000 | 3.000 | 23.000 | 0.2959 | 0.3168 | 0.7041 | 0.2959 | 0.1122 | 0.1837 | 0.0306 | 0.2347 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3640 |
| predicted_3B | 0.0060 |
| predicted_AB | 6.9390 |
| predicted_AVG | 0.3114 |
| predicted_BB | 0.2460 |
| predicted_H | 2.1610 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.7510 |
| predicted_OBP | 0.3380 |
| predicted_R | 1.2680 |
| predicted_RBI | 1.1920 |
| predicted_SLG | 0.6903 |
| predicted_SO | 1.4570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2260 | 0.3640 | 0.2789 | model_form_blend |
| predicted_3B | 0.0000 | 0.0060 | 0.0023 | model_form_blend |
| predicted_AB | 3.1610 | 6.9390 | 4.6080 | model_form_blend |
| predicted_AVG | 0.2670 | 0.3114 | 0.2840 | model_form_blend |
| predicted_BB | 0.0970 | 0.2460 | 0.1541 | model_form_blend |
| predicted_H | 0.6600 | 2.1610 | 1.2349 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.1400 | 0.7510 | 0.3740 | model_form_blend |
| predicted_OBP | 0.3030 | 0.3380 | 0.3164 | model_form_blend |
| predicted_R | 0.6450 | 1.2680 | 0.8836 | model_form_blend |
| predicted_RBI | 0.3600 | 1.1920 | 0.6787 | model_form_blend |
| predicted_SLG | 0.4710 | 0.6903 | 0.5550 | model_form_blend |
| predicted_SO | 0.7420 | 1.4570 | 1.0159 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 32 |
| Season rows before report date | 32 |
| Report year | 2026 |
| Profile rows used | 31 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.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 | 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 | C |
| gameID | 20260530_SF@COL |
| game_type | full |
| mlbID | 606992 |
| playerID | 606992 |
| playerName | Eric Haase |
| pos | C |
| started | True |
| startingPosition | C |
| team | SF |
| teamID | 24 |
| game_date | 2026-05-30 |
| sl_k_percent | 21.2 |
| sl_bb_percent | 3.0 |
| sl_woba | 0.397 |
| sl_xwoba | 0.38 |
| sl_xba | 0.295 |
| sl_xslg | 0.58 |
| sl_sweet_spot_percent | 40.0 |
| sl_barrel_batted_rate | 20.0 |
| sl_hard_hit_percent | 28.0 |
| sl_exit_velocity_avg | 85.3 |
| sl_launch_angle_avg | 16.4 |
| sl_whiff_percent | 33.3 |
| sl_swing_percent | 53.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 2.000 | 1.000 | 0.000 | 1.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 2.000 | 2.000 | 2.000 | 2.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 4.455 | 7.000 | 1.545 | -1.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 5.327 | 5.000 | -0.327 | 0.000 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 6.182 | 7.000 | -2.182 | -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": "694738",
"player_name": "Landen Roupp",
"position": "Starter",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 4.0,
"predicted_H": 6.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": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_R": 4.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 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,
"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 | 4.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 4.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 24.200 | 12.000 | 31.000 | 8.000 | 31.000 | 2.000 | 4.3784 | 1.5811 | 0.4865 | 1.2568 | 0.3243 | 1.2568 | 0.0811 |
| last_10 | 0.35 | 10 | 54.000 | 22.000 | 47.000 | 20.000 | 61.000 | 3.000 | 3.6667 | 1.2407 | 0.4074 | 0.8704 | 0.3704 | 1.1296 | 0.0556 |
| season | 0.20 | 11 | 60.000 | 22.000 | 49.000 | 22.000 | 68.000 | 3.000 | 3.3000 | 1.1833 | 0.3667 | 0.8167 | 0.3667 | 1.1333 | 0.0500 |
| Metric | Value |
|---|---|
| predicted_BB | 1.8200 |
| predicted_ER | 2.2960 |
| predicted_ERA | 4.0305 |
| predicted_H | 5.1640 |
| predicted_HR | 0.4470 |
| predicted_IP | 5.0000 |
| predicted_SO | 5.6920 |
| predicted_WHIP | 1.3625 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.8200 | 1.9068 | model_form_blend |
| predicted_ER | 4.0000 | 2.2960 | 3.1174 | model_form_blend |
| predicted_ERA | - | 4.0305 | 4.0305 | form_only |
| predicted_H | 6.0000 | 5.1640 | 5.5670 | model_form_blend |
| predicted_HR | 1.0000 | 0.4470 | 0.7136 | model_form_blend |
| predicted_IP | 5.0000 | 5.0000 | 5.0000 | model_form_blend |
| predicted_SO | 4.0000 | 5.6920 | 4.8764 | model_form_blend |
| predicted_WHIP | - | 1.3625 | 1.3625 | 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.0 |
| H | 6 |
| R | 4 |
| ER | 4 |
| BB | 2 |
| SO | 4 |
| HR | 1 |
| BF | 23 |
| Pitches | 96 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 24 |
| Pitching_ER | 2 |
| Pitching_ERA | 3.30 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 4 |
| Pitching_H | 7 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 93 |
| Pitching_R | 4 |
| Pitching_SO | 7 |
| Pitching_Strikes | 62 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260525_ARI@SF |
| game_type | full |
| mlbID | 694738 |
| playerID | 694738 |
| playerName | Landen Roupp |
| pos | P |
| started | True |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-05-25 |
| game_pk | 823219.0 |
| sl_k_percent | 27.4 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.281 |
| sl_xwoba | 0.278 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 2.6 |
| sl_hard_hit_percent | 26.3 |
| sl_whiff_percent | 26.2 |
| sl_swing_percent | 42.4 |
| sv_pitch_count | 93.0 |
| sv_outs_recorded_est | 15.0 |
| sv_release_speed | 87.40537634408602 |
| sv_release_spin_rate | 2392.935483870968 |
| sv_effective_speed | 87.63440860215054 |
| sv_launch_speed | 84.132 |
| sv_launch_angle | 13.24 |
| sv_woba_value | 9.35 |
| sv_woba_denom | 24.0 |
| sv_delta_run_exp | 1.278 |
| sv_delta_home_win_exp | -0.262 |
| sl_avg_best_speed | 76.962732895 |
| sl_avg_hyper_speed | 92.359209474 |
| 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.542 | 1.000 | -0.542 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.458 | 0.000 | -0.458 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.708 | 0.000 | -0.708 | 0.000 |
| predicted_IP | 2.000 | 2.000 | 2.000 | Pitching_InningsPitched | 0.938 | 1.000 | 1.062 | 1.000 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 1.208 | 2.000 | 1.792 | 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 -> 2.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_IP: 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": "668873",
"player_name": "Caleb Kilian",
"position": "Middle Reliever",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 2.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"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": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 2.0,
"delta": 1.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 | 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 | 6.000 | 7.000 | 7.000 | 1.000 | 8.000 | 2.000 | 10.5000 | 1.3333 | 1.1667 | 1.1667 | 0.1667 | 1.3333 | 0.3333 |
| last_10 | 0.35 | 10 | 11.000 | 10.000 | 10.000 | 5.000 | 13.000 | 4.000 | 8.1818 | 1.3636 | 0.9091 | 0.9091 | 0.4546 | 1.1818 | 0.3636 |
| season | 0.20 | 24 | 26.000 | 11.000 | 17.000 | 13.000 | 29.000 | 5.000 | 3.8077 | 1.1538 | 0.4231 | 0.6539 | 0.5000 | 1.1154 | 0.1923 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3780 |
| predicted_ER | 0.7590 |
| predicted_ERA | 6.3453 |
| predicted_H | 1.0350 |
| predicted_HR | 0.2430 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1730 |
| predicted_WHIP | 1.3133 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3780 | 0.1669 | model_form_blend |
| predicted_ER | 0.0000 | 0.7590 | 0.3351 | model_form_blend |
| predicted_ERA | - | 6.3453 | 6.3453 | form_only |
| predicted_H | 0.0000 | 1.0350 | 0.4569 | model_form_blend |
| predicted_HR | 0.0000 | 0.2430 | 0.1073 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 3.0000 | 1.1730 | 2.1934 | model_form_blend |
| predicted_WHIP | - | 1.3133 | 1.3133 | 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 | 2.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 3 |
| HR | 0 |
| BF | 6 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.81 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 15 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260531_SF@COL |
| game_type | full |
| mlbID | 668873 |
| playerID | 668873 |
| playerName | Caleb Kilian |
| pos | P |
| started | False |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-05-31 |
| sl_k_percent | 26.0 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.286 |
| sl_xwoba | 0.309 |
| sl_sweet_spot_percent | 31.7 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 34.9 |
| sl_whiff_percent | 27.3 |
| sl_swing_percent | 47.7 |
| sl_avg_best_speed | 75.23302129 |
| sl_avg_hyper_speed | 93.54687629 |
| 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.280 | 2.000 | -0.280 | -2.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.600 | 2.000 | -0.600 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.980 | 1.100 | 0.020 | -0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.880 | 0.000 | 0.120 | 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": "676775",
"player_name": "Keaton Winn",
"position": "Middle Reliever",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.100 | 2.000 | 5.000 | 2.000 | 6.000 | 1.000 | 2.8421 | 1.1053 | 0.3158 | 0.7895 | 0.3158 | 0.9474 | 0.1579 |
| last_10 | 0.35 | 10 | 11.000 | 3.000 | 8.000 | 3.000 | 9.000 | 1.000 | 2.4545 | 1.0000 | 0.2727 | 0.7273 | 0.2727 | 0.8182 | 0.0909 |
| season | 0.20 | 25 | 25.200 | 7.000 | 15.000 | 8.000 | 22.000 | 1.000 | 2.4545 | 0.8961 | 0.2727 | 0.5844 | 0.3117 | 0.8571 | 0.0390 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3590 |
| predicted_ER | 0.4130 |
| predicted_ERA | 3.4530 |
| predicted_H | 0.9010 |
| predicted_HR | 0.1310 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9810 |
| predicted_WHIP | 1.1717 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3590 | 0.7179 | model_form_blend |
| predicted_ER | 0.0000 | 0.4130 | 0.1818 | model_form_blend |
| predicted_ERA | - | 3.4530 | 3.4530 | form_only |
| predicted_H | 0.0000 | 0.9010 | 0.3965 | model_form_blend |
| predicted_HR | 0.0000 | 0.1310 | 0.0577 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9810 | 0.9916 | model_form_blend |
| predicted_WHIP | - | 1.1717 | 1.1717 | 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 | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 2 |
| Pitching_ERA | 2.45 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 18 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260529_SF@COL |
| game_type | full |
| mlbID | 676775 |
| playerID | 676775 |
| playerName | Keaton Winn |
| pos | P |
| started | False |
| startingPosition | P |
| team | SF |
| teamID | 24 |
| game_date | 2026-05-29 |
| sl_k_percent | 22.7 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.222 |
| sl_xwoba | 0.247 |
| sl_sweet_spot_percent | 29.9 |
| sl_barrel_batted_rate | 3.0 |
| sl_hard_hit_percent | 26.9 |
| sl_whiff_percent | 25.7 |
| sl_swing_percent | 49.4 |
| sl_avg_best_speed | 74.52046 |
| sl_avg_hyper_speed | 92.411433077 |
| Field | Value |
|---|---|
| Pitcher | Shane Drohan |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.2472 |
| ESPN Rank | 198 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0478 |
| Avg Velo | 90.5483 |
| Avg Spin | 2494.4836 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 7 |
| Season ERA | 2.6341 |
| Season WHIP | 1.0976 |
| Role Avg IP | 2.6670 |
| Recent Avg IP | 2.6670 |
| Last Start IP | 2.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 66,
"wins": 39,
"losses": 27,
"win_pct": 0.5909,
"runs_scored": 311.0,
"runs_allowed": 232.0,
"run_differential": 79.0,
"run_differential_per_game": 1.197,
"avg_runs_scored": 4.7121,
"avg_runs_allowed": 3.5152,
"offense_index": 1.0636,
"defense_index": 1.2604,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.2,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.2959
},
"opponent": {
"team": "SF",
"games": 68,
"wins": 28,
"losses": 40,
"win_pct": 0.4118,
"runs_scored": 286.0,
"runs_allowed": 317.0,
"run_differential": -31.0,
"run_differential_per_game": -0.4559,
"avg_runs_scored": 4.2059,
"avg_runs_allowed": 4.6618,
"offense_index": 0.9493,
"defense_index": 0.9504,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 6.2,
"avg_runs_allowed": 6.1,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.2016
},
"edges": {
"quality_edge": 0.4975,
"offense_edge": 0.0636,
"opponent_offense_edge": -0.0507,
"defense_strength": 0.2604,
"opponent_defense_weakness": 0.0496,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0297,
"run_prevention": 0.941,
"strikeout": 1.019
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "675660",
"profile": {
"available": true,
"pitcher_id": "675660",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 106.0,
"k_percent": 24.8,
"bb_percent": 7.1,
"woba": 0.255,
"xwoba": 0.26,
"sweet_spot_percent": 31.2,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 39.0,
"avg_best_speed": 78.2407,
"avg_hyper_speed": 93.8241,
"whiff_percent": 26.4,
"swing_percent": 50.3
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.8689,
"command_and_miss": 0.2814,
"regression_edge": -0.1429,
"xwoba_edge": 1.4857,
"barrel_edge": 0.1556,
"hard_hit_edge": -0.0571,
"whiff_edge": 0.0857,
"bb_edge": 0.55,
"pitch_design_score": 0.0478
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "675660",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 35,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 35,
"pitch_usage": 0.0,
"release_speed": 90.54829032593929,
"release_spin_rate": 2494.4836463493793,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 35,
"pitch_usage": 0.0,
"release_speed": 90.54829032593929,
"release_spin_rate": 2494.4836463493793,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5483,
"release_spin_rate": 2494.4836,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0478,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3412,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2472,
"sample_weight": 0.45,
"run_prevention_factor": 0.979,
"strikeout_factor": 1.0072,
"walk_factor": 0.9802,
"homer_factor": 0.9754,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "675660",
"espn_id": 4315203,
"player_name": "Shane Drohan",
"team": "MIL",
"role": "pitcher",
"espn_rank": 198,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 198,
"gp_value": 11.0,
"gp_rank": 291,
"gs_value": 1.0,
"gs_rank": 220,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.6341,
"era_rank": null,
"w_value": 2.0,
"w_rank": 141,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 1.0,
"sv_rank": 74,
"hld_value": 2.0,
"hld_rank": 154,
"ip_value": 27.1,
"ip_rank": 199,
"h_value": 22.0,
"h_rank": 236,
"er_value": 8.0,
"er_rank": 322,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 8.0,
"bb_rank": 302,
"k_value": 28.0,
"k_rank": 197,
"k_per_9_value": 9.219512,
"k_per_9_rank": 26,
"whip_value": 1.0975,
"whip_rank": null,
"war_value": 0.37,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 6.0,
"factor": 0.9906,
"adjusted": 6
},
"predicted_H": {
"original": 6.0,
"factor": 0.9906,
"adjusted": 6
},
"predicted_BB": {
"original": 8.0,
"factor": 0.9911,
"adjusted": 8
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9889,
"adjusted": 0
},
"predicted_SO": {
"original": 4.0,
"factor": 1.0032,
"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": 24.2,
"ER": 5,
"H": 19,
"BB": 4,
"SO": 26,
"HR": 1,
"ERA": 1.8243243243243246,
"WHIP": 0.9324324324324326,
"K9": 9.486486486486488,
"HR9": 0.3648648648648649,
"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": "675660",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 35,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 35,
"pitch_usage": 0.0,
"release_speed": 90.54829032593929,
"release_spin_rate": 2494.4836463493793,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 35,
"pitch_usage": 0.0,
"release_speed": 90.54829032593929,
"release_spin_rate": 2494.4836463493793,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5483,
"release_spin_rate": 2494.4836,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0478,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3412,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.394,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.519,
"prior_weight": 0.481
},
"role": "pitcher",
"player_id": "675660",
"report_date": "20260601_S",
"season_year": 2026,
"rows_used": 11,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 11.1,
"ER": 2.0,
"R": 3.0,
"H": 8.0,
"BB": 2.0,
"SO": 15.0,
"HR": 1.0,
"BF": 44.0,
"Pitches": 162.0
},
"per_game": {
"IP": 2.1,
"ER": 0.4,
"R": 0.6,
"H": 1.6,
"BB": 0.4,
"SO": 3.0,
"HR": 0.2,
"BF": 8.8,
"Pitches": 32.4
},
"rates": {
"ERA": 1.5882,
"WHIP": 0.8824,
"ER_per_IP": 0.17647,
"H_per_IP": 0.70588,
"BB_per_IP": 0.17647,
"SO_per_IP": 1.32353,
"HR_per_IP": 0.08824
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 24.2,
"ER": 5.0,
"R": 8.0,
"H": 19.0,
"BB": 4.0,
"SO": 26.0,
"HR": 1.0,
"BF": 98.0,
"Pitches": 366.0
},
"per_game": {
"IP": 2.1,
"ER": 0.5,
"R": 0.8,
"H": 1.9,
"BB": 0.4,
"SO": 2.6,
"HR": 0.1,
"BF": 9.8,
"Pitches": 36.6
},
"rates": {
"ERA": 1.8243,
"WHIP": 0.9324,
"ER_per_IP": 0.2027,
"H_per_IP": 0.77027,
"BB_per_IP": 0.16216,
"SO_per_IP": 1.05405,
"HR_per_IP": 0.04054
}
},
"season": {
"games": 11,
"totals": {
"IP": 27.1,
"ER": 8.0,
"R": 11.0,
"H": 22.0,
"BB": 8.0,
"SO": 28.0,
"HR": 1.0,
"BF": 113.0,
"Pitches": 429.0
},
"per_game": {
"IP": 2.1,
"ER": 0.7273,
"R": 1.0,
"H": 2.0,
"BB": 0.7273,
"SO": 2.5455,
"HR": 0.0909,
"BF": 10.2727,
"Pitches": 39.0
},
"rates": {
"ERA": 2.6341,
"WHIP": 1.0976,
"ER_per_IP": 0.29268,
"H_per_IP": 0.80488,
"BB_per_IP": 0.29268,
"SO_per_IP": 1.02439,
"HR_per_IP": 0.03659
}
}
},
"weighted_prediction": {
"predicted_IP": 3.2,
"predicted_ER": 1.221,
"predicted_H": 3.057,
"predicted_BB": 1.006,
"predicted_SO": 3.831,
"predicted_HR": 0.348,
"predicted_ERA": 3.0381,
"predicted_WHIP": 1.1237
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5532,
"form_weight": 0.4468,
"form_reliability": 0.519,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.394,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.519,
"prior_weight": 0.481
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 3.2,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 1.221,
"final": 1.0987,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 3.057,
"final": 2.4722,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.006,
"final": 0.4495,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 7.0,
"form": 3.831,
"final": 5.5842,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.348,
"final": 0.1555,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0381,
"final": 3.0381,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1237,
"final": 1.1237,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Aaron Ashby |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4953 |
| ESPN Rank | 78 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1224 |
| Avg Velo | 91.8802 |
| Avg Spin | 2270.2811 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2 |
| Season WHIP | 1.2778 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 66,
"wins": 39,
"losses": 27,
"win_pct": 0.5909,
"runs_scored": 311.0,
"runs_allowed": 232.0,
"run_differential": 79.0,
"run_differential_per_game": 1.197,
"avg_runs_scored": 4.7121,
"avg_runs_allowed": 3.5152,
"offense_index": 1.0636,
"defense_index": 1.2604,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.2,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.2959
},
"opponent": {
"team": "SF",
"games": 68,
"wins": 28,
"losses": 40,
"win_pct": 0.4118,
"runs_scored": 286.0,
"runs_allowed": 317.0,
"run_differential": -31.0,
"run_differential_per_game": -0.4559,
"avg_runs_scored": 4.2059,
"avg_runs_allowed": 4.6618,
"offense_index": 0.9493,
"defense_index": 0.9504,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 6.2,
"avg_runs_allowed": 6.1,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.2016
},
"edges": {
"quality_edge": 0.4975,
"offense_edge": 0.0636,
"opponent_offense_edge": -0.0507,
"defense_strength": 0.2604,
"opponent_defense_weakness": 0.0496,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0297,
"run_prevention": 0.941,
"strikeout": 1.019
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676879",
"profile": {
"available": true,
"pitcher_id": "676879",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 146.0,
"k_percent": 33.8,
"bb_percent": 11.9,
"woba": 0.275,
"xwoba": 0.257,
"sweet_spot_percent": 27.2,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 40.7,
"avg_best_speed": 75.9002,
"avg_hyper_speed": 94.4491,
"whiff_percent": 34.1,
"swing_percent": 40.7
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.9385,
"command_and_miss": 1.005,
"regression_edge": 0.5143,
"xwoba_edge": 1.5714,
"barrel_edge": 0.5111,
"hard_hit_edge": -0.3,
"whiff_edge": 1.1857,
"bb_edge": -0.65,
"pitch_design_score": 0.1224
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676879",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 26,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 26,
"pitch_usage": 0.0,
"release_speed": 91.88023970038545,
"release_spin_rate": 2270.2810799686545,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 26,
"pitch_usage": 0.0,
"release_speed": 91.88023970038545,
"release_spin_rate": 2270.2810799686545,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.8802,
"release_spin_rate": 2270.2811,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1224,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.874,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.4953,
"sample_weight": 0.584,
"run_prevention_factor": 0.9579,
"strikeout_factor": 1.0651,
"walk_factor": 1.0304,
"homer_factor": 0.9556,
"woba_minus_xwoba": 0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676879",
"espn_id": 41325,
"player_name": "Aaron Ashby",
"team": "MIL",
"role": "pitcher",
"espn_rank": 78,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 78,
"gp_value": 26.0,
"gp_rank": 31,
"gs_value": 1.0,
"gs_rank": 220,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.0,
"era_rank": null,
"w_value": 9.0,
"w_rank": 1,
"l_value": 0.0,
"l_rank": 390,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 1.0,
"hld_rank": 184,
"ip_value": 36.0,
"ip_rank": 150,
"h_value": 28.0,
"h_rank": 164,
"er_value": 8.0,
"er_rank": 322,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 18.0,
"bb_rank": 92,
"k_value": 51.0,
"k_rank": 73,
"k_per_9_value": 12.75,
"k_per_9_rank": 13,
"whip_value": 1.2777,
"whip_rank": null,
"war_value": 0.99,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9754,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9754,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0178,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9741,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.038,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 15.0,
"ER": 2,
"H": 11,
"BB": 5,
"SO": 17,
"HR": 0,
"ERA": 1.2,
"WHIP": 1.0666666666666667,
"K9": 10.2,
"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-29T00:00:00"
}{
"available": true,
"pitcher_id": "676879",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 26,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 26,
"pitch_usage": 0.0,
"release_speed": 91.88023970038545,
"release_spin_rate": 2270.2810799686545,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 26,
"pitch_usage": 0.0,
"release_speed": 91.88023970038545,
"release_spin_rate": 2270.2810799686545,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.8802,
"release_spin_rate": 2270.2811,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1224,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.874,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.105,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5869,
"prior_weight": 0.4131
},
"role": "pitcher",
"player_id": "676879",
"report_date": "20260601_S",
"season_year": 2026,
"rows_used": 26,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.0,
"ER": 1.0,
"R": 2.0,
"H": 5.0,
"BB": 3.0,
"SO": 7.0,
"HR": 0.0,
"BF": 30.0,
"Pitches": 124.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.4,
"H": 1.0,
"BB": 0.6,
"SO": 1.4,
"HR": 0.0,
"BF": 6.0,
"Pitches": 24.8
},
"rates": {
"ERA": 1.2857,
"WHIP": 1.1429,
"ER_per_IP": 0.14286,
"H_per_IP": 0.71429,
"BB_per_IP": 0.42857,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 15.0,
"ER": 2.0,
"R": 4.0,
"H": 11.0,
"BB": 5.0,
"SO": 17.0,
"HR": 0.0,
"BF": 59.0,
"Pitches": 234.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.4,
"H": 1.1,
"BB": 0.5,
"SO": 1.7,
"HR": 0.0,
"BF": 5.9,
"Pitches": 23.4
},
"rates": {
"ERA": 1.2,
"WHIP": 1.0667,
"ER_per_IP": 0.13333,
"H_per_IP": 0.73333,
"BB_per_IP": 0.33333,
"SO_per_IP": 1.13333,
"HR_per_IP": 0.0
}
},
"season": {
"games": 26,
"totals": {
"IP": 36.0,
"ER": 8.0,
"R": 10.0,
"H": 28.0,
"BB": 18.0,
"SO": 51.0,
"HR": 1.0,
"BF": 151.0,
"Pitches": 605.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3077,
"R": 0.3846,
"H": 1.0769,
"BB": 0.6923,
"SO": 1.9615,
"HR": 0.0385,
"BF": 5.8077,
"Pitches": 23.2692
},
"rates": {
"ERA": 2.0,
"WHIP": 1.2778,
"ER_per_IP": 0.22222,
"H_per_IP": 0.77778,
"BB_per_IP": 0.5,
"SO_per_IP": 1.41667,
"HR_per_IP": 0.02778
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.384,
"predicted_H": 1.097,
"predicted_BB": 0.523,
"predicted_SO": 1.402,
"predicted_HR": 0.078,
"predicted_ERA": 2.5921,
"predicted_WHIP": 1.2157
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5245,
"form_weight": 0.4755,
"form_reliability": 0.5869,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.105,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5869,
"prior_weight": 0.4131
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.384,
"final": 0.1826,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.097,
"final": 0.5216,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.523,
"final": 0.2487,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.402,
"final": 0.6666,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.078,
"final": 0.0371,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5921,
"final": 2.5921,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2157,
"final": 1.2157,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Abner Uribe |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1323 |
| ESPN Rank | 265 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2549 |
| Avg Velo | 94.2464 |
| Avg Spin | 2385.9900 |
| 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.7969 |
| Season WHIP | 1.1719 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 66,
"wins": 39,
"losses": 27,
"win_pct": 0.5909,
"runs_scored": 311.0,
"runs_allowed": 232.0,
"run_differential": 79.0,
"run_differential_per_game": 1.197,
"avg_runs_scored": 4.7121,
"avg_runs_allowed": 3.5152,
"offense_index": 1.0636,
"defense_index": 1.2604,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.2,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.2959
},
"opponent": {
"team": "SF",
"games": 68,
"wins": 28,
"losses": 40,
"win_pct": 0.4118,
"runs_scored": 286.0,
"runs_allowed": 317.0,
"run_differential": -31.0,
"run_differential_per_game": -0.4559,
"avg_runs_scored": 4.2059,
"avg_runs_allowed": 4.6618,
"offense_index": 0.9493,
"defense_index": 0.9504,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 6.2,
"avg_runs_allowed": 6.1,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.2016
},
"edges": {
"quality_edge": 0.4975,
"offense_edge": 0.0636,
"opponent_offense_edge": -0.0507,
"defense_strength": 0.2604,
"opponent_defense_weakness": 0.0496,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0297,
"run_prevention": 0.941,
"strikeout": 1.019
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "682842",
"profile": {
"available": true,
"pitcher_id": "682842",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 80.0,
"k_percent": 25.6,
"bb_percent": 10.5,
"woba": 0.275,
"xwoba": 0.29,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 3.6,
"hard_hit_percent": 36.4,
"avg_best_speed": 78.257,
"avg_hyper_speed": 93.4421,
"whiff_percent": 23.1,
"swing_percent": 39.8
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.566,
"command_and_miss": -0.0021,
"regression_edge": -0.4286,
"xwoba_edge": 0.6286,
"barrel_edge": 0.8,
"hard_hit_edge": 0.3143,
"whiff_edge": -0.3857,
"bb_edge": -0.3,
"pitch_design_score": 0.2549
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "682842",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 94.2464432072474,
"release_spin_rate": 2385.98997542464,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 94.2464432072474,
"release_spin_rate": 2385.98997542464,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.2464,
"release_spin_rate": 2385.99,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2549,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.8205,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1323,
"sample_weight": 0.45,
"run_prevention_factor": 0.9888,
"strikeout_factor": 1.0008,
"walk_factor": 1.0108,
"homer_factor": 0.9571,
"woba_minus_xwoba": -0.015,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682842",
"espn_id": 4917865,
"player_name": "Abner Uribe",
"team": "MIL",
"role": "pitcher",
"espn_rank": 265,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 265,
"gp_value": 23.0,
"gp_rank": 87,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 3.7968,
"era_rank": null,
"w_value": 3.0,
"w_rank": 74,
"l_value": 2.0,
"l_rank": 140,
"sv_value": 5.0,
"sv_rank": 23,
"hld_value": 6.0,
"hld_rank": 51,
"ip_value": 21.1,
"ip_rank": 303,
"h_value": 16.0,
"h_rank": 326,
"er_value": 9.0,
"er_rank": 287,
"hr_value": 2.0,
"hr_rank": 258,
"bb_value": 9.0,
"bb_rank": 272,
"k_value": 23.0,
"k_rank": 259,
"k_per_9_value": 9.703125,
"k_per_9_rank": 23,
"whip_value": 1.1718,
"whip_rank": null,
"war_value": 0.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.995,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.995,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0049,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9807,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0004,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 4,
"H": 7,
"BB": 6,
"SO": 10,
"HR": 1,
"ERA": 3.6,
"WHIP": 1.3,
"K9": 9.0,
"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-31T00:00:00"
}{
"available": true,
"pitcher_id": "682842",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 94.2464432072474,
"release_spin_rate": 2385.98997542464,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 94.2464432072474,
"release_spin_rate": 2385.98997542464,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.2464,
"release_spin_rate": 2385.99,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2549,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.8205,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.21,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4571,
"prior_weight": 0.5429
},
"role": "pitcher",
"player_id": "682842",
"report_date": "20260601_S",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 3.0,
"SO": 6.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 79.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.6,
"SO": 1.2,
"HR": 0.0,
"BF": 4.2,
"Pitches": 15.8
},
"rates": {
"ERA": 0.0,
"WHIP": 1.2,
"ER_per_IP": 0.0,
"H_per_IP": 0.6,
"BB_per_IP": 0.6,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 4.0,
"R": 4.0,
"H": 7.0,
"BB": 6.0,
"SO": 10.0,
"HR": 1.0,
"BF": 44.0,
"Pitches": 170.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.7,
"BB": 0.6,
"SO": 1.0,
"HR": 0.1,
"BF": 4.4,
"Pitches": 17.0
},
"rates": {
"ERA": 3.6,
"WHIP": 1.3,
"ER_per_IP": 0.4,
"H_per_IP": 0.7,
"BB_per_IP": 0.6,
"SO_per_IP": 1.0,
"HR_per_IP": 0.1
}
},
"season": {
"games": 23,
"totals": {
"IP": 21.1,
"ER": 9.0,
"R": 9.0,
"H": 16.0,
"BB": 9.0,
"SO": 23.0,
"HR": 2.0,
"BF": 89.0,
"Pitches": 349.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3913,
"R": 0.3913,
"H": 0.6957,
"BB": 0.3913,
"SO": 1.0,
"HR": 0.087,
"BF": 3.8696,
"Pitches": 15.1739
},
"rates": {
"ERA": 3.7969,
"WHIP": 1.1719,
"ER_per_IP": 0.42188,
"H_per_IP": 0.75,
"BB_per_IP": 0.42188,
"SO_per_IP": 1.07812,
"HR_per_IP": 0.09375
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.361,
"predicted_H": 0.82,
"predicted_BB": 0.458,
"predicted_SO": 1.016,
"predicted_HR": 0.097,
"predicted_ERA": 3.2508,
"predicted_WHIP": 1.2778
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5794,
"form_weight": 0.4206,
"form_reliability": 0.4571,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.21,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4571,
"prior_weight": 0.5429
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.361,
"final": 0.7312,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.82,
"final": 1.5037,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.458,
"final": 0.1926,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.016,
"final": 1.0067,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.097,
"final": 0.6202,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2508,
"final": 3.2508,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2778,
"final": 1.2778,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Trevor Megill |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2495 |
| ESPN Rank | 336 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2148 |
| Avg Velo | 93.5312 |
| Avg Spin | 2517.8841 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.5714 |
| Season WHIP | 0.9524 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 66,
"wins": 39,
"losses": 27,
"win_pct": 0.5909,
"runs_scored": 311.0,
"runs_allowed": 232.0,
"run_differential": 79.0,
"run_differential_per_game": 1.197,
"avg_runs_scored": 4.7121,
"avg_runs_allowed": 3.5152,
"offense_index": 1.0636,
"defense_index": 1.2604,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.2,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.2959
},
"opponent": {
"team": "SF",
"games": 68,
"wins": 28,
"losses": 40,
"win_pct": 0.4118,
"runs_scored": 286.0,
"runs_allowed": 317.0,
"run_differential": -31.0,
"run_differential_per_game": -0.4559,
"avg_runs_scored": 4.2059,
"avg_runs_allowed": 4.6618,
"offense_index": 0.9493,
"defense_index": 0.9504,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 6.2,
"avg_runs_allowed": 6.1,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.2016
},
"edges": {
"quality_edge": 0.4975,
"offense_edge": 0.0636,
"opponent_offense_edge": -0.0507,
"defense_strength": 0.2604,
"opponent_defense_weakness": 0.0496,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0297,
"run_prevention": 0.941,
"strikeout": 1.019
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656730",
"profile": {
"available": true,
"pitcher_id": "656730",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 79.0,
"k_percent": 29.8,
"bb_percent": 7.1,
"woba": 0.258,
"xwoba": 0.271,
"sweet_spot_percent": 28.8,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 46.2,
"avg_best_speed": 82.108,
"avg_hyper_speed": 94.9705,
"whiff_percent": 34.4,
"swing_percent": 49.4
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.5601,
"command_and_miss": 1.0029,
"regression_edge": -0.3714,
"xwoba_edge": 1.1714,
"barrel_edge": 0.3111,
"hard_hit_edge": -1.0857,
"whiff_edge": 1.2286,
"bb_edge": 0.55,
"pitch_design_score": 0.2148
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656730",
"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": 93.53119083694084,
"release_spin_rate": 2517.884055250305,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 93.53119083694084,
"release_spin_rate": 2517.884055250305,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 93.5312,
"release_spin_rate": 2517.8841,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2148,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.5344,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2495,
"sample_weight": 0.45,
"run_prevention_factor": 0.9788,
"strikeout_factor": 1.0406,
"walk_factor": 0.9802,
"homer_factor": 0.9925,
"woba_minus_xwoba": -0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656730",
"espn_id": 40080,
"player_name": "Trevor Megill",
"team": "MIL",
"role": "pitcher",
"espn_rank": 336,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 336,
"gp_value": 22.0,
"gp_rank": 108,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 4.2857,
"era_rank": null,
"w_value": 0.0,
"w_rank": 368,
"l_value": 2.0,
"l_rank": 140,
"sv_value": 8.0,
"sv_rank": 13,
"hld_value": 6.0,
"hld_rank": 51,
"ip_value": 21.0,
"ip_rank": 313,
"h_value": 16.0,
"h_rank": 326,
"er_value": 10.0,
"er_rank": 258,
"hr_value": 0.0,
"hr_rank": 529,
"bb_value": 6.0,
"bb_rank": 379,
"k_value": 27.0,
"k_rank": 209,
"k_per_9_value": 11.571429,
"k_per_9_rank": 18,
"whip_value": 1.0476,
"whip_rank": null,
"war_value": 0.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9905,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9905,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9911,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9966,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0183,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 2,
"H": 6,
"BB": 1,
"SO": 14,
"HR": 0,
"ERA": 1.8,
"WHIP": 0.7,
"K9": 12.6,
"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-31T00:00:00"
}{
"available": true,
"pitcher_id": "656730",
"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": 93.53119083694084,
"release_spin_rate": 2517.884055250305,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 93.53119083694084,
"release_spin_rate": 2517.884055250305,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 93.5312,
"release_spin_rate": 2517.8841,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2148,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.5344,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.144,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4532,
"prior_weight": 0.5468
},
"role": "pitcher",
"player_id": "656730",
"report_date": "20260601_S",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 0.0,
"SO": 7.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 64.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.0,
"SO": 1.4,
"HR": 0.0,
"BF": 3.4,
"Pitches": 12.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4,
"ER_per_IP": 0.0,
"H_per_IP": 0.4,
"BB_per_IP": 0.0,
"SO_per_IP": 1.4,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 1.0,
"SO": 14.0,
"HR": 0.0,
"BF": 37.0,
"Pitches": 145.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.1,
"SO": 1.4,
"HR": 0.0,
"BF": 3.7,
"Pitches": 14.5
},
"rates": {
"ERA": 1.8,
"WHIP": 0.7,
"ER_per_IP": 0.2,
"H_per_IP": 0.6,
"BB_per_IP": 0.1,
"SO_per_IP": 1.4,
"HR_per_IP": 0.0
}
},
"season": {
"games": 21,
"totals": {
"IP": 21.0,
"ER": 6.0,
"R": 7.0,
"H": 14.0,
"BB": 6.0,
"SO": 27.0,
"HR": 0.0,
"BF": 82.0,
"Pitches": 328.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2857,
"R": 0.3333,
"H": 0.6667,
"BB": 0.2857,
"SO": 1.2857,
"HR": 0.0,
"BF": 3.9048,
"Pitches": 15.619
},
"rates": {
"ERA": 2.5714,
"WHIP": 0.9524,
"ER_per_IP": 0.28571,
"H_per_IP": 0.66667,
"BB_per_IP": 0.28571,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.318,
"predicted_H": 0.757,
"predicted_BB": 0.243,
"predicted_SO": 1.138,
"predicted_HR": 0.073,
"predicted_ERA": 2.8631,
"predicted_WHIP": 1.0
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.581,
"form_weight": 0.419,
"form_reliability": 0.4532,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.144,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4532,
"prior_weight": 0.5468
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.318,
"final": 0.1332,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.757,
"final": 0.3172,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.243,
"final": 0.1018,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.138,
"final": 1.0578,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.073,
"final": 0.0306,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8631,
"final": 2.8631,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0,
"final": 1.0,
"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.250 | 0.000 | 0.000 | Hitting_2B | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_3B | 0.050 | 0.000 | 0.000 | Hitting_3B | 0.050 | 0.000 | -0.050 | 0.000 |
| predicted_AB | 4.140 | 4.000 | 7.000 | Hitting_AB | 3.870 | 4.000 | 0.130 | 0.000 |
| predicted_AVG | 0.229 | 0.000 | 0.286 | Hitting_AVG | 0.287 | 0.000 | -0.287 | 0.000 |
| predicted_BB | 0.370 | 0.000 | 1.000 | Hitting_BB | 0.370 | 0.000 | -0.370 | 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.110 | 0.000 | -1.110 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.150 | 0.000 | -0.150 | 0.000 |
| predicted_OBP | 0.310 | 0.000 | 0.375 | Hitting_OBP | 0.349 | 0.000 | -0.349 | 0.000 |
| predicted_R | 0.650 | 0.000 | 1.000 | Hitting_R | 0.650 | 0.000 | -0.650 | 0.000 |
| predicted_RBI | 0.470 | 0.000 | 1.000 | Hitting_RBI | 0.590 | 0.000 | -0.590 | 0.000 |
| predicted_SLG | 0.388 | 0.000 | 0.286 | Hitting_SLG | 0.494 | 0.000 | -0.494 | 0.000 |
| predicted_SO | 1.090 | 1.000 | 2.000 | Hitting_SO | 1.090 | 3.000 | -0.090 | -2.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 | 4 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SLG: 0.3880 -> 0.4285 (boost 0.0405, better) |
| Biggest Deboost | predicted_H: 0.9500 -> 0.0000 (deboost -0.9500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.1400 -> 7.3420 (boost 3.2020, 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.1242 -> 1.2095 (boost 0.0853, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_BB: 0.6911 -> 1.0000 (boost 0.3089, better) | predicted_2B: 0.4007 -> 0.0000 (deboost -0.4007, worse) | AB rounded to 7 (raw=7.34), rates preserved: AVG=0.262 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2095 -> 1.0000 (deboost -0.2095, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3259 -> 0.3750 (boost 0.0491, better) | predicted_SLG: 0.4285 -> 0.2860 (deboost -0.1425, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 7.0000 -> 4.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.4285 (boost 0.1425, better) | predicted_OBP: 0.3750 -> 0.3259 (deboost -0.0491, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "592885",
"player_name": "Christian Yelich",
"position": "DH",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.25,
"predicted_3B": 0.05,
"predicted_AB": 4.14,
"predicted_AVG": 0.229,
"predicted_BB": 0.37,
"predicted_H": 0.95,
"predicted_HR": 0.12,
"predicted_OBP": 0.31,
"predicted_R": 0.65,
"predicted_RBI": 0.47,
"predicted_SLG": 0.388,
"predicted_SO": 1.09
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4007,
"predicted_3B": 0.075,
"predicted_AB": 7.342,
"predicted_AVG": 0.2434,
"predicted_BB": 0.6792,
"predicted_H": 1.8492,
"predicted_HBP": 0.007,
"predicted_HR": 0.2147,
"predicted_OBP": 0.3172,
"predicted_R": 1.1242,
"predicted_RBI": 0.9631,
"predicted_SLG": 0.4022,
"predicted_SO": 2.124
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.4007,
"delta": 0.1507,
"percent_delta": 0.6028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.05,
"after": 0.075,
"delta": 0.025,
"percent_delta": 0.5,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.14,
"after": 7.342,
"delta": 3.202,
"percent_delta": 0.7734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2434,
"delta": 0.0144,
"percent_delta": 0.0629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.37,
"after": 0.6792,
"delta": 0.3092,
"percent_delta": 0.8357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 1.8492,
"delta": 0.8992,
"percent_delta": 0.9465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.2147,
"delta": 0.0947,
"percent_delta": 0.7892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3172,
"delta": 0.0072,
"percent_delta": 0.0232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.65,
"after": 1.1242,
"delta": 0.4742,
"percent_delta": 0.7295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.9631,
"delta": 0.4931,
"percent_delta": 1.0491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.388,
"after": 0.4022,
"delta": 0.0142,
"percent_delta": 0.0366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.09,
"after": 2.124,
"delta": 1.034,
"percent_delta": 0.9486,
"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.14,
"after": 7.342,
"delta": 3.202,
"percent_delta": 0.7734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 27
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.4007,
"predicted_3B": 0.075,
"predicted_AB": 7.342,
"predicted_AVG": 0.2625,
"predicted_BB": 0.6911,
"predicted_H": 1.9272,
"predicted_HBP": 0.007,
"predicted_HR": 0.2228,
"predicted_OBP": 0.3259,
"predicted_R": 1.2095,
"predicted_RBI": 1.0362,
"predicted_SLG": 0.4285,
"predicted_SO": 2.0868
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4007,
"after": 0.4007,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.075,
"after": 0.075,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.342,
"after": 7.342,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2434,
"after": 0.2625,
"delta": 0.0191,
"percent_delta": 0.0785,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6792,
"after": 0.6911,
"delta": 0.0119,
"percent_delta": 0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8492,
"after": 1.9272,
"delta": 0.078,
"percent_delta": 0.0422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.007,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2147,
"after": 0.2228,
"delta": 0.0081,
"percent_delta": 0.0377,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3172,
"after": 0.3259,
"delta": 0.0087,
"percent_delta": 0.0274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1242,
"after": 1.2095,
"delta": 0.0853,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9631,
"after": 1.0362,
"delta": 0.0731,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4022,
"after": 0.4285,
"delta": 0.0263,
"percent_delta": 0.0654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.124,
"after": 2.0868,
"delta": -0.0372,
"percent_delta": -0.0175,
"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.1242,
"after": 1.2095,
"delta": 0.0853,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.34), rates preserved: AVG=0.262 HR/AB=0.030",
"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.4007,
"after": 0.0,
"delta": -0.4007,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.075,
"after": 0.0,
"delta": -0.075,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.342,
"after": 7.0,
"delta": -0.342,
"percent_delta": -0.0466,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6911,
"after": 1.0,
"delta": 0.3089,
"percent_delta": 0.447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.9272,
"after": 2.0,
"delta": 0.0728,
"percent_delta": 0.0378,
"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.2228,
"after": 0.0,
"delta": -0.2228,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0362,
"after": 1.0,
"delta": -0.0362,
"percent_delta": -0.0349,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0868,
"after": 2.0,
"delta": -0.0868,
"percent_delta": -0.0416,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.6911,
"after": 1.0,
"delta": 0.3089,
"percent_delta": 0.447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4007,
"after": 0.0,
"delta": -0.4007,
"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.2095,
"after": 1.0,
"delta": -0.2095,
"percent_delta": -0.1732,
"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.2095,
"after": 1.0,
"delta": -0.2095,
"percent_delta": -0.1732,
"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.2625,
"after": 0.286,
"delta": 0.0235,
"percent_delta": 0.0895,
"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.3259,
"after": 0.375,
"delta": 0.0491,
"percent_delta": 0.1507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4285,
"after": 0.286,
"delta": -0.1425,
"percent_delta": -0.3326,
"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.3259,
"after": 0.375,
"delta": 0.0491,
"percent_delta": 0.1507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4285,
"after": 0.286,
"delta": -0.1425,
"percent_delta": -0.3326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2625,
"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.3259,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4285,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2625,
"delta": -0.0235,
"percent_delta": -0.0822,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3259,
"delta": -0.0491,
"percent_delta": -0.1308,
"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.4285,
"delta": 0.1425,
"percent_delta": 0.4983,
"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.4285,
"delta": 0.1425,
"percent_delta": 0.4983,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3259,
"delta": -0.0491,
"percent_delta": -0.1308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.14,
"after": 4.0,
"delta": -0.14,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2625,
"delta": 0.0335,
"percent_delta": 0.1463,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.0,
"delta": -0.95,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3259,
"delta": 0.0159,
"percent_delta": 0.0513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"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.388,
"after": 0.4285,
"delta": 0.0405,
"percent_delta": 0.1044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.09,
"after": 1.0,
"delta": -0.09,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 3,
"deboosted_metrics": 9,
"better_metrics": 4,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.388,
"after": 0.4285,
"delta": 0.0405,
"percent_delta": 0.1044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.95,
"after": 0.0,
"delta": -0.95,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.250 | - |
| predicted_3B | 0.050 | - |
| predicted_AB | 4.140 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.370 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.310 | - |
| predicted_R | 0.650 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.388 | - |
| predicted_SO | 1.090 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.401 | 0.151 |
| predicted_3B | 0.075 | 0.025 |
| predicted_AB | 7.342 | 3.202 |
| predicted_AVG | 0.243 | 0.014 |
| predicted_BB | 0.679 | 0.309 |
| predicted_H | 1.849 | 0.899 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.215 | 0.095 |
| predicted_OBP | 0.317 | 0.007 |
| predicted_R | 1.124 | 0.474 |
| predicted_RBI | 0.963 | 0.493 |
| predicted_SLG | 0.402 | 0.014 |
| predicted_SO | 2.124 | 1.034 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.401 | 0.000 |
| predicted_3B | 0.075 | 0.000 |
| predicted_AB | 7.342 | 0.000 |
| predicted_AVG | 0.263 | 0.019 |
| predicted_BB | 0.691 | 0.012 |
| predicted_H | 1.927 | 0.078 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.223 | 0.008 |
| predicted_OBP | 0.326 | 0.009 |
| predicted_R | 1.210 | 0.085 |
| predicted_RBI | 1.036 | 0.073 |
| predicted_SLG | 0.428 | 0.026 |
| predicted_SO | 2.087 | -0.037 |
AB rounded to 7 (raw=7.34), rates preserved: AVG=0.262 HR/AB=0.030
| 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.401 |
| predicted_3B | 0.000 | -0.075 |
| predicted_AB | 7.000 | -0.342 |
| predicted_AVG | 0.286 | 0.023 |
| predicted_BB | 1.000 | 0.309 |
| predicted_H | 2.000 | 0.073 |
| predicted_HR | 0.000 | -0.223 |
| predicted_OBP | 0.375 | 0.049 |
| predicted_R | 1.000 | -0.210 |
| predicted_RBI | 1.000 | -0.036 |
| predicted_SLG | 0.286 | -0.143 |
| predicted_SO | 2.000 | -0.087 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 19.000 | 3.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 8.000 | 0.1579 | 0.2381 | 0.1579 | 0.1579 | 0.0000 | 0.1053 | 0.1053 | 0.4210 |
| last_10 | 0.20 | 5 | - | 42.000 | 14.000 | 3.000 | 0.000 | 0.000 | 4.000 | 5.000 | 2.000 | 10.000 | 0.3333 | 0.3636 | 0.4048 | 0.3333 | 0.0000 | 0.0952 | 0.0476 | 0.2381 |
| season | 0.60 | 27 | - | 387.000 | 111.000 | 25.000 | 5.000 | 15.000 | 59.000 | 65.000 | 37.000 | 109.000 | 0.2868 | 0.3491 | 0.4935 | 0.2868 | 0.0388 | 0.1525 | 0.0956 | 0.2817 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6000 |
| predicted_3B | 0.1080 |
| predicted_AB | 11.5750 |
| predicted_AVG | 0.2625 |
| predicted_BB | 1.0880 |
| predicted_H | 3.0380 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.3400 |
| predicted_OBP | 0.3267 |
| predicted_R | 1.7510 |
| predicted_RBI | 1.6150 |
| predicted_SLG | 0.4210 |
| predicted_SO | 3.4910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2500 | 0.6000 | 0.4007 | model_form_blend |
| predicted_3B | 0.0500 | 0.1080 | 0.0750 | model_form_blend |
| predicted_AB | 4.1400 | 11.5750 | 7.3420 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2625 | 0.2434 | model_form_blend |
| predicted_BB | 0.3700 | 1.0880 | 0.6792 | model_form_blend |
| predicted_H | 0.9500 | 3.0380 | 1.8492 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.1200 | 0.3400 | 0.2147 | model_form_blend |
| predicted_OBP | 0.3100 | 0.3267 | 0.3172 | model_form_blend |
| predicted_R | 0.6500 | 1.7510 | 1.1242 | model_form_blend |
| predicted_RBI | 0.4700 | 1.6150 | 0.9631 | model_form_blend |
| predicted_SLG | 0.3880 | 0.4210 | 0.4022 | model_form_blend |
| predicted_SO | 1.0900 | 3.4910 | 2.1240 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 100 |
| Season rows before report date | 100 |
| Report year | 2026 |
| Profile rows used | 100 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.287 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 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 | 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 | 20260531_MIL@HOU |
| game_type | full |
| mlbID | 592885 |
| playerID | 592885 |
| playerName | Christian Yelich |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | MIL |
| teamID | 16 |
| game_date | 2026-05-31 |
| sl_k_percent | 27.3 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.344 |
| sl_xwoba | 0.281 |
| sl_xba | 0.207 |
| sl_xslg | 0.375 |
| sl_sweet_spot_percent | 24.3 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 35.7 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 2.8 |
| sl_whiff_percent | 31.8 |
| sl_swing_percent | 47.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.210 | 0.000 | 0.000 | Hitting_2B | 0.210 | 0.000 | -0.210 | 0.000 |
| predicted_3B | 0.039 | 0.000 | 0.000 | Hitting_3B | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_AB | 3.950 | 3.000 | 8.000 | Hitting_AB | 3.738 | 4.000 | -0.738 | -1.000 |
| predicted_AVG | 0.217 | 0.333 | 0.250 | Hitting_AVG | 0.285 | 0.000 | 0.048 | 0.333 |
| predicted_BB | 0.777 | 1.000 | 2.000 | Hitting_BB | 0.777 | 0.000 | 0.223 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_H | 0.860 | 1.000 | 2.000 | Hitting_H | 1.066 | 0.000 | -0.066 | 1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_OBP | 0.324 | 0.500 | 0.400 | Hitting_OBP | 0.405 | 0.000 | 0.095 | 0.500 |
| predicted_R | 0.921 | 1.000 | 2.000 | Hitting_R | 0.921 | 0.000 | 0.079 | 1.000 |
| predicted_RBI | 0.490 | 0.000 | 1.000 | Hitting_RBI | 0.655 | 0.000 | -0.655 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.197 | 0.000 | -0.197 | 0.000 |
| predicted_SLG | 0.353 | 0.333 | 0.250 | Hitting_SLG | 0.481 | 0.000 | -0.148 | 0.333 |
| predicted_SO | 1.035 | 0.000 | 2.000 | Hitting_SO | 1.035 | 0.000 | -1.035 | 0.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_BB: 0.7770 -> 1.0000 (boost 0.2230, better) |
| Biggest Deboost | predicted_SO: 1.0350 -> 0.0000 (deboost -1.0350, 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.9500 -> 8.0655 (boost 4.1155, 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.6889 -> 1.8171 (boost 0.1282, 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_BB: 1.6138 -> 2.0000 (boost 0.3862, better) | predicted_SO: 2.3664 -> 2.0000 (deboost -0.3664, better) | AB rounded to 8 (raw=8.07), rates preserved: AVG=0.225 HR/AB=0.030 |
| 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: 1.8171 -> 2.0000 (boost 0.1829, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3539 -> 0.4000 (boost 0.0461, better) | predicted_SLG: 0.3780 -> 0.2500 (deboost -0.1280, 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 -> 3.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.2500 -> 0.3780 (boost 0.1280, better) | predicted_OBP: 0.4000 -> 0.3539 (deboost -0.0461, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668930",
"player_name": "Brice Turang",
"position": "2B",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.21,
"predicted_3B": 0.039,
"predicted_AB": 3.95,
"predicted_AVG": 0.217,
"predicted_BB": 0.777,
"predicted_H": 0.86,
"predicted_HR": 0.11,
"predicted_OBP": 0.324,
"predicted_R": 0.921,
"predicted_RBI": 0.49,
"predicted_SLG": 0.353,
"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.3646,
"predicted_3B": 0.0673,
"predicted_AB": 8.0655,
"predicted_AVG": 0.216,
"predicted_BB": 1.586,
"predicted_H": 1.7388,
"predicted_HBP": 0.003,
"predicted_HR": 0.2368,
"predicted_OBP": 0.3307,
"predicted_R": 1.6889,
"predicted_RBI": 1.1191,
"predicted_SLG": 0.3571,
"predicted_SO": 2.4086
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.21,
"after": 0.3646,
"delta": 0.1546,
"percent_delta": 0.7362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.039,
"after": 0.0673,
"delta": 0.0283,
"percent_delta": 0.7256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.95,
"after": 8.0655,
"delta": 4.1155,
"percent_delta": 1.0419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.216,
"delta": -0.001,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.777,
"after": 1.586,
"delta": 0.809,
"percent_delta": 1.0412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 1.7388,
"delta": 0.8788,
"percent_delta": 1.0219,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.2368,
"delta": 0.1268,
"percent_delta": 1.1527,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3307,
"delta": 0.0067,
"percent_delta": 0.0207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.921,
"after": 1.6889,
"delta": 0.7679,
"percent_delta": 0.8338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 1.1191,
"delta": 0.6291,
"percent_delta": 1.2839,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.3571,
"delta": 0.0041,
"percent_delta": 0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.035,
"after": 2.4086,
"delta": 1.3736,
"percent_delta": 1.3271,
"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.95,
"after": 8.0655,
"delta": 4.1155,
"percent_delta": 1.0419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.3646,
"predicted_3B": 0.0673,
"predicted_AB": 8.0655,
"predicted_AVG": 0.2247,
"predicted_BB": 1.6138,
"predicted_H": 1.8122,
"predicted_HBP": 0.003,
"predicted_HR": 0.2457,
"predicted_OBP": 0.3539,
"predicted_R": 1.8171,
"predicted_RBI": 1.204,
"predicted_SLG": 0.378,
"predicted_SO": 2.3664
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3646,
"after": 0.3646,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0673,
"after": 0.0673,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0655,
"after": 8.0655,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.2247,
"delta": 0.0087,
"percent_delta": 0.0403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.586,
"after": 1.6138,
"delta": 0.0278,
"percent_delta": 0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7388,
"after": 1.8122,
"delta": 0.0734,
"percent_delta": 0.0422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2368,
"after": 0.2457,
"delta": 0.0089,
"percent_delta": 0.0376,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3307,
"after": 0.3539,
"delta": 0.0232,
"percent_delta": 0.0702,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.6889,
"after": 1.8171,
"delta": 0.1282,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1191,
"after": 1.204,
"delta": 0.0849,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3571,
"after": 0.378,
"delta": 0.0209,
"percent_delta": 0.0585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.4086,
"after": 2.3664,
"delta": -0.0422,
"percent_delta": -0.0175,
"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.6889,
"after": 1.8171,
"delta": 0.1282,
"percent_delta": 0.0759,
"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.07), rates preserved: AVG=0.225 HR/AB=0.030",
"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.3646,
"after": 0.0,
"delta": -0.3646,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0673,
"after": 0.0,
"delta": -0.0673,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 8.0655,
"after": 8.0,
"delta": -0.0655,
"percent_delta": -0.0081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.6138,
"after": 2.0,
"delta": 0.3862,
"percent_delta": 0.2393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.8122,
"after": 2.0,
"delta": 0.1878,
"percent_delta": 0.1036,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2457,
"after": 0.0,
"delta": -0.2457,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.204,
"after": 1.0,
"delta": -0.204,
"percent_delta": -0.1694,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.3664,
"after": 2.0,
"delta": -0.3664,
"percent_delta": -0.1548,
"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": 1.6138,
"after": 2.0,
"delta": 0.3862,
"percent_delta": 0.2393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.3664,
"after": 2.0,
"delta": -0.3664,
"percent_delta": -0.1548,
"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.167)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.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": 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.8171,
"after": 2.0,
"delta": 0.1829,
"percent_delta": 0.1007,
"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.8171,
"after": 2.0,
"delta": 0.1829,
"percent_delta": 0.1007,
"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": 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.2247,
"after": 0.25,
"delta": 0.0253,
"percent_delta": 0.1126,
"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.3539,
"after": 0.4,
"delta": 0.0461,
"percent_delta": 0.1303,
"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.378,
"after": 0.25,
"delta": -0.128,
"percent_delta": -0.3386,
"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.3539,
"after": 0.4,
"delta": 0.0461,
"percent_delta": 0.1303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.25,
"delta": -0.128,
"percent_delta": -0.3386,
"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": 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": 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": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"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.2247,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3539,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.378,
"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.2247,
"delta": -0.0253,
"percent_delta": -0.1013,
"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.4,
"after": 0.3539,
"delta": -0.0461,
"percent_delta": -0.1151,
"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.378,
"delta": 0.128,
"percent_delta": 0.5118,
"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.378,
"delta": 0.128,
"percent_delta": 0.5118,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3539,
"delta": -0.0461,
"percent_delta": -0.1151,
"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.21,
"after": 0.0,
"delta": -0.21,
"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": 3.95,
"after": 3.0,
"delta": -0.95,
"percent_delta": -0.2405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2247,
"delta": 0.0077,
"percent_delta": 0.0355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.777,
"after": 1.0,
"delta": 0.223,
"percent_delta": 0.287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 1.0,
"delta": 0.14,
"percent_delta": 0.1628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3539,
"delta": 0.0299,
"percent_delta": 0.0923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.921,
"after": 1.0,
"delta": 0.079,
"percent_delta": 0.0858,
"direction": "boost",
"projection_effect": "better",
"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.353,
"after": 0.378,
"delta": 0.025,
"percent_delta": 0.0708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.035,
"after": 0.0,
"delta": -1.035,
"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_BB",
"before": 0.777,
"after": 1.0,
"delta": 0.223,
"percent_delta": 0.287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.035,
"after": 0.0,
"delta": -1.035,
"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.210 | - |
| predicted_3B | 0.039 | - |
| predicted_AB | 3.950 | - |
| predicted_AVG | 0.217 | - |
| predicted_BB | 0.777 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.324 | - |
| predicted_R | 0.921 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.353 | - |
| 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.365 | 0.155 |
| predicted_3B | 0.067 | 0.028 |
| predicted_AB | 8.066 | 4.115 |
| predicted_AVG | 0.216 | -0.001 |
| predicted_BB | 1.586 | 0.809 |
| predicted_H | 1.739 | 0.879 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.237 | 0.127 |
| predicted_OBP | 0.331 | 0.007 |
| predicted_R | 1.689 | 0.768 |
| predicted_RBI | 1.119 | 0.629 |
| predicted_SLG | 0.357 | 0.004 |
| predicted_SO | 2.409 | 1.374 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.365 | 0.000 |
| predicted_3B | 0.067 | 0.000 |
| predicted_AB | 8.066 | 0.000 |
| predicted_AVG | 0.225 | 0.009 |
| predicted_BB | 1.614 | 0.028 |
| predicted_H | 1.812 | 0.073 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.246 | 0.009 |
| predicted_OBP | 0.354 | 0.023 |
| predicted_R | 1.817 | 0.128 |
| predicted_RBI | 1.204 | 0.085 |
| predicted_SLG | 0.378 | 0.021 |
| predicted_SO | 2.366 | -0.042 |
AB rounded to 8 (raw=8.07), rates preserved: AVG=0.225 HR/AB=0.030
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 2.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=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 | 2.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 2.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.365 |
| predicted_3B | 0.000 | -0.067 |
| predicted_AB | 8.000 | -0.066 |
| predicted_AVG | 0.250 | 0.025 |
| predicted_BB | 2.000 | 0.386 |
| predicted_H | 2.000 | 0.188 |
| predicted_HR | 0.000 | -0.246 |
| predicted_OBP | 0.400 | 0.046 |
| predicted_R | 2.000 | 0.183 |
| predicted_RBI | 1.000 | -0.204 |
| predicted_SLG | 0.250 | -0.128 |
| predicted_SO | 2.000 | -0.366 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -5.000 |
| BB | 1.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 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 | 0.000 | -2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 17.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 7.000 | 0.0000 | 0.1429 | 0.0000 | 0.0000 | 0.0000 | 0.0588 | 0.1765 | 0.4118 |
| last_10 | 0.20 | 5 | - | 34.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 4.000 | 6.000 | 17.000 | 0.0000 | 0.1463 | 0.0000 | 0.0000 | 0.0000 | 0.0294 | 0.1765 | 0.5000 |
| season | 0.60 | 52 | - | 856.000 | 244.000 | 48.000 | 9.000 | 34.000 | 150.000 | 211.000 | 178.000 | 237.000 | 0.2850 | 0.4054 | 0.4813 | 0.2851 | 0.0397 | 0.1752 | 0.2079 | 0.2769 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5600 |
| predicted_3B | 0.1030 |
| predicted_AB | 13.2650 |
| predicted_AVG | 0.2148 |
| predicted_BB | 2.6080 |
| predicted_H | 2.8490 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.3970 |
| predicted_OBP | 0.3392 |
| predicted_R | 2.6590 |
| predicted_RBI | 1.9140 |
| predicted_SLG | 0.3623 |
| predicted_SO | 4.1440 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2100 | 0.5600 | 0.3646 | model_form_blend |
| predicted_3B | 0.0390 | 0.1030 | 0.0673 | model_form_blend |
| predicted_AB | 3.9500 | 13.2650 | 8.0655 | model_form_blend |
| predicted_AVG | 0.2170 | 0.2148 | 0.2160 | model_form_blend |
| predicted_BB | 0.7770 | 2.6080 | 1.5860 | model_form_blend |
| predicted_H | 0.8600 | 2.8490 | 1.7388 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1100 | 0.3970 | 0.2368 | model_form_blend |
| predicted_OBP | 0.3240 | 0.3392 | 0.3307 | model_form_blend |
| predicted_R | 0.9210 | 2.6590 | 1.6889 | model_form_blend |
| predicted_RBI | 0.4900 | 1.9140 | 1.1191 | model_form_blend |
| predicted_SLG | 0.3530 | 0.3623 | 0.3571 | model_form_blend |
| predicted_SO | 1.0350 | 4.1440 | 2.4086 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.285 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260531_MIL@HOU |
| game_type | full |
| mlbID | 668930 |
| playerID | 668930 |
| playerName | Brice Turang |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-05-31 |
| sl_k_percent | 24.2 |
| sl_bb_percent | 17.8 |
| sl_woba | 0.375 |
| sl_xwoba | 0.375 |
| sl_xba | 0.265 |
| sl_xslg | 0.456 |
| sl_sweet_spot_percent | 38.7 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 46.7 |
| sl_exit_velocity_avg | 91.1 |
| sl_launch_angle_avg | 8.1 |
| sl_whiff_percent | 20.9 |
| sl_swing_percent | 40.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.374 | 0.000 | 1.000 | Hitting_2B | 0.374 | 0.000 | -0.374 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.740 | 4.000 | 9.000 | Hitting_AB | 4.341 | 4.000 | -0.341 | 0.000 |
| predicted_AVG | 0.220 | 0.250 | 0.222 | Hitting_AVG | 0.278 | 0.250 | -0.028 | 0.000 |
| predicted_BB | 0.286 | 0.000 | 1.000 | Hitting_BB | 0.286 | 0.000 | -0.286 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.050 | 1.000 | 2.000 | Hitting_H | 1.209 | 1.000 | -0.209 | 0.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.055 | 0.000 | -0.055 | 0.000 |
| predicted_OBP | 0.305 | 0.250 | 0.300 | Hitting_OBP | 0.323 | 0.250 | -0.073 | 0.000 |
| predicted_R | 0.484 | 1.000 | 1.000 | Hitting_R | 0.484 | 0.000 | 0.516 | 1.000 |
| predicted_RBI | 0.480 | 0.000 | 1.000 | Hitting_RBI | 0.286 | 1.000 | -0.286 | -1.000 |
| predicted_SLG | 0.386 | 0.250 | 0.333 | Hitting_SLG | 0.403 | 0.250 | -0.153 | 0.000 |
| predicted_SO | 1.407 | 2.000 | 3.000 | Hitting_SO | 1.407 | 0.000 | 0.593 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 1.4070 -> 2.0000 (boost 0.5930, worse) |
| Biggest Deboost | predicted_AB: 4.7400 -> 4.0000 (deboost -0.7400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 9 | 2 | 8 | 3 | predicted_AB: 4.7400 -> 9.1204 (boost 4.3804, better) | predicted_SLG: 0.3860 -> 0.3804 (deboost -0.0056, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 5 | 1 | 6 | 0 | predicted_H: 2.1699 -> 2.2615 (boost 0.0916, better) | predicted_SO: 2.8739 -> 2.8236 (deboost -0.0503, better) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_BB: 0.6091 -> 1.0000 (boost 0.3909, better) | predicted_H: 2.2615 -> 2.0000 (deboost -0.2615, worse) | AB rounded to 9 (raw=9.12), rates preserved: AVG=0.248 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.0803 -> 1.0000 (deboost -0.0803, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2950 -> 0.3000 (boost 0.0050, better) | predicted_SLG: 0.3923 -> 0.3330 (deboost -0.0593, 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 | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3330 -> 0.3923 (boost 0.0593, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694192",
"player_name": "Jackson Chourio",
"position": "CF",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.374,
"predicted_3B": 0.0,
"predicted_AB": 4.74,
"predicted_AVG": 0.22,
"predicted_BB": 0.286,
"predicted_H": 1.05,
"predicted_HR": 0.15,
"predicted_OBP": 0.305,
"predicted_R": 0.484,
"predicted_RBI": 0.48,
"predicted_SLG": 0.386,
"predicted_SO": 1.407
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.6414,
"predicted_3B": 0.0017,
"predicted_AB": 9.1204,
"predicted_AVG": 0.2307,
"predicted_BB": 0.5986,
"predicted_H": 2.1699,
"predicted_HBP": 0.009,
"predicted_HR": 0.2159,
"predicted_OBP": 0.2999,
"predicted_R": 1.0041,
"predicted_RBI": 0.8089,
"predicted_SLG": 0.3804,
"predicted_SO": 2.8739
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.374,
"after": 0.6414,
"delta": 0.2674,
"percent_delta": 0.715,
"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": 4.74,
"after": 9.1204,
"delta": 4.3804,
"percent_delta": 0.9241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2307,
"delta": 0.0107,
"percent_delta": 0.0486,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.286,
"after": 0.5986,
"delta": 0.3126,
"percent_delta": 1.093,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 2.1699,
"delta": 1.1199,
"percent_delta": 1.0666,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.2159,
"delta": 0.0659,
"percent_delta": 0.4393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.2999,
"delta": -0.0051,
"percent_delta": -0.0167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.484,
"after": 1.0041,
"delta": 0.5201,
"percent_delta": 1.0746,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.8089,
"delta": 0.3289,
"percent_delta": 0.6852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.386,
"after": 0.3804,
"delta": -0.0056,
"percent_delta": -0.0145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.407,
"after": 2.8739,
"delta": 1.4669,
"percent_delta": 1.0426,
"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": 4.74,
"after": 9.1204,
"delta": 4.3804,
"percent_delta": 0.9241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.386,
"after": 0.3804,
"delta": -0.0056,
"percent_delta": -0.0145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 3,
"last_10": 4,
"season": 22
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.6414,
"predicted_3B": 0.0017,
"predicted_AB": 9.1204,
"predicted_AVG": 0.248,
"predicted_BB": 0.6091,
"predicted_H": 2.2615,
"predicted_HBP": 0.009,
"predicted_HR": 0.224,
"predicted_OBP": 0.295,
"predicted_R": 1.0803,
"predicted_RBI": 0.8703,
"predicted_SLG": 0.3923,
"predicted_SO": 2.8236
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6414,
"after": 0.6414,
"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": 9.1204,
"after": 9.1204,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2307,
"after": 0.248,
"delta": 0.0173,
"percent_delta": 0.075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5986,
"after": 0.6091,
"delta": 0.0105,
"percent_delta": 0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1699,
"after": 2.2615,
"delta": 0.0916,
"percent_delta": 0.0422,
"direction": "boost",
"projection_effect": "better",
"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.2159,
"after": 0.224,
"delta": 0.0081,
"percent_delta": 0.0375,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2999,
"after": 0.295,
"delta": -0.0049,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0041,
"after": 1.0803,
"delta": 0.0762,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8089,
"after": 0.8703,
"delta": 0.0614,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3804,
"after": 0.3923,
"delta": 0.0119,
"percent_delta": 0.0313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.8739,
"after": 2.8236,
"delta": -0.0503,
"percent_delta": -0.0175,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 6,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 2.1699,
"after": 2.2615,
"delta": 0.0916,
"percent_delta": 0.0422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.8739,
"after": 2.8236,
"delta": -0.0503,
"percent_delta": -0.0175,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=9.12), rates preserved: AVG=0.248 HR/AB=0.025",
"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.6414,
"after": 1.0,
"delta": 0.3586,
"percent_delta": 0.5591,
"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": 9.1204,
"after": 9.0,
"delta": -0.1204,
"percent_delta": -0.0132,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6091,
"after": 1.0,
"delta": 0.3909,
"percent_delta": 0.6418,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.2615,
"after": 2.0,
"delta": -0.2615,
"percent_delta": -0.1156,
"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.224,
"after": 0.0,
"delta": -0.224,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8703,
"after": 1.0,
"delta": 0.1297,
"percent_delta": 0.149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.8236,
"after": 3.0,
"delta": 0.1764,
"percent_delta": 0.0625,
"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.6091,
"after": 1.0,
"delta": 0.3909,
"percent_delta": 0.6418,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.2615,
"after": 2.0,
"delta": -0.2615,
"percent_delta": -0.1156,
"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.0803,
"after": 1.0,
"delta": -0.0803,
"percent_delta": -0.0743,
"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.0803,
"after": 1.0,
"delta": -0.0803,
"percent_delta": -0.0743,
"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.248,
"after": 0.222,
"delta": -0.026,
"percent_delta": -0.1048,
"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.295,
"after": 0.3,
"delta": 0.005,
"percent_delta": 0.0169,
"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.3923,
"after": 0.333,
"delta": -0.0593,
"percent_delta": -0.1512,
"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.295,
"after": 0.3,
"delta": 0.005,
"percent_delta": 0.0169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3923,
"after": 0.333,
"delta": -0.0593,
"percent_delta": -0.1512,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 9.0,
"after": 4.0,
"delta": -5.0,
"percent_delta": -0.5556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.248,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.295,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3923,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.248,
"delta": 0.026,
"percent_delta": 0.1169,
"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.295,
"delta": -0.005,
"percent_delta": -0.0165,
"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.333,
"after": 0.3923,
"delta": 0.0593,
"percent_delta": 0.1782,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3923,
"delta": 0.0593,
"percent_delta": 0.1782,
"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.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": 4.74,
"after": 4.0,
"delta": -0.74,
"percent_delta": -0.1561,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.248,
"delta": 0.028,
"percent_delta": 0.1273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.286,
"after": 0.0,
"delta": -0.286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.295,
"delta": -0.01,
"percent_delta": -0.0328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.484,
"after": 1.0,
"delta": 0.516,
"percent_delta": 1.0661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.386,
"after": 0.3923,
"delta": 0.0063,
"percent_delta": 0.0163,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.407,
"after": 2.0,
"delta": 0.593,
"percent_delta": 0.4215,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.407,
"after": 2.0,
"delta": 0.593,
"percent_delta": 0.4215,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.74,
"after": 4.0,
"delta": -0.74,
"percent_delta": -0.1561,
"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.374 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.740 | - |
| predicted_AVG | 0.220 | - |
| predicted_BB | 0.286 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.305 | - |
| predicted_R | 0.484 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.386 | - |
| predicted_SO | 1.407 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.641 | 0.267 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 9.120 | 4.380 |
| predicted_AVG | 0.231 | 0.011 |
| predicted_BB | 0.599 | 0.313 |
| predicted_H | 2.170 | 1.120 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.216 | 0.066 |
| predicted_OBP | 0.300 | -0.005 |
| predicted_R | 1.004 | 0.520 |
| predicted_RBI | 0.809 | 0.329 |
| predicted_SLG | 0.380 | -0.006 |
| predicted_SO | 2.874 | 1.467 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.641 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 9.120 | 0.000 |
| predicted_AVG | 0.248 | 0.017 |
| predicted_BB | 0.609 | 0.010 |
| predicted_H | 2.261 | 0.092 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.224 | 0.008 |
| predicted_OBP | 0.295 | -0.005 |
| predicted_R | 1.080 | 0.076 |
| predicted_RBI | 0.870 | 0.061 |
| predicted_SLG | 0.392 | 0.012 |
| predicted_SO | 2.824 | -0.050 |
AB rounded to 9 (raw=9.12), rates preserved: AVG=0.248 HR/AB=0.025
| 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.359 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 9.000 | -0.120 |
| predicted_AVG | 0.222 | -0.026 |
| predicted_BB | 1.000 | 0.391 |
| predicted_H | 2.000 | -0.261 |
| predicted_HR | 0.000 | -0.224 |
| predicted_OBP | 0.300 | 0.005 |
| predicted_R | 1.000 | -0.080 |
| predicted_RBI | 1.000 | 0.130 |
| predicted_SLG | 0.333 | -0.059 |
| predicted_SO | 3.000 | 0.176 |
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 | 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 | 3 | - | 20.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 1.000 | 7.000 | 0.1000 | 0.1429 | 0.2500 | 0.1000 | 0.0500 | 0.1500 | 0.0500 | 0.3500 |
| last_10 | 0.20 | 4 | - | 36.000 | 6.000 | 0.000 | 0.000 | 1.000 | 3.000 | 6.000 | 5.000 | 13.000 | 0.1667 | 0.2683 | 0.2500 | 0.1667 | 0.0278 | 0.0833 | 0.1389 | 0.3611 |
| season | 0.60 | 22 | - | 395.000 | 110.000 | 34.000 | 0.000 | 5.000 | 26.000 | 44.000 | 26.000 | 128.000 | 0.2785 | 0.3230 | 0.4025 | 0.2785 | 0.0127 | 0.0658 | 0.0658 | 0.3241 |
| Metric | Value |
|---|---|
| predicted_2B | 0.9950 |
| predicted_3B | 0.0040 |
| predicted_AB | 14.9140 |
| predicted_AVG | 0.2448 |
| predicted_BB | 1.0120 |
| predicted_H | 3.6510 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.3030 |
| predicted_OBP | 0.2931 |
| predicted_R | 1.6920 |
| predicted_RBI | 1.2440 |
| predicted_SLG | 0.3729 |
| predicted_SO | 4.8140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3740 | 0.9950 | 0.6414 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0017 | model_form_blend |
| predicted_AB | 4.7400 | 14.9140 | 9.1204 | model_form_blend |
| predicted_AVG | 0.2200 | 0.2448 | 0.2307 | model_form_blend |
| predicted_BB | 0.2860 | 1.0120 | 0.5986 | model_form_blend |
| predicted_H | 1.0500 | 3.6510 | 2.1699 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.1500 | 0.3030 | 0.2159 | model_form_blend |
| predicted_OBP | 0.3050 | 0.2931 | 0.2999 | model_form_blend |
| predicted_R | 0.4840 | 1.6920 | 1.0041 | model_form_blend |
| predicted_RBI | 0.4800 | 1.2440 | 0.8089 | model_form_blend |
| predicted_SLG | 0.3860 | 0.3729 | 0.3804 | model_form_blend |
| predicted_SO | 1.4070 | 4.8140 | 2.8739 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.278 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260530_MIL@HOU |
| game_type | full |
| mlbID | 694192 |
| playerID | 694192 |
| playerName | Jackson Chourio |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-05-30 |
| sl_k_percent | 28.7 |
| sl_bb_percent | 6.9 |
| sl_woba | 0.32 |
| sl_xwoba | 0.315 |
| sl_xba | 0.217 |
| sl_xslg | 0.467 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 18.5 |
| sl_hard_hit_percent | 47.7 |
| sl_exit_velocity_avg | 93.0 |
| sl_launch_angle_avg | 15.2 |
| sl_whiff_percent | 25.9 |
| sl_swing_percent | 45.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.196 | 0.000 | 0.000 | Hitting_2B | 0.196 | 1.000 | -0.196 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.270 | 4.000 | 9.000 | Hitting_AB | 4.046 | 4.000 | -0.046 | 0.000 |
| predicted_AVG | 0.247 | 0.250 | 0.222 | Hitting_AVG | 0.299 | 0.250 | -0.049 | 0.000 |
| predicted_BB | 0.447 | 0.000 | 1.000 | Hitting_BB | 0.447 | 0.000 | -0.447 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 1.060 | 1.000 | 2.000 | Hitting_H | 1.210 | 1.000 | -0.210 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.078 | 0.000 | -0.078 | 0.000 |
| predicted_OBP | 0.328 | 0.250 | 0.300 | Hitting_OBP | 0.370 | 0.250 | -0.120 | 0.000 |
| predicted_R | 0.621 | 0.000 | 1.000 | Hitting_R | 0.621 | 0.000 | -0.621 | 0.000 |
| predicted_RBI | 0.640 | 0.000 | 2.000 | Hitting_RBI | 0.703 | 1.000 | -0.703 | -1.000 |
| predicted_SLG | 0.397 | 0.250 | 0.222 | Hitting_SLG | 0.405 | 0.500 | -0.155 | -0.250 |
| predicted_SO | 0.539 | 2.000 | 1.000 | Hitting_SO | 0.539 | 0.000 | 1.461 | 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.5390 -> 2.0000 (boost 1.4610, worse) |
| Biggest Deboost | predicted_RBI: 0.6400 -> 0.0000 (deboost -0.6400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 8 | 2 | 7 | 3 | predicted_AB: 4.2700 -> 8.6137 (boost 4.3437, better) | predicted_SLG: 0.3970 -> 0.3818 (deboost -0.0152, 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 | 5 | 1 | 5 | 1 | predicted_RBI: 1.3834 -> 1.4884 (boost 0.1050, better) | predicted_SLG: 0.3818 -> 0.3758 (deboost -0.0060, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 4 | 4 | predicted_RBI: 1.4884 -> 2.0000 (boost 0.5116, better) | predicted_2B: 0.4706 -> 0.0000 (deboost -0.4706, worse) | AB rounded to 9 (raw=8.61), rates preserved: AVG=0.267 HR/AB=0.018 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2347 -> 1.0000 (deboost -0.2347, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3758 -> 0.2220 (deboost -0.1538, 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 -> 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.3758 (boost 0.1538, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "661388",
"player_name": "William Contreras",
"position": "C",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.196,
"predicted_3B": 0.0,
"predicted_AB": 4.27,
"predicted_AVG": 0.247,
"predicted_BB": 0.447,
"predicted_H": 1.06,
"predicted_HR": 0.1,
"predicted_OBP": 0.328,
"predicted_R": 0.621,
"predicted_RBI": 0.64,
"predicted_SLG": 0.397,
"predicted_SO": 0.539
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4706,
"predicted_3B": 0.0009,
"predicted_AB": 8.6137,
"predicted_AVG": 0.2525,
"predicted_BB": 0.7816,
"predicted_H": 2.2077,
"predicted_HBP": 0.062,
"predicted_HR": 0.149,
"predicted_OBP": 0.3222,
"predicted_R": 1.1476,
"predicted_RBI": 1.3834,
"predicted_SLG": 0.3818,
"predicted_SO": 1.2925
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.196,
"after": 0.4706,
"delta": 0.2746,
"percent_delta": 1.401,
"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.27,
"after": 8.6137,
"delta": 4.3437,
"percent_delta": 1.0173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2525,
"delta": 0.0055,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.447,
"after": 0.7816,
"delta": 0.3346,
"percent_delta": 0.7485,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 2.2077,
"delta": 1.1477,
"percent_delta": 1.0827,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.149,
"delta": 0.049,
"percent_delta": 0.49,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3222,
"delta": -0.0058,
"percent_delta": -0.0177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.621,
"after": 1.1476,
"delta": 0.5266,
"percent_delta": 0.848,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 1.3834,
"delta": 0.7434,
"percent_delta": 1.1616,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.397,
"after": 0.3818,
"delta": -0.0152,
"percent_delta": -0.0383,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.539,
"after": 1.2925,
"delta": 0.7535,
"percent_delta": 1.398,
"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.27,
"after": 8.6137,
"delta": 4.3437,
"percent_delta": 1.0173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.397,
"after": 0.3818,
"delta": -0.0152,
"percent_delta": -0.0383,
"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": 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.4706,
"predicted_3B": 0.0009,
"predicted_AB": 8.6137,
"predicted_AVG": 0.2671,
"predicted_BB": 0.7953,
"predicted_H": 2.3009,
"predicted_HBP": 0.062,
"predicted_HR": 0.1546,
"predicted_OBP": 0.3291,
"predicted_R": 1.2347,
"predicted_RBI": 1.4884,
"predicted_SLG": 0.3758,
"predicted_SO": 1.2699
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4706,
"after": 0.4706,
"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.6137,
"after": 8.6137,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2525,
"after": 0.2671,
"delta": 0.0146,
"percent_delta": 0.0578,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7816,
"after": 0.7953,
"delta": 0.0137,
"percent_delta": 0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.2077,
"after": 2.3009,
"delta": 0.0932,
"percent_delta": 0.0422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.062,
"after": 0.062,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.149,
"after": 0.1546,
"delta": 0.0056,
"percent_delta": 0.0376,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3222,
"after": 0.3291,
"delta": 0.0069,
"percent_delta": 0.0214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1476,
"after": 1.2347,
"delta": 0.0871,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3834,
"after": 1.4884,
"delta": 0.105,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3818,
"after": 0.3758,
"delta": -0.006,
"percent_delta": -0.0157,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2925,
"after": 1.2699,
"delta": -0.0226,
"percent_delta": -0.0175,
"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.3834,
"after": 1.4884,
"delta": 0.105,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3818,
"after": 0.3758,
"delta": -0.006,
"percent_delta": -0.0157,
"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.267 HR/AB=0.018",
"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": 2.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4706,
"after": 0.0,
"delta": -0.4706,
"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.6137,
"after": 9.0,
"delta": 0.3863,
"percent_delta": 0.0448,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7953,
"after": 1.0,
"delta": 0.2047,
"percent_delta": 0.2574,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.3009,
"after": 2.0,
"delta": -0.3009,
"percent_delta": -0.1308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.062,
"after": 0.0,
"delta": -0.062,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1546,
"after": 0.0,
"delta": -0.1546,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4884,
"after": 2.0,
"delta": 0.5116,
"percent_delta": 0.3437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2699,
"after": 1.0,
"delta": -0.2699,
"percent_delta": -0.2125,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.4884,
"after": 2.0,
"delta": 0.5116,
"percent_delta": 0.3437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4706,
"after": 0.0,
"delta": -0.4706,
"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": 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": 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.2347,
"after": 1.0,
"delta": -0.2347,
"percent_delta": -0.1901,
"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.2347,
"after": 1.0,
"delta": -0.2347,
"percent_delta": -0.1901,
"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": 2.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.2671,
"after": 0.222,
"delta": -0.0451,
"percent_delta": -0.1689,
"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.3291,
"after": 0.3,
"delta": -0.0291,
"percent_delta": -0.0884,
"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.3758,
"after": 0.222,
"delta": -0.1538,
"percent_delta": -0.4093,
"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.3758,
"after": 0.222,
"delta": -0.1538,
"percent_delta": -0.4093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.0,
"after": 4.0,
"delta": -5.0,
"percent_delta": -0.5556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 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": 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": 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.2671,
"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.3291,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3758,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2671,
"delta": 0.0451,
"percent_delta": 0.2032,
"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.3291,
"delta": 0.0291,
"percent_delta": 0.0969,
"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.3758,
"delta": 0.1538,
"percent_delta": 0.6928,
"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.3758,
"delta": 0.1538,
"percent_delta": 0.6928,
"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.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": 4.27,
"after": 4.0,
"delta": -0.27,
"percent_delta": -0.0632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2671,
"delta": 0.0201,
"percent_delta": 0.0814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.447,
"after": 0.0,
"delta": -0.447,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.0,
"delta": -0.06,
"percent_delta": -0.0566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3291,
"delta": 0.0011,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.621,
"after": 0.0,
"delta": -0.621,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.397,
"after": 0.3758,
"delta": -0.0212,
"percent_delta": -0.0534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.539,
"after": 2.0,
"delta": 1.461,
"percent_delta": 2.7106,
"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.539,
"after": 2.0,
"delta": 1.461,
"percent_delta": 2.7106,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.196 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.270 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.447 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.328 | - |
| predicted_R | 0.621 | - |
| predicted_RBI | 0.640 | - |
| predicted_SLG | 0.397 | - |
| predicted_SO | 0.539 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.471 | 0.275 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 8.614 | 4.344 |
| predicted_AVG | 0.253 | 0.006 |
| predicted_BB | 0.782 | 0.335 |
| predicted_H | 2.208 | 1.148 |
| predicted_HBP | 0.062 | - |
| predicted_HR | 0.149 | 0.049 |
| predicted_OBP | 0.322 | -0.006 |
| predicted_R | 1.148 | 0.527 |
| predicted_RBI | 1.383 | 0.743 |
| predicted_SLG | 0.382 | -0.015 |
| predicted_SO | 1.292 | 0.753 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.471 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 8.614 | 0.000 |
| predicted_AVG | 0.267 | 0.015 |
| predicted_BB | 0.795 | 0.014 |
| predicted_H | 2.301 | 0.093 |
| predicted_HBP | 0.062 | 0.000 |
| predicted_HR | 0.155 | 0.006 |
| predicted_OBP | 0.329 | 0.007 |
| predicted_R | 1.235 | 0.087 |
| predicted_RBI | 1.488 | 0.105 |
| predicted_SLG | 0.376 | -0.006 |
| predicted_SO | 1.270 | -0.023 |
AB rounded to 9 (raw=8.61), rates preserved: AVG=0.267 HR/AB=0.018
| 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 | 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 | 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 | 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.471 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 9.000 | 0.386 |
| predicted_AVG | 0.222 | -0.045 |
| predicted_BB | 1.000 | 0.205 |
| predicted_H | 2.000 | -0.301 |
| predicted_HR | 0.000 | -0.155 |
| predicted_OBP | 0.300 | -0.029 |
| predicted_R | 1.000 | -0.235 |
| predicted_RBI | 2.000 | 0.512 |
| predicted_SLG | 0.222 | -0.154 |
| predicted_SO | 1.000 | -0.270 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -5.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -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 | 3 | - | 18.000 | 1.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 3.000 | 0.0556 | 0.0556 | 0.1111 | 0.0556 | 0.0000 | 0.0556 | 0.0000 | 0.1667 |
| last_10 | 0.20 | 5 | - | 37.000 | 10.000 | 5.000 | 0.000 | 0.000 | 10.000 | 5.000 | 1.000 | 12.000 | 0.2703 | 0.2895 | 0.4054 | 0.2703 | 0.0000 | 0.2703 | 0.0270 | 0.3243 |
| season | 0.60 | 52 | - | 886.000 | 265.000 | 43.000 | 0.000 | 17.000 | 154.000 | 136.000 | 98.000 | 118.000 | 0.2991 | 0.3702 | 0.4052 | 0.2991 | 0.0192 | 0.1738 | 0.1106 | 0.1332 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8180 |
| predicted_3B | 0.0020 |
| predicted_AB | 14.1100 |
| predicted_AVG | 0.2594 |
| predicted_BB | 1.2050 |
| predicted_H | 3.6600 |
| predicted_HBP | 0.0620 |
| predicted_HR | 0.2110 |
| predicted_OBP | 0.3149 |
| predicted_R | 1.8140 |
| predicted_RBI | 2.3240 |
| predicted_SLG | 0.3625 |
| predicted_SO | 2.2460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1960 | 0.8180 | 0.4706 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 4.2700 | 14.1100 | 8.6137 | model_form_blend |
| predicted_AVG | 0.2470 | 0.2594 | 0.2525 | model_form_blend |
| predicted_BB | 0.4470 | 1.2050 | 0.7816 | model_form_blend |
| predicted_H | 1.0600 | 3.6600 | 2.2077 | model_form_blend |
| predicted_HBP | - | 0.0620 | 0.0620 | form_only |
| predicted_HR | 0.1000 | 0.2110 | 0.1490 | model_form_blend |
| predicted_OBP | 0.3280 | 0.3149 | 0.3222 | model_form_blend |
| predicted_R | 0.6210 | 1.8140 | 1.1476 | model_form_blend |
| predicted_RBI | 0.6400 | 2.3240 | 1.3834 | model_form_blend |
| predicted_SLG | 0.3970 | 0.3625 | 0.3818 | model_form_blend |
| predicted_SO | 0.5390 | 2.2460 | 1.2925 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 219 |
| Season rows before report date | 219 |
| Report year | 2026 |
| Profile rows used | 219 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| 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 | 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 | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260530_MIL@HOU |
| game_type | full |
| mlbID | 661388 |
| playerID | 661388 |
| playerName | William Contreras |
| pos | C |
| started | True |
| startingPosition | C |
| team | MIL |
| teamID | 16 |
| game_date | 2026-05-30 |
| sl_k_percent | 13.0 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.339 |
| sl_xwoba | 0.342 |
| sl_xba | 0.284 |
| sl_xslg | 0.436 |
| sl_sweet_spot_percent | 30.3 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 44.4 |
| sl_exit_velocity_avg | 90.7 |
| sl_launch_angle_avg | 11.5 |
| sl_whiff_percent | 19.7 |
| sl_swing_percent | 46.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.209 | 0.000 | 0.000 | Hitting_2B | 0.209 | 0.000 | -0.209 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.775 | 3.000 | 7.000 | Hitting_AB | 3.775 | 4.000 | -0.775 | -1.000 |
| predicted_AVG | 0.246 | 0.333 | 0.286 | Hitting_AVG | 0.287 | 0.250 | 0.047 | 0.083 |
| predicted_BB | 0.379 | 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.910 | 1.000 | 2.000 | Hitting_H | 1.082 | 1.000 | -0.082 | 0.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.192 | 1.000 | -0.192 | -1.000 |
| predicted_OBP | 0.325 | 0.500 | 0.375 | Hitting_OBP | 0.357 | 0.250 | 0.143 | 0.250 |
| predicted_R | 0.692 | 1.000 | 1.000 | Hitting_R | 0.692 | 1.000 | 0.308 | 0.000 |
| predicted_RBI | 0.620 | 1.000 | 1.000 | Hitting_RBI | 0.714 | 2.000 | 0.286 | -1.000 |
| predicted_SLG | 0.453 | 0.333 | 0.286 | Hitting_SLG | 0.495 | 1.000 | -0.162 | -0.667 |
| predicted_SO | 0.918 | 0.000 | 2.000 | Hitting_SO | 0.918 | 1.000 | -0.918 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_BB: 0.3790 -> 1.0000 (boost 0.6210, better) |
| Biggest Deboost | predicted_SO: 0.9180 -> 0.0000 (deboost -0.9180, 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.7750 -> 7.1713 (boost 3.3963, 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.3091 -> 1.4085 (boost 0.0994, better) | predicted_OBP: 0.3321 -> 0.3264 (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 | 7 | 2 | 5 | 2 | 5 | predicted_BB: 0.6777 -> 1.0000 (boost 0.3223, better) | predicted_HBP: 0.4220 -> 0.0000 (deboost -0.4220, worse) | AB rounded to 7 (raw=7.17), rates preserved: AVG=0.263 HR/AB=0.057 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2729 -> 1.0000 (deboost -0.2729, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3264 -> 0.3750 (boost 0.0486, better) | predicted_SLG: 0.4802 -> 0.2860 (deboost -0.1942, 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: 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.4802 (boost 0.1942, better) | predicted_OBP: 0.3750 -> 0.3264 (deboost -0.0486, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641343",
"player_name": "Jake Bauers",
"position": "LF",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.209,
"predicted_3B": 0.0,
"predicted_AB": 3.775,
"predicted_AVG": 0.246,
"predicted_BB": 0.379,
"predicted_H": 0.91,
"predicted_HR": 0.18,
"predicted_OBP": 0.325,
"predicted_R": 0.692,
"predicted_RBI": 0.62,
"predicted_SLG": 0.453,
"predicted_SO": 0.918
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3284,
"predicted_3B": 0.0009,
"predicted_AB": 7.1713,
"predicted_AVG": 0.2507,
"predicted_BB": 0.666,
"predicted_H": 1.8076,
"predicted_HBP": 0.422,
"predicted_HR": 0.3951,
"predicted_OBP": 0.3321,
"predicted_R": 1.1831,
"predicted_RBI": 1.3091,
"predicted_SLG": 0.4618,
"predicted_SO": 1.9933
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.209,
"after": 0.3284,
"delta": 0.1194,
"percent_delta": 0.5713,
"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.775,
"after": 7.1713,
"delta": 3.3963,
"percent_delta": 0.8997,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2507,
"delta": 0.0047,
"percent_delta": 0.0191,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.379,
"after": 0.666,
"delta": 0.287,
"percent_delta": 0.7573,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 1.8076,
"delta": 0.8976,
"percent_delta": 0.9864,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.3951,
"delta": 0.2151,
"percent_delta": 1.195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.3321,
"delta": 0.0071,
"percent_delta": 0.0218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.692,
"after": 1.1831,
"delta": 0.4911,
"percent_delta": 0.7097,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 1.3091,
"delta": 0.6891,
"percent_delta": 1.1115,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.453,
"after": 0.4618,
"delta": 0.0088,
"percent_delta": 0.0194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.918,
"after": 1.9933,
"delta": 1.0753,
"percent_delta": 1.1714,
"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.775,
"after": 7.1713,
"delta": 3.3963,
"percent_delta": 0.8997,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.3284,
"predicted_3B": 0.0009,
"predicted_AB": 7.1713,
"predicted_AVG": 0.2627,
"predicted_BB": 0.6777,
"predicted_H": 1.8839,
"predicted_HBP": 0.422,
"predicted_HR": 0.4099,
"predicted_OBP": 0.3264,
"predicted_R": 1.2729,
"predicted_RBI": 1.4085,
"predicted_SLG": 0.4802,
"predicted_SO": 1.9584
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3284,
"after": 0.3284,
"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.1713,
"after": 7.1713,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2507,
"after": 0.2627,
"delta": 0.012,
"percent_delta": 0.0479,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.666,
"after": 0.6777,
"delta": 0.0117,
"percent_delta": 0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8076,
"after": 1.8839,
"delta": 0.0763,
"percent_delta": 0.0422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.422,
"after": 0.422,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3951,
"after": 0.4099,
"delta": 0.0148,
"percent_delta": 0.0375,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3321,
"after": 0.3264,
"delta": -0.0057,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1831,
"after": 1.2729,
"delta": 0.0898,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3091,
"after": 1.4085,
"delta": 0.0994,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4618,
"after": 0.4802,
"delta": 0.0184,
"percent_delta": 0.0398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9933,
"after": 1.9584,
"delta": -0.0349,
"percent_delta": -0.0175,
"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.3091,
"after": 1.4085,
"delta": 0.0994,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3321,
"after": 0.3264,
"delta": -0.0057,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.17), rates preserved: AVG=0.263 HR/AB=0.057",
"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.3284,
"after": 0.0,
"delta": -0.3284,
"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.1713,
"after": 7.0,
"delta": -0.1713,
"percent_delta": -0.0239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6777,
"after": 1.0,
"delta": 0.3223,
"percent_delta": 0.4756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.8839,
"after": 2.0,
"delta": 0.1161,
"percent_delta": 0.0616,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.422,
"after": 0.0,
"delta": -0.422,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.4099,
"after": 0.0,
"delta": -0.4099,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4085,
"after": 1.0,
"delta": -0.4085,
"percent_delta": -0.29,
"direction": "deboost",
"projection_effect": "worse",
"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": 2,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.6777,
"after": 1.0,
"delta": 0.3223,
"percent_delta": 0.4756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.422,
"after": 0.0,
"delta": -0.422,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.2729,
"after": 1.0,
"delta": -0.2729,
"percent_delta": -0.2144,
"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.2729,
"after": 1.0,
"delta": -0.2729,
"percent_delta": -0.2144,
"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.2627,
"after": 0.286,
"delta": 0.0233,
"percent_delta": 0.0887,
"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.3264,
"after": 0.375,
"delta": 0.0486,
"percent_delta": 0.1489,
"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.4802,
"after": 0.286,
"delta": -0.1942,
"percent_delta": -0.4044,
"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.3264,
"after": 0.375,
"delta": 0.0486,
"percent_delta": 0.1489,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4802,
"after": 0.286,
"delta": -0.1942,
"percent_delta": -0.4044,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"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": 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.2627,
"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.3264,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4802,
"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.2627,
"delta": -0.0233,
"percent_delta": -0.0815,
"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.3264,
"delta": -0.0486,
"percent_delta": -0.1297,
"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.4802,
"delta": 0.1942,
"percent_delta": 0.6791,
"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.4802,
"delta": 0.1942,
"percent_delta": 0.6791,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3264,
"delta": -0.0486,
"percent_delta": -0.1297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.209,
"after": 0.0,
"delta": -0.209,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.775,
"after": 3.0,
"delta": -0.775,
"percent_delta": -0.2053,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2627,
"delta": 0.0167,
"percent_delta": 0.0679,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.379,
"after": 1.0,
"delta": 0.621,
"percent_delta": 1.6385,
"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.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.3264,
"delta": 0.0014,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.692,
"after": 1.0,
"delta": 0.308,
"percent_delta": 0.4451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 1.0,
"delta": 0.38,
"percent_delta": 0.6129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.453,
"after": 0.4802,
"delta": 0.0272,
"percent_delta": 0.06,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.918,
"after": 0.0,
"delta": -0.918,
"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_BB",
"before": 0.379,
"after": 1.0,
"delta": 0.621,
"percent_delta": 1.6385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.918,
"after": 0.0,
"delta": -0.918,
"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.209 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.775 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.379 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.325 | - |
| predicted_R | 0.692 | - |
| predicted_RBI | 0.620 | - |
| predicted_SLG | 0.453 | - |
| predicted_SO | 0.918 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.328 | 0.119 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 7.171 | 3.396 |
| predicted_AVG | 0.251 | 0.005 |
| predicted_BB | 0.666 | 0.287 |
| predicted_H | 1.808 | 0.898 |
| predicted_HBP | 0.422 | - |
| predicted_HR | 0.395 | 0.215 |
| predicted_OBP | 0.332 | 0.007 |
| predicted_R | 1.183 | 0.491 |
| predicted_RBI | 1.309 | 0.689 |
| predicted_SLG | 0.462 | 0.009 |
| predicted_SO | 1.993 | 1.075 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.328 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 7.171 | 0.000 |
| predicted_AVG | 0.263 | 0.012 |
| predicted_BB | 0.678 | 0.012 |
| predicted_H | 1.884 | 0.076 |
| predicted_HBP | 0.422 | 0.000 |
| predicted_HR | 0.410 | 0.015 |
| predicted_OBP | 0.326 | -0.006 |
| predicted_R | 1.273 | 0.090 |
| predicted_RBI | 1.409 | 0.099 |
| predicted_SLG | 0.480 | 0.018 |
| predicted_SO | 1.958 | -0.035 |
AB rounded to 7 (raw=7.17), rates preserved: AVG=0.263 HR/AB=0.057
| 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.328 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | -0.171 |
| predicted_AVG | 0.286 | 0.023 |
| predicted_BB | 1.000 | 0.322 |
| predicted_H | 2.000 | 0.116 |
| predicted_HR | 0.000 | -0.410 |
| predicted_OBP | 0.375 | 0.049 |
| predicted_R | 1.000 | -0.273 |
| predicted_RBI | 1.000 | -0.409 |
| predicted_SLG | 0.286 | -0.194 |
| 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 | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 15.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 1.000 | 7.000 | 0.1333 | 0.2778 | 0.3333 | 0.1333 | 0.0667 | 0.2000 | 0.0667 | 0.4667 |
| last_10 | 0.20 | 5 | - | 33.000 | 10.000 | 0.000 | 0.000 | 5.000 | 7.000 | 5.000 | 1.000 | 13.000 | 0.3030 | 0.3784 | 0.7576 | 0.3030 | 0.1515 | 0.2121 | 0.0303 | 0.3939 |
| season | 0.60 | 48 | - | 687.000 | 197.000 | 38.000 | 0.000 | 35.000 | 130.000 | 126.000 | 69.000 | 167.000 | 0.2868 | 0.3570 | 0.4949 | 0.2868 | 0.0510 | 0.1892 | 0.1004 | 0.2431 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4810 |
| predicted_3B | 0.0020 |
| predicted_AB | 11.5130 |
| predicted_AVG | 0.2567 |
| predicted_BB | 1.0330 |
| predicted_H | 2.9550 |
| predicted_HBP | 0.4220 |
| predicted_HR | 0.6700 |
| predicted_OBP | 0.3411 |
| predicted_R | 1.8110 |
| predicted_RBI | 2.1900 |
| predicted_SLG | 0.4731 |
| predicted_SO | 3.3680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2090 | 0.4810 | 0.3284 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.7750 | 11.5130 | 7.1713 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2567 | 0.2507 | model_form_blend |
| predicted_BB | 0.3790 | 1.0330 | 0.6660 | model_form_blend |
| predicted_H | 0.9100 | 2.9550 | 1.8076 | model_form_blend |
| predicted_HBP | - | 0.4220 | 0.4220 | form_only |
| predicted_HR | 0.1800 | 0.6700 | 0.3951 | model_form_blend |
| predicted_OBP | 0.3250 | 0.3411 | 0.3321 | model_form_blend |
| predicted_R | 0.6920 | 1.8110 | 1.1831 | model_form_blend |
| predicted_RBI | 0.6200 | 2.1900 | 1.3091 | model_form_blend |
| predicted_SLG | 0.4530 | 0.4731 | 0.4618 | model_form_blend |
| predicted_SO | 0.9180 | 3.3680 | 1.9933 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 182 |
| Season rows before report date | 182 |
| Report year | 2026 |
| Profile rows used | 182 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.287 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF-1B |
| gameID | 20260531_MIL@HOU |
| game_type | full |
| mlbID | 641343 |
| playerID | 641343 |
| playerName | Jake Bauers |
| pos | 1B |
| started | True |
| startingPosition | LF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-05-31 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.362 |
| sl_xwoba | 0.347 |
| sl_xba | 0.263 |
| sl_xslg | 0.474 |
| sl_sweet_spot_percent | 28.9 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 52.3 |
| sl_exit_velocity_avg | 91.7 |
| sl_launch_angle_avg | 8.3 |
| sl_whiff_percent | 25.2 |
| sl_swing_percent | 42.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.413 | 0.000 | 1.000 | Hitting_2B | 0.406 | 1.000 | -0.406 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.476 | 4.000 | 6.000 | Hitting_AB | 3.422 | 4.000 | 0.578 | 0.000 |
| predicted_AVG | 0.292 | 0.500 | 0.333 | Hitting_AVG | 0.338 | 0.500 | 0.162 | 0.000 |
| predicted_BB | 0.317 | 0.000 | 0.000 | Hitting_BB | 0.328 | 0.000 | -0.328 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.900 | 2.000 | 2.000 | Hitting_H | 1.156 | 2.000 | 0.844 | 0.000 |
| predicted_HR | 0.070 | 1.000 | 0.000 | Hitting_HR | 0.062 | 0.000 | 0.938 | 1.000 |
| predicted_OBP | 0.368 | 0.500 | 0.333 | Hitting_OBP | 0.418 | 0.500 | 0.082 | 0.000 |
| predicted_R | 0.603 | 1.000 | 1.000 | Hitting_R | 0.594 | 1.000 | 0.406 | 0.000 |
| predicted_RBI | 0.380 | 3.000 | 1.000 | Hitting_RBI | 0.516 | 0.000 | 2.484 | 3.000 |
| predicted_SLG | 0.469 | 1.250 | 0.500 | Hitting_SLG | 0.511 | 0.750 | 0.739 | 0.500 |
| predicted_SO | 0.429 | 0.000 | 1.000 | Hitting_SO | 0.422 | 1.000 | -0.422 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 3 |
| Better Metrics | 9 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_RBI: 0.3800 -> 3.0000 (boost 2.6200, better) |
| Biggest Deboost | predicted_SO: 0.4290 -> 0.0000 (deboost -0.4290, 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.4760 -> 5.6192 (boost 2.1432, 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: 1.8582 -> 1.9366 (boost 0.0784, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 5 | 3 | 4 | 4 | predicted_AB: 5.6192 -> 6.0000 (boost 0.3808, better) | predicted_BB: 0.4311 -> 0.0000 (deboost -0.4311, worse) | AB rounded to 6 (raw=5.62), rates preserved: AVG=0.345 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 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3913 -> 0.3330 (deboost -0.0583, 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_RBI: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.3330 -> 0.3913 (boost 0.0583, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683734",
"player_name": "Andrew Vaughn",
"position": "1B",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.413,
"predicted_3B": 0.0,
"predicted_AB": 3.476,
"predicted_AVG": 0.292,
"predicted_BB": 0.317,
"predicted_H": 0.9,
"predicted_HR": 0.07,
"predicted_OBP": 0.368,
"predicted_R": 0.603,
"predicted_RBI": 0.38,
"predicted_SLG": 0.469,
"predicted_SO": 0.429
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.7356,
"predicted_3B": 0.0017,
"predicted_AB": 5.6192,
"predicted_AVG": 0.3251,
"predicted_BB": 0.4237,
"predicted_H": 1.8582,
"predicted_HBP": 0.234,
"predicted_HR": 0.0955,
"predicted_OBP": 0.3928,
"predicted_R": 0.9294,
"predicted_RBI": 0.6901,
"predicted_SLG": 0.5051,
"predicted_SO": 0.8173
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.413,
"after": 0.7356,
"delta": 0.3226,
"percent_delta": 0.7811,
"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.476,
"after": 5.6192,
"delta": 2.1432,
"percent_delta": 0.6166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.292,
"after": 0.3251,
"delta": 0.0331,
"percent_delta": 0.1134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.317,
"after": 0.4237,
"delta": 0.1067,
"percent_delta": 0.3366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 1.8582,
"delta": 0.9582,
"percent_delta": 1.0647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0955,
"delta": 0.0255,
"percent_delta": 0.3643,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.368,
"after": 0.3928,
"delta": 0.0248,
"percent_delta": 0.0674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.603,
"after": 0.9294,
"delta": 0.3264,
"percent_delta": 0.5413,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.6901,
"delta": 0.3101,
"percent_delta": 0.8161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.469,
"after": 0.5051,
"delta": 0.0361,
"percent_delta": 0.077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.429,
"after": 0.8173,
"delta": 0.3883,
"percent_delta": 0.9051,
"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.476,
"after": 5.6192,
"delta": 2.1432,
"percent_delta": 0.6166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 6,
"season": 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.7356,
"predicted_3B": 0.0017,
"predicted_AB": 5.6192,
"predicted_AVG": 0.3446,
"predicted_BB": 0.4311,
"predicted_H": 1.9366,
"predicted_HBP": 0.234,
"predicted_HR": 0.0991,
"predicted_OBP": 0.3913,
"predicted_R": 0.9999,
"predicted_RBI": 0.7425,
"predicted_SLG": 0.5291,
"predicted_SO": 0.803
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.7356,
"after": 0.7356,
"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.6192,
"after": 5.6192,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3251,
"after": 0.3446,
"delta": 0.0195,
"percent_delta": 0.06,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4237,
"after": 0.4311,
"delta": 0.0074,
"percent_delta": 0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8582,
"after": 1.9366,
"delta": 0.0784,
"percent_delta": 0.0422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.234,
"after": 0.234,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0955,
"after": 0.0991,
"delta": 0.0036,
"percent_delta": 0.0377,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3928,
"after": 0.3913,
"delta": -0.0015,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.9294,
"after": 0.9999,
"delta": 0.0705,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6901,
"after": 0.7425,
"delta": 0.0524,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5051,
"after": 0.5291,
"delta": 0.024,
"percent_delta": 0.0475,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8173,
"after": 0.803,
"delta": -0.0143,
"percent_delta": -0.0175,
"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": 1.8582,
"after": 1.9366,
"delta": 0.0784,
"percent_delta": 0.0422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.62), rates preserved: AVG=0.345 HR/AB=0.018",
"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.7356,
"after": 1.0,
"delta": 0.2644,
"percent_delta": 0.3594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0017,
"after": 0.0,
"delta": -0.0017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.6192,
"after": 6.0,
"delta": 0.3808,
"percent_delta": 0.0678,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4311,
"after": 0.0,
"delta": -0.4311,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.9366,
"after": 2.0,
"delta": 0.0634,
"percent_delta": 0.0327,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.234,
"after": 0.0,
"delta": -0.234,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0991,
"after": 0.0,
"delta": -0.0991,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7425,
"after": 1.0,
"delta": 0.2575,
"percent_delta": 0.3468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.803,
"after": 1.0,
"delta": 0.197,
"percent_delta": 0.2453,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 5,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 5.6192,
"after": 6.0,
"delta": 0.3808,
"percent_delta": 0.0678,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4311,
"after": 0.0,
"delta": -0.4311,
"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": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.9999,
"after": 1.0,
"delta": 0.0001,
"percent_delta": 0.0001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": 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.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.3446,
"after": 0.333,
"delta": -0.0116,
"percent_delta": -0.0337,
"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.3913,
"after": 0.333,
"delta": -0.0583,
"percent_delta": -0.149,
"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.5291,
"after": 0.5,
"delta": -0.0291,
"percent_delta": -0.055,
"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.3913,
"after": 0.333,
"delta": -0.0583,
"percent_delta": -0.149,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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_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": 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.3446,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3913,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5291,
"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.3446,
"delta": 0.0116,
"percent_delta": 0.035,
"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.333,
"after": 0.3913,
"delta": 0.0583,
"percent_delta": 0.1752,
"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.5,
"after": 0.5291,
"delta": 0.0291,
"percent_delta": 0.0581,
"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.3913,
"delta": 0.0583,
"percent_delta": 0.1752,
"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.413,
"after": 0.0,
"delta": -0.413,
"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.476,
"after": 4.0,
"delta": 0.524,
"percent_delta": 0.1507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.292,
"after": 0.3446,
"delta": 0.0526,
"percent_delta": 0.1801,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.317,
"after": 0.0,
"delta": -0.317,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 2.0,
"delta": 1.1,
"percent_delta": 1.2222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 1.0,
"delta": 0.93,
"percent_delta": 13.2857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.368,
"after": 0.3913,
"delta": 0.0233,
"percent_delta": 0.0633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.603,
"after": 1.0,
"delta": 0.397,
"percent_delta": 0.6584,
"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.469,
"after": 0.5291,
"delta": 0.0601,
"percent_delta": 0.1281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.429,
"after": 0.0,
"delta": -0.429,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 9,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.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.429,
"after": 0.0,
"delta": -0.429,
"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.413 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.476 | - |
| predicted_AVG | 0.292 | - |
| predicted_BB | 0.317 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.368 | - |
| predicted_R | 0.603 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.469 | - |
| predicted_SO | 0.429 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.736 | 0.323 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 5.619 | 2.143 |
| predicted_AVG | 0.325 | 0.033 |
| predicted_BB | 0.424 | 0.107 |
| predicted_H | 1.858 | 0.958 |
| predicted_HBP | 0.234 | - |
| predicted_HR | 0.096 | 0.025 |
| predicted_OBP | 0.393 | 0.025 |
| predicted_R | 0.929 | 0.326 |
| predicted_RBI | 0.690 | 0.310 |
| predicted_SLG | 0.505 | 0.036 |
| predicted_SO | 0.817 | 0.388 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.736 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 5.619 | 0.000 |
| predicted_AVG | 0.345 | 0.020 |
| predicted_BB | 0.431 | 0.007 |
| predicted_H | 1.937 | 0.078 |
| predicted_HBP | 0.234 | 0.000 |
| predicted_HR | 0.099 | 0.004 |
| predicted_OBP | 0.391 | -0.002 |
| predicted_R | 1.000 | 0.071 |
| predicted_RBI | 0.743 | 0.052 |
| predicted_SLG | 0.529 | 0.024 |
| predicted_SO | 0.803 | -0.014 |
AB rounded to 6 (raw=5.62), rates preserved: AVG=0.345 HR/AB=0.018
| 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 | 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.264 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 6.000 | 0.381 |
| predicted_AVG | 0.333 | -0.012 |
| predicted_BB | 0.000 | -0.431 |
| predicted_H | 2.000 | 0.063 |
| predicted_HR | 0.000 | -0.099 |
| predicted_OBP | 0.333 | -0.058 |
| predicted_R | 1.000 | 0.000 |
| predicted_RBI | 1.000 | 0.257 |
| predicted_SLG | 0.500 | -0.029 |
| predicted_SO | 1.000 | 0.197 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.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 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 7.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 0.000 | 3.000 | 0.5000 | 0.5000 | 0.7143 | 0.5000 | 0.0000 | 0.0714 | 0.0000 | 0.2143 |
| last_10 | 0.20 | 6 | - | 34.000 | 18.000 | 9.000 | 0.000 | 0.000 | 4.000 | 5.000 | 0.000 | 8.000 | 0.5294 | 0.5294 | 0.7941 | 0.5294 | 0.0000 | 0.1177 | 0.0000 | 0.2353 |
| season | 0.60 | 19 | - | 219.000 | 74.000 | 26.000 | 0.000 | 4.000 | 33.000 | 38.000 | 20.000 | 27.000 | 0.3379 | 0.4153 | 0.5114 | 0.3379 | 0.0183 | 0.1507 | 0.0913 | 0.1233 |
| Metric | Value |
|---|---|
| predicted_2B | 1.1840 |
| predicted_3B | 0.0040 |
| predicted_AB | 8.5980 |
| predicted_AVG | 0.3710 |
| predicted_BB | 0.5720 |
| predicted_H | 3.1900 |
| predicted_HBP | 0.2340 |
| predicted_HR | 0.1310 |
| predicted_OBP | 0.4272 |
| predicted_R | 1.3830 |
| predicted_RBI | 1.1210 |
| predicted_SLG | 0.5553 |
| predicted_SO | 1.3570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.4130 | 1.1840 | 0.7356 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0017 | model_form_blend |
| predicted_AB | 3.4760 | 8.5980 | 5.6192 | model_form_blend |
| predicted_AVG | 0.2920 | 0.3710 | 0.3251 | model_form_blend |
| predicted_BB | 0.3170 | 0.5720 | 0.4237 | model_form_blend |
| predicted_H | 0.9000 | 3.1900 | 1.8582 | model_form_blend |
| predicted_HBP | - | 0.2340 | 0.2340 | form_only |
| predicted_HR | 0.0700 | 0.1310 | 0.0955 | model_form_blend |
| predicted_OBP | 0.3680 | 0.4272 | 0.3928 | model_form_blend |
| predicted_R | 0.6030 | 1.3830 | 0.9294 | model_form_blend |
| predicted_RBI | 0.3800 | 1.1210 | 0.6901 | model_form_blend |
| predicted_SLG | 0.4690 | 0.5553 | 0.5051 | model_form_blend |
| predicted_SO | 0.4290 | 1.3570 | 0.8173 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 64 |
| Season rows before report date | 64 |
| Report year | 2026 |
| Profile rows used | 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 | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.338 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260531_MIL@HOU |
| game_type | full |
| mlbID | 683734 |
| playerID | 683734 |
| playerName | Andrew Vaughn |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-05-31 |
| sl_k_percent | 10.8 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.403 |
| sl_xwoba | 0.357 |
| sl_xba | 0.304 |
| sl_xslg | 0.403 |
| sl_sweet_spot_percent | 40.0 |
| sl_barrel_batted_rate | 4.0 |
| sl_hard_hit_percent | 34.0 |
| sl_exit_velocity_avg | 87.8 |
| sl_launch_angle_avg | 9.1 |
| sl_whiff_percent | 19.0 |
| sl_swing_percent | 43.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.118 | 0.000 | 0.000 | Hitting_2B | 0.115 | 0.000 | -0.115 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.626 | 3.000 | 7.000 | Hitting_AB | 3.531 | 3.000 | -0.531 | 0.000 |
| predicted_AVG | 0.225 | 0.000 | 0.143 | Hitting_AVG | 0.221 | 0.000 | -0.221 | 0.000 |
| predicted_BB | 0.332 | 0.000 | 1.000 | Hitting_BB | 0.365 | 0.000 | -0.365 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_H | 0.730 | 0.000 | 1.000 | Hitting_H | 0.781 | 0.000 | -0.781 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.073 | 0.000 | -0.073 | 0.000 |
| predicted_OBP | 0.266 | 0.000 | 0.250 | Hitting_OBP | 0.294 | 0.000 | -0.294 | 0.000 |
| predicted_R | 0.481 | 0.000 | 1.000 | Hitting_R | 0.469 | 0.000 | -0.469 | 0.000 |
| predicted_RBI | 0.370 | 0.000 | 1.000 | Hitting_RBI | 0.385 | 0.000 | -0.385 | 0.000 |
| predicted_SLG | 0.315 | 0.000 | 0.143 | Hitting_SLG | 0.316 | 0.000 | -0.316 | 0.000 |
| predicted_SO | 0.476 | 0.000 | 1.000 | Hitting_SO | 0.464 | 0.000 | -0.464 | 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_H: 0.7300 -> 0.0000 (deboost -0.7300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.6260 -> 6.9005 (boost 3.2745, better) | predicted_SLG: 0.3150 -> 0.3020 (deboost -0.0130, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 3 | 2 | 3 | 2 | predicted_R: 0.9715 -> 1.0452 (boost 0.0737, better) | predicted_SLG: 0.3020 -> 0.2952 (deboost -0.0068, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_BB: 0.5989 -> 1.0000 (boost 0.4011, better) | predicted_H: 1.4283 -> 1.0000 (deboost -0.4283, worse) | AB rounded to 7 (raw=6.90), rates preserved: AVG=0.207 HR/AB=0.017 |
| 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 | 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.2952 -> 0.1430 (deboost -0.1522, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 0 | 6 | 1 | 5 | - | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1430 -> 0.2952 (boost 0.1522, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686217",
"player_name": "Sal Frelick",
"position": "RF",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.118,
"predicted_3B": 0.0,
"predicted_AB": 3.626,
"predicted_AVG": 0.225,
"predicted_BB": 0.332,
"predicted_H": 0.73,
"predicted_HR": 0.06,
"predicted_OBP": 0.266,
"predicted_R": 0.481,
"predicted_RBI": 0.37,
"predicted_SLG": 0.315,
"predicted_SO": 0.476
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2562,
"predicted_3B": 0.0009,
"predicted_AB": 6.9005,
"predicted_AVG": 0.2129,
"predicted_BB": 0.5886,
"predicted_H": 1.3705,
"predicted_HBP": 0.051,
"predicted_HR": 0.1126,
"predicted_OBP": 0.2628,
"predicted_R": 0.9715,
"predicted_RBI": 0.5907,
"predicted_SLG": 0.302,
"predicted_SO": 0.8357
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.2562,
"delta": 0.1382,
"percent_delta": 1.1712,
"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.626,
"after": 6.9005,
"delta": 3.2745,
"percent_delta": 0.9031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2129,
"delta": -0.0121,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.332,
"after": 0.5886,
"delta": 0.2566,
"percent_delta": 0.7729,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 1.3705,
"delta": 0.6405,
"percent_delta": 0.8774,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.1126,
"delta": 0.0526,
"percent_delta": 0.8767,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.266,
"after": 0.2628,
"delta": -0.0032,
"percent_delta": -0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.481,
"after": 0.9715,
"delta": 0.4905,
"percent_delta": 1.0198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.5907,
"delta": 0.2207,
"percent_delta": 0.5965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.315,
"after": 0.302,
"delta": -0.013,
"percent_delta": -0.0413,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.476,
"after": 0.8357,
"delta": 0.3597,
"percent_delta": 0.7557,
"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.626,
"after": 6.9005,
"delta": 3.2745,
"percent_delta": 0.9031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.315,
"after": 0.302,
"delta": -0.013,
"percent_delta": -0.0413,
"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": 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.2562,
"predicted_3B": 0.0009,
"predicted_AB": 6.9005,
"predicted_AVG": 0.207,
"predicted_BB": 0.5989,
"predicted_H": 1.4283,
"predicted_HBP": 0.051,
"predicted_HR": 0.1168,
"predicted_OBP": 0.2703,
"predicted_R": 1.0452,
"predicted_RBI": 0.6355,
"predicted_SLG": 0.2952,
"predicted_SO": 0.8211
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2562,
"after": 0.2562,
"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.9005,
"after": 6.9005,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2129,
"after": 0.207,
"delta": -0.0059,
"percent_delta": -0.0277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5886,
"after": 0.5989,
"delta": 0.0103,
"percent_delta": 0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3705,
"after": 1.4283,
"delta": 0.0578,
"percent_delta": 0.0422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.051,
"after": 0.051,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1126,
"after": 0.1168,
"delta": 0.0042,
"percent_delta": 0.0373,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2628,
"after": 0.2703,
"delta": 0.0075,
"percent_delta": 0.0285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9715,
"after": 1.0452,
"delta": 0.0737,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5907,
"after": 0.6355,
"delta": 0.0448,
"percent_delta": 0.0758,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.302,
"after": 0.2952,
"delta": -0.0068,
"percent_delta": -0.0225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8357,
"after": 0.8211,
"delta": -0.0146,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.9715,
"after": 1.0452,
"delta": 0.0737,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.302,
"after": 0.2952,
"delta": -0.0068,
"percent_delta": -0.0225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.90), rates preserved: AVG=0.207 HR/AB=0.017",
"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.2562,
"after": 0.0,
"delta": -0.2562,
"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.9005,
"after": 7.0,
"delta": 0.0995,
"percent_delta": 0.0144,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5989,
"after": 1.0,
"delta": 0.4011,
"percent_delta": 0.6697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4283,
"after": 1.0,
"delta": -0.4283,
"percent_delta": -0.2999,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.051,
"after": 0.0,
"delta": -0.051,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1168,
"after": 0.0,
"delta": -0.1168,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6355,
"after": 1.0,
"delta": 0.3645,
"percent_delta": 0.5736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8211,
"after": 1.0,
"delta": 0.1789,
"percent_delta": 0.2179,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5989,
"after": 1.0,
"delta": 0.4011,
"percent_delta": 0.6697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.4283,
"after": 1.0,
"delta": -0.4283,
"percent_delta": -0.2999,
"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": 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.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": 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": 1.0452,
"after": 1.0,
"delta": -0.0452,
"percent_delta": -0.0432,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_AVG": 0.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.207,
"after": 0.143,
"delta": -0.064,
"percent_delta": -0.3092,
"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.2703,
"after": 0.25,
"delta": -0.0203,
"percent_delta": -0.0751,
"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.2952,
"after": 0.143,
"delta": -0.1522,
"percent_delta": -0.5156,
"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.2952,
"after": 0.143,
"delta": -0.1522,
"percent_delta": -0.5156,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.207,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2703,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2952,
"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.207,
"delta": 0.064,
"percent_delta": 0.4475,
"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.2703,
"delta": 0.0203,
"percent_delta": 0.0813,
"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.2952,
"delta": 0.1522,
"percent_delta": 1.0641,
"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.2952,
"delta": 0.1522,
"percent_delta": 1.0641,
"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.118,
"after": 0.0,
"delta": -0.118,
"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.626,
"after": 3.0,
"delta": -0.626,
"percent_delta": -0.1726,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.207,
"delta": -0.018,
"percent_delta": -0.08,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.332,
"after": 0.0,
"delta": -0.332,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 0.0,
"delta": -0.73,
"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.266,
"after": 0.2703,
"delta": 0.0043,
"percent_delta": 0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.315,
"after": 0.2952,
"delta": -0.0198,
"percent_delta": -0.0629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.476,
"after": 0.0,
"delta": -0.476,
"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_H",
"before": 0.73,
"after": 0.0,
"delta": -0.73,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.118 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.626 | - |
| predicted_AVG | 0.225 | - |
| predicted_BB | 0.332 | - |
| predicted_H | 0.730 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.266 | - |
| predicted_R | 0.481 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.315 | - |
| predicted_SO | 0.476 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.256 | 0.138 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.901 | 3.275 |
| predicted_AVG | 0.213 | -0.012 |
| predicted_BB | 0.589 | 0.257 |
| predicted_H | 1.371 | 0.641 |
| predicted_HBP | 0.051 | - |
| predicted_HR | 0.113 | 0.053 |
| predicted_OBP | 0.263 | -0.003 |
| predicted_R | 0.972 | 0.491 |
| predicted_RBI | 0.591 | 0.221 |
| predicted_SLG | 0.302 | -0.013 |
| predicted_SO | 0.836 | 0.360 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.256 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.901 | 0.000 |
| predicted_AVG | 0.207 | -0.006 |
| predicted_BB | 0.599 | 0.010 |
| predicted_H | 1.428 | 0.058 |
| predicted_HBP | 0.051 | 0.000 |
| predicted_HR | 0.117 | 0.004 |
| predicted_OBP | 0.270 | 0.008 |
| predicted_R | 1.045 | 0.074 |
| predicted_RBI | 0.635 | 0.045 |
| predicted_SLG | 0.295 | -0.007 |
| predicted_SO | 0.821 | -0.015 |
AB rounded to 7 (raw=6.90), rates preserved: AVG=0.207 HR/AB=0.017
| 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=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 | 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.256 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | 0.099 |
| predicted_AVG | 0.143 | -0.064 |
| predicted_BB | 1.000 | 0.401 |
| predicted_H | 1.000 | -0.428 |
| predicted_HR | 0.000 | -0.117 |
| predicted_OBP | 0.250 | -0.020 |
| predicted_R | 1.000 | -0.045 |
| predicted_RBI | 1.000 | 0.365 |
| predicted_SLG | 0.143 | -0.152 |
| predicted_SO | 1.000 | 0.179 |
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 | -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 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.000 | 0.000 | 0.0769 | 0.0769 | 0.0769 | 0.0769 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 5 | - | 28.000 | 5.000 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 4.000 | 0.1786 | 0.2812 | 0.3214 | 0.1786 | 0.0000 | 0.0357 | 0.1429 | 0.1429 |
| season | 0.60 | 50 | - | 678.000 | 150.000 | 22.000 | 0.000 | 14.000 | 66.000 | 90.000 | 62.000 | 89.000 | 0.2212 | 0.2892 | 0.3156 | 0.2212 | 0.0207 | 0.0974 | 0.0915 | 0.1313 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4330 |
| predicted_3B | 0.0020 |
| predicted_AB | 11.0900 |
| predicted_AVG | 0.1974 |
| predicted_BB | 0.9170 |
| predicted_H | 2.1900 |
| predicted_HBP | 0.0510 |
| predicted_HR | 0.1800 |
| predicted_OBP | 0.2588 |
| predicted_R | 1.5990 |
| predicted_RBI | 0.8730 |
| predicted_SLG | 0.2853 |
| predicted_SO | 1.2960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1180 | 0.4330 | 0.2562 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.6260 | 11.0900 | 6.9005 | model_form_blend |
| predicted_AVG | 0.2250 | 0.1974 | 0.2129 | model_form_blend |
| predicted_BB | 0.3320 | 0.9170 | 0.5886 | model_form_blend |
| predicted_H | 0.7300 | 2.1900 | 1.3705 | model_form_blend |
| predicted_HBP | - | 0.0510 | 0.0510 | form_only |
| predicted_HR | 0.0600 | 0.1800 | 0.1126 | model_form_blend |
| predicted_OBP | 0.2660 | 0.2588 | 0.2628 | model_form_blend |
| predicted_R | 0.4810 | 1.5990 | 0.9715 | model_form_blend |
| predicted_RBI | 0.3700 | 0.8730 | 0.5907 | model_form_blend |
| predicted_SLG | 0.3150 | 0.2853 | 0.3020 | model_form_blend |
| predicted_SO | 0.4760 | 1.2960 | 0.8357 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 192 |
| Season rows before report date | 192 |
| Report year | 2026 |
| Profile rows used | 187 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.221 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | RF |
| gameID | 20260531_MIL@HOU |
| game_type | full |
| mlbID | 686217 |
| playerID | 686217 |
| playerName | Sal Frelick |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-05-31 |
| sl_k_percent | 10.7 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.266 |
| sl_xwoba | 0.279 |
| sl_xba | 0.238 |
| sl_xslg | 0.318 |
| sl_sweet_spot_percent | 27.0 |
| sl_barrel_batted_rate | 2.6 |
| sl_hard_hit_percent | 26.3 |
| sl_exit_velocity_avg | 85.7 |
| sl_launch_angle_avg | 8.2 |
| sl_whiff_percent | 10.8 |
| sl_swing_percent | 42.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.234 | 0.000 | 0.000 | Hitting_2B | 0.234 | 0.000 | -0.234 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.629 | 3.000 | 7.000 | Hitting_AB | 3.629 | 4.000 | -0.629 | -1.000 |
| predicted_AVG | 0.218 | 0.000 | 0.143 | Hitting_AVG | 0.216 | 0.000 | -0.216 | 0.000 |
| predicted_BB | 0.317 | 0.000 | 1.000 | Hitting_BB | 0.317 | 0.000 | -0.317 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_H | 0.270 | 0.000 | 1.000 | Hitting_H | 0.784 | 0.000 | -0.784 | 0.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.263 | 0.000 | 0.250 | Hitting_OBP | 0.284 | 0.000 | -0.284 | 0.000 |
| predicted_R | 0.311 | 0.000 | 1.000 | Hitting_R | 0.311 | 0.000 | -0.311 | 0.000 |
| predicted_RBI | 0.120 | 0.000 | 1.000 | Hitting_RBI | 0.365 | 0.000 | -0.365 | 0.000 |
| predicted_SLG | 0.296 | 0.000 | 0.143 | Hitting_SLG | 0.281 | 0.000 | -0.281 | 0.000 |
| predicted_SO | 0.443 | 1.000 | 1.000 | Hitting_SO | 0.443 | 1.000 | 0.557 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 0 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.4430 -> 1.0000 (boost 0.5570, worse) |
| Biggest Deboost | predicted_AB: 3.6290 -> 3.0000 (deboost -0.6290, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.6290 -> 6.9908 (boost 3.3618, better) | predicted_SLG: 0.2960 -> 0.2843 (deboost -0.0117, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 1 | 3 | 1 | 3 | predicted_H: 1.2100 -> 1.2611 (boost 0.0511, better) | predicted_SLG: 0.2843 -> 0.2435 (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 | 6 | 3 | 3 | 2 | 4 | predicted_RBI: 0.5075 -> 1.0000 (boost 0.4925, better) | predicted_2B: 0.3827 -> 0.0000 (deboost -0.3827, worse) | AB rounded to 7 (raw=6.99), rates preserved: AVG=0.180 HR/AB=0.003 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5628 -> 1.0000 (boost 0.4372, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.2435 -> 0.1430 (deboost -0.1005, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.1430 -> 0.2435 (boost 0.1005, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "650859",
"player_name": "Luis Rengifo",
"position": "3B",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.234,
"predicted_3B": 0.0,
"predicted_AB": 3.629,
"predicted_AVG": 0.218,
"predicted_BB": 0.317,
"predicted_H": 0.27,
"predicted_HR": 0.02,
"predicted_OBP": 0.263,
"predicted_R": 0.311,
"predicted_RBI": 0.12,
"predicted_SLG": 0.296,
"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.3827,
"predicted_3B": 0.0009,
"predicted_AB": 6.9908,
"predicted_AVG": 0.2162,
"predicted_BB": 0.6166,
"predicted_H": 1.21,
"predicted_HBP": 0.075,
"predicted_HR": 0.0183,
"predicted_OBP": 0.271,
"predicted_R": 0.5231,
"predicted_RBI": 0.4717,
"predicted_SLG": 0.2843,
"predicted_SO": 0.8078
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.234,
"after": 0.3827,
"delta": 0.1487,
"percent_delta": 0.6355,
"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.629,
"after": 6.9908,
"delta": 3.3618,
"percent_delta": 0.9264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.2162,
"delta": -0.0018,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.317,
"after": 0.6166,
"delta": 0.2996,
"percent_delta": 0.9451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.27,
"after": 1.21,
"delta": 0.94,
"percent_delta": 3.4815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0183,
"delta": -0.0017,
"percent_delta": -0.085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.263,
"after": 0.271,
"delta": 0.008,
"percent_delta": 0.0304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.311,
"after": 0.5231,
"delta": 0.2121,
"percent_delta": 0.682,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 0.4717,
"delta": 0.3517,
"percent_delta": 2.9308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.296,
"after": 0.2843,
"delta": -0.0117,
"percent_delta": -0.0395,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.443,
"after": 0.8078,
"delta": 0.3648,
"percent_delta": 0.8235,
"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.629,
"after": 6.9908,
"delta": 3.3618,
"percent_delta": 0.9264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.296,
"after": 0.2843,
"delta": -0.0117,
"percent_delta": -0.0395,
"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": 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.3827,
"predicted_3B": 0.0009,
"predicted_AB": 6.9908,
"predicted_AVG": 0.1804,
"predicted_BB": 0.6274,
"predicted_H": 1.2611,
"predicted_HBP": 0.075,
"predicted_HR": 0.019,
"predicted_OBP": 0.2479,
"predicted_R": 0.5628,
"predicted_RBI": 0.5075,
"predicted_SLG": 0.2435,
"predicted_SO": 0.7937
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3827,
"after": 0.3827,
"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.9908,
"after": 6.9908,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2162,
"after": 0.1804,
"delta": -0.0358,
"percent_delta": -0.1656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6166,
"after": 0.6274,
"delta": 0.0108,
"percent_delta": 0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.21,
"after": 1.2611,
"delta": 0.0511,
"percent_delta": 0.0422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.075,
"after": 0.075,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0183,
"after": 0.019,
"delta": 0.0007,
"percent_delta": 0.0383,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.271,
"after": 0.2479,
"delta": -0.0231,
"percent_delta": -0.0852,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5231,
"after": 0.5628,
"delta": 0.0397,
"percent_delta": 0.0759,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4717,
"after": 0.5075,
"delta": 0.0358,
"percent_delta": 0.0759,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2843,
"after": 0.2435,
"delta": -0.0408,
"percent_delta": -0.1435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8078,
"after": 0.7937,
"delta": -0.0141,
"percent_delta": -0.0175,
"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_H",
"before": 1.21,
"after": 1.2611,
"delta": 0.0511,
"percent_delta": 0.0422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2843,
"after": 0.2435,
"delta": -0.0408,
"percent_delta": -0.1435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.99), rates preserved: AVG=0.180 HR/AB=0.003",
"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.3827,
"after": 0.0,
"delta": -0.3827,
"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.9908,
"after": 7.0,
"delta": 0.0092,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6274,
"after": 1.0,
"delta": 0.3726,
"percent_delta": 0.5939,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2611,
"after": 1.0,
"delta": -0.2611,
"percent_delta": -0.207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.075,
"after": 0.0,
"delta": -0.075,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5075,
"after": 1.0,
"delta": 0.4925,
"percent_delta": 0.9704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7937,
"after": 1.0,
"delta": 0.2063,
"percent_delta": 0.2599,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5075,
"after": 1.0,
"delta": 0.4925,
"percent_delta": 0.9704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3827,
"after": 0.0,
"delta": -0.3827,
"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.5628,
"after": 1.0,
"delta": 0.4372,
"percent_delta": 0.7768,
"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.5628,
"after": 1.0,
"delta": 0.4372,
"percent_delta": 0.7768,
"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.1804,
"after": 0.143,
"delta": -0.0374,
"percent_delta": -0.2073,
"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.2479,
"after": 0.25,
"delta": 0.0021,
"percent_delta": 0.0085,
"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.2435,
"after": 0.143,
"delta": -0.1005,
"percent_delta": -0.4127,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2435,
"after": 0.143,
"delta": -0.1005,
"percent_delta": -0.4127,
"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": 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": 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": 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.1804,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2479,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2435,
"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.143,
"after": 0.1804,
"delta": 0.0374,
"percent_delta": 0.2615,
"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.2479,
"delta": -0.0021,
"percent_delta": -0.0085,
"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.143,
"after": 0.2435,
"delta": 0.1005,
"percent_delta": 0.7031,
"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.143,
"after": 0.2435,
"delta": 0.1005,
"percent_delta": 0.7031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.234,
"after": 0.0,
"delta": -0.234,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.629,
"after": 3.0,
"delta": -0.629,
"percent_delta": -0.1733,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.1804,
"delta": -0.0376,
"percent_delta": -0.1725,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.317,
"after": 0.0,
"delta": -0.317,
"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.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.263,
"after": 0.2479,
"delta": -0.0151,
"percent_delta": -0.0574,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.311,
"after": 0.0,
"delta": -0.311,
"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.296,
"after": 0.2435,
"delta": -0.0525,
"percent_delta": -0.1774,
"direction": "deboost",
"projection_effect": "worse",
"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": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 0,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.443,
"after": 1.0,
"delta": 0.557,
"percent_delta": 1.2573,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.629,
"after": 3.0,
"delta": -0.629,
"percent_delta": -0.1733,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.234 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.629 | - |
| predicted_AVG | 0.218 | - |
| predicted_BB | 0.317 | - |
| predicted_H | 0.270 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.263 | - |
| predicted_R | 0.311 | - |
| predicted_RBI | 0.120 | - |
| predicted_SLG | 0.296 | - |
| 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.383 | 0.149 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.991 | 3.362 |
| predicted_AVG | 0.216 | -0.002 |
| predicted_BB | 0.617 | 0.300 |
| predicted_H | 1.210 | 0.940 |
| predicted_HBP | 0.075 | - |
| predicted_HR | 0.018 | -0.002 |
| predicted_OBP | 0.271 | 0.008 |
| predicted_R | 0.523 | 0.212 |
| predicted_RBI | 0.472 | 0.352 |
| predicted_SLG | 0.284 | -0.012 |
| predicted_SO | 0.808 | 0.365 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.383 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.991 | 0.000 |
| predicted_AVG | 0.180 | -0.036 |
| predicted_BB | 0.627 | 0.011 |
| predicted_H | 1.261 | 0.051 |
| predicted_HBP | 0.075 | 0.000 |
| predicted_HR | 0.019 | 0.001 |
| predicted_OBP | 0.248 | -0.023 |
| predicted_R | 0.563 | 0.040 |
| predicted_RBI | 0.507 | 0.036 |
| predicted_SLG | 0.243 | -0.041 |
| predicted_SO | 0.794 | -0.014 |
AB rounded to 7 (raw=6.99), rates preserved: AVG=0.180 HR/AB=0.003
| 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.383 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | 0.009 |
| predicted_AVG | 0.143 | -0.037 |
| predicted_BB | 1.000 | 0.373 |
| predicted_H | 1.000 | -0.261 |
| predicted_HR | 0.000 | -0.019 |
| predicted_OBP | 0.250 | 0.002 |
| predicted_R | 1.000 | 0.437 |
| predicted_RBI | 1.000 | 0.493 |
| predicted_SLG | 0.143 | -0.101 |
| predicted_SO | 1.000 | 0.206 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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 | - | 16.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.1875 | 0.2353 | 0.1875 | 0.1875 | 0.0000 | 0.0000 | 0.0625 | 0.0625 |
| last_10 | 0.20 | 4 | - | 31.000 | 7.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 6.000 | 1.000 | 0.2258 | 0.3514 | 0.2258 | 0.2258 | 0.0000 | 0.0000 | 0.1935 | 0.0323 |
| season | 0.60 | 46 | - | 606.000 | 131.000 | 39.000 | 0.000 | 0.000 | 61.000 | 52.000 | 53.000 | 74.000 | 0.2162 | 0.2838 | 0.2805 | 0.2162 | 0.0000 | 0.1007 | 0.0875 | 0.1221 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5740 |
| predicted_3B | 0.0020 |
| predicted_AB | 11.3150 |
| predicted_AVG | 0.2138 |
| predicted_BB | 1.0020 |
| predicted_H | 2.4190 |
| predicted_HBP | 0.0750 |
| predicted_HR | 0.0160 |
| predicted_OBP | 0.2812 |
| predicted_R | 0.7960 |
| predicted_RBI | 0.9240 |
| predicted_SLG | 0.2692 |
| predicted_SO | 1.2770 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2340 | 0.5740 | 0.3827 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.6290 | 11.3150 | 6.9908 | model_form_blend |
| predicted_AVG | 0.2180 | 0.2138 | 0.2162 | model_form_blend |
| predicted_BB | 0.3170 | 1.0020 | 0.6166 | model_form_blend |
| predicted_H | 0.2700 | 2.4190 | 1.2100 | model_form_blend |
| predicted_HBP | - | 0.0750 | 0.0750 | form_only |
| predicted_HR | 0.0200 | 0.0160 | 0.0183 | model_form_blend |
| predicted_OBP | 0.2630 | 0.2812 | 0.2710 | model_form_blend |
| predicted_R | 0.3110 | 0.7960 | 0.5231 | model_form_blend |
| predicted_RBI | 0.1200 | 0.9240 | 0.4717 | model_form_blend |
| predicted_SLG | 0.2960 | 0.2692 | 0.2843 | model_form_blend |
| predicted_SO | 0.4430 | 1.2770 | 0.8078 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 167 |
| Season rows before report date | 167 |
| Report year | 2026 |
| Profile rows used | 167 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.216 |
| 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 | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260529_MIL@HOU |
| game_type | full |
| mlbID | 650859 |
| playerID | 650859 |
| playerName | Luis Rengifo |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-05-29 |
| sl_k_percent | 11.8 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.238 |
| sl_xwoba | 0.293 |
| sl_xba | 0.252 |
| sl_xslg | 0.343 |
| sl_sweet_spot_percent | 29.4 |
| sl_barrel_batted_rate | 5.2 |
| sl_hard_hit_percent | 36.0 |
| sl_exit_velocity_avg | 87.3 |
| sl_launch_angle_avg | 4.9 |
| sl_whiff_percent | 19.4 |
| sl_swing_percent | 50.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.063 | 0.000 | 0.000 | Hitting_2B | 0.061 | 0.000 | -0.061 | 0.000 |
| predicted_3B | 0.007 | 0.000 | 0.000 | Hitting_3B | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_AB | 3.194 | 2.000 | 6.000 | Hitting_AB | 3.129 | 2.000 | -1.129 | 0.000 |
| predicted_AVG | 0.240 | 0.000 | 0.167 | Hitting_AVG | 0.235 | 0.500 | -0.235 | -0.500 |
| predicted_BB | 0.417 | 1.000 | 1.000 | Hitting_BB | 0.408 | 1.000 | 0.592 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_H | 0.610 | 0.000 | 1.000 | Hitting_H | 0.735 | 1.000 | -0.735 | -1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_OBP | 0.288 | 0.333 | 0.286 | Hitting_OBP | 0.327 | 0.667 | 0.006 | -0.333 |
| predicted_R | 0.590 | 0.000 | 1.000 | Hitting_R | 0.585 | 0.000 | -0.585 | 0.000 |
| predicted_RBI | 0.270 | 0.000 | 0.000 | Hitting_RBI | 0.218 | 0.000 | -0.218 | 0.000 |
| predicted_SLG | 0.341 | 0.000 | 0.167 | Hitting_SLG | 0.265 | 0.500 | -0.265 | -0.500 |
| predicted_SO | 0.674 | 2.000 | 1.000 | Hitting_SO | 0.660 | 0.000 | 1.340 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.6740 -> 2.0000 (boost 1.3260, worse) |
| Biggest Deboost | predicted_AB: 3.1940 -> 2.0000 (deboost -1.1940, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 8 | 6 | 2 | 5 | 3 | predicted_AB: 3.1940 -> 5.5475 (boost 2.3535, better) | predicted_SLG: 0.3410 -> 0.3192 (deboost -0.0218, 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 | 2 | 2 | 2 | 2 | predicted_R: 0.8935 -> 0.9613 (boost 0.0678, better) | predicted_SLG: 0.3192 -> 0.3017 (deboost -0.0175, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_AB: 5.5475 -> 6.0000 (boost 0.4525, better) | predicted_RBI: 0.4540 -> 0.0000 (deboost -0.4540, worse) | AB rounded to 6 (raw=5.55), rates preserved: AVG=0.211 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 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3017 -> 0.1670 (deboost -0.1347, 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 -> 2.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.3017 (boost 0.1347, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666152",
"player_name": "David Hamilton",
"position": "SS",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.063,
"predicted_3B": 0.007,
"predicted_AB": 3.194,
"predicted_AVG": 0.24,
"predicted_BB": 0.417,
"predicted_H": 0.61,
"predicted_HR": 0.08,
"predicted_OBP": 0.288,
"predicted_R": 0.59,
"predicted_RBI": 0.27,
"predicted_SLG": 0.341,
"predicted_SO": 0.674
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0951,
"predicted_3B": 0.01,
"predicted_AB": 5.5475,
"predicted_AVG": 0.2261,
"predicted_BB": 0.6484,
"predicted_H": 1.1232,
"predicted_HBP": 0.042,
"predicted_HR": 0.1247,
"predicted_OBP": 0.288,
"predicted_R": 0.8935,
"predicted_RBI": 0.422,
"predicted_SLG": 0.3192,
"predicted_SO": 1.1238
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.063,
"after": 0.0951,
"delta": 0.0321,
"percent_delta": 0.5095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.01,
"delta": 0.003,
"percent_delta": 0.4286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.194,
"after": 5.5475,
"delta": 2.3535,
"percent_delta": 0.7369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2261,
"delta": -0.0139,
"percent_delta": -0.0579,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.417,
"after": 0.6484,
"delta": 0.2314,
"percent_delta": 0.5549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 1.1232,
"delta": 0.5132,
"percent_delta": 0.8413,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1247,
"delta": 0.0447,
"percent_delta": 0.5588,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.288,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.59,
"after": 0.8935,
"delta": 0.3035,
"percent_delta": 0.5144,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.422,
"delta": 0.152,
"percent_delta": 0.563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.3192,
"delta": -0.0218,
"percent_delta": -0.0639,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.674,
"after": 1.1238,
"delta": 0.4498,
"percent_delta": 0.6674,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 6,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.194,
"after": 5.5475,
"delta": 2.3535,
"percent_delta": 0.7369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.3192,
"delta": -0.0218,
"percent_delta": -0.0639,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 6,
"season": 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.0951,
"predicted_3B": 0.01,
"predicted_AB": 5.5475,
"predicted_AVG": 0.211,
"predicted_BB": 0.6597,
"predicted_H": 1.1706,
"predicted_HBP": 0.042,
"predicted_HR": 0.1294,
"predicted_OBP": 0.2949,
"predicted_R": 0.9613,
"predicted_RBI": 0.454,
"predicted_SLG": 0.3017,
"predicted_SO": 1.1041
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0951,
"after": 0.0951,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.01,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.5475,
"after": 5.5475,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2261,
"after": 0.211,
"delta": -0.0151,
"percent_delta": -0.0668,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6484,
"after": 0.6597,
"delta": 0.0113,
"percent_delta": 0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1232,
"after": 1.1706,
"delta": 0.0474,
"percent_delta": 0.0422,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.042,
"after": 0.042,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1247,
"after": 0.1294,
"delta": 0.0047,
"percent_delta": 0.0377,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2949,
"delta": 0.0069,
"percent_delta": 0.024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8935,
"after": 0.9613,
"delta": 0.0678,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.422,
"after": 0.454,
"delta": 0.032,
"percent_delta": 0.0758,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3192,
"after": 0.3017,
"delta": -0.0175,
"percent_delta": -0.0548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1238,
"after": 1.1041,
"delta": -0.0197,
"percent_delta": -0.0175,
"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_R",
"before": 0.8935,
"after": 0.9613,
"delta": 0.0678,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3192,
"after": 0.3017,
"delta": -0.0175,
"percent_delta": -0.0548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.55), rates preserved: AVG=0.211 HR/AB=0.023",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0951,
"after": 0.0,
"delta": -0.0951,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.5475,
"after": 6.0,
"delta": 0.4525,
"percent_delta": 0.0816,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6597,
"after": 1.0,
"delta": 0.3403,
"percent_delta": 0.5158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1706,
"after": 1.0,
"delta": -0.1706,
"percent_delta": -0.1457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.042,
"after": 0.0,
"delta": -0.042,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1294,
"after": 0.0,
"delta": -0.1294,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.454,
"after": 0.0,
"delta": -0.454,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1041,
"after": 1.0,
"delta": -0.1041,
"percent_delta": -0.0943,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 5.5475,
"after": 6.0,
"delta": 0.4525,
"percent_delta": 0.0816,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.454,
"after": 0.0,
"delta": -0.454,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.9613,
"after": 1.0,
"delta": 0.0387,
"percent_delta": 0.0403,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_AVG": 0.167,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.286,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.167,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.211,
"after": 0.167,
"delta": -0.044,
"percent_delta": -0.2085,
"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.2949,
"after": 0.286,
"delta": -0.0089,
"percent_delta": -0.0302,
"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.3017,
"after": 0.167,
"delta": -0.1347,
"percent_delta": -0.4465,
"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.3017,
"after": 0.167,
"delta": -0.1347,
"percent_delta": -0.4465,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 2.0,
"delta": -4.0,
"percent_delta": -0.6667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 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": 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": 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.211,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2949,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3017,
"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": 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.211,
"delta": 0.044,
"percent_delta": 0.2636,
"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.2949,
"delta": 0.0089,
"percent_delta": 0.031,
"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.3017,
"delta": 0.1347,
"percent_delta": 0.8067,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.167,
"after": 0.3017,
"delta": 0.1347,
"percent_delta": 0.8067,
"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.063,
"after": 0.0,
"delta": -0.063,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.194,
"after": 2.0,
"delta": -1.194,
"percent_delta": -0.3738,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.211,
"delta": -0.029,
"percent_delta": -0.1208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.417,
"after": 1.0,
"delta": 0.583,
"percent_delta": 1.3981,
"direction": "boost",
"projection_effect": "better",
"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.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2949,
"delta": 0.0069,
"percent_delta": 0.024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.3017,
"delta": -0.0393,
"percent_delta": -0.1152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.674,
"after": 2.0,
"delta": 1.326,
"percent_delta": 1.9674,
"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.674,
"after": 2.0,
"delta": 1.326,
"percent_delta": 1.9674,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.194,
"after": 2.0,
"delta": -1.194,
"percent_delta": -0.3738,
"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.063 | - |
| predicted_3B | 0.007 | - |
| predicted_AB | 3.194 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.417 | - |
| predicted_H | 0.610 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.288 | - |
| predicted_R | 0.590 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.341 | - |
| predicted_SO | 0.674 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.095 | 0.032 |
| predicted_3B | 0.010 | 0.003 |
| predicted_AB | 5.548 | 2.354 |
| predicted_AVG | 0.226 | -0.014 |
| predicted_BB | 0.648 | 0.231 |
| predicted_H | 1.123 | 0.513 |
| predicted_HBP | 0.042 | - |
| predicted_HR | 0.125 | 0.045 |
| predicted_OBP | 0.288 | 0.000 |
| predicted_R | 0.893 | 0.303 |
| predicted_RBI | 0.422 | 0.152 |
| predicted_SLG | 0.319 | -0.022 |
| predicted_SO | 1.124 | 0.450 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.095 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 5.548 | 0.000 |
| predicted_AVG | 0.211 | -0.015 |
| predicted_BB | 0.660 | 0.011 |
| predicted_H | 1.171 | 0.047 |
| predicted_HBP | 0.042 | 0.000 |
| predicted_HR | 0.129 | 0.005 |
| predicted_OBP | 0.295 | 0.007 |
| predicted_R | 0.961 | 0.068 |
| predicted_RBI | 0.454 | 0.032 |
| predicted_SLG | 0.302 | -0.017 |
| predicted_SO | 1.104 | -0.020 |
AB rounded to 6 (raw=5.55), rates preserved: AVG=0.211 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.095 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 6.000 | 0.452 |
| predicted_AVG | 0.167 | -0.044 |
| predicted_BB | 1.000 | 0.340 |
| predicted_H | 1.000 | -0.171 |
| predicted_HR | 0.000 | -0.129 |
| predicted_OBP | 0.286 | -0.009 |
| predicted_R | 1.000 | 0.039 |
| predicted_RBI | 0.000 | -0.454 |
| predicted_SLG | 0.167 | -0.135 |
| predicted_SO | 1.000 | -0.104 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -4.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 12.000 | 2.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 0.1667 | 0.2308 | 0.4167 | 0.1667 | 0.0833 | 0.0833 | 0.0833 | 0.0833 |
| last_10 | 0.20 | 6 | - | 31.000 | 2.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 1.000 | 10.000 | 0.0645 | 0.0938 | 0.1613 | 0.0645 | 0.0323 | 0.0323 | 0.0323 | 0.3226 |
| season | 0.60 | 42 | - | 460.000 | 108.000 | 9.000 | 1.000 | 1.000 | 32.000 | 85.000 | 60.000 | 97.000 | 0.2348 | 0.3270 | 0.2652 | 0.2348 | 0.0022 | 0.0696 | 0.1304 | 0.2109 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1370 |
| predicted_3B | 0.0140 |
| predicted_AB | 8.6150 |
| predicted_AVG | 0.2080 |
| predicted_BB | 0.9500 |
| predicted_H | 1.7920 |
| predicted_HBP | 0.0420 |
| predicted_HR | 0.1830 |
| predicted_OBP | 0.2879 |
| predicted_R | 1.2890 |
| predicted_RBI | 0.6200 |
| predicted_SLG | 0.2909 |
| predicted_SO | 1.7100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0630 | 0.1370 | 0.0951 | model_form_blend |
| predicted_3B | 0.0070 | 0.0140 | 0.0100 | model_form_blend |
| predicted_AB | 3.1940 | 8.6150 | 5.5475 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2080 | 0.2261 | model_form_blend |
| predicted_BB | 0.4170 | 0.9500 | 0.6484 | model_form_blend |
| predicted_H | 0.6100 | 1.7920 | 1.1232 | model_form_blend |
| predicted_HBP | - | 0.0420 | 0.0420 | form_only |
| predicted_HR | 0.0800 | 0.1830 | 0.1247 | model_form_blend |
| predicted_OBP | 0.2880 | 0.2879 | 0.2880 | model_form_blend |
| predicted_R | 0.5900 | 1.2890 | 0.8935 | model_form_blend |
| predicted_RBI | 0.2700 | 0.6200 | 0.4220 | model_form_blend |
| predicted_SLG | 0.3410 | 0.2909 | 0.3192 | model_form_blend |
| predicted_SO | 0.6740 | 1.7100 | 1.1238 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 147 |
| Season rows before report date | 147 |
| 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 | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.235 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 3 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260531_MIL@HOU |
| game_type | full |
| mlbID | 666152 |
| playerID | 666152 |
| playerName | David Hamilton |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-05-31 |
| sl_k_percent | 19.3 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.273 |
| sl_xwoba | 0.268 |
| sl_xba | 0.205 |
| sl_xslg | 0.285 |
| sl_sweet_spot_percent | 21.2 |
| sl_barrel_batted_rate | 1.9 |
| sl_hard_hit_percent | 26.2 |
| sl_exit_velocity_avg | 85.2 |
| sl_launch_angle_avg | 13.1 |
| sl_whiff_percent | 18.3 |
| sl_swing_percent | 45.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.727 | 0.000 | -0.727 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.727 | 0.000 | 0.273 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 2.000 | 1.000 | 0.000 | 1.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 2.336 | 2.000 | 2.664 | 3.000 |
| predicted_SO | 7.000 | 7.000 | 7.000 | Pitching_SO | 2.545 | 1.000 | 4.455 | 6.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": "675660",
"player_name": "Shane Drohan",
"position": "Starter",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 7.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 5.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": 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": 5.0,
"after": 5.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": {}
},
{
"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": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_R": 1.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": 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": 5.0,
"after": 5.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": 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": 5.0,
"after": 5.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,
"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 | 5.000 | - |
| predicted_SO | 7.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 2.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 5.000 | 0.000 |
| predicted_SO | 7.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 11.100 | 2.000 | 8.000 | 2.000 | 15.000 | 1.000 | 1.5882 | 0.8824 | 0.1765 | 0.7059 | 0.1765 | 1.3235 | 0.0882 |
| last_10 | 0.35 | 10 | 24.200 | 5.000 | 19.000 | 4.000 | 26.000 | 1.000 | 1.8243 | 0.9324 | 0.2027 | 0.7703 | 0.1622 | 1.0540 | 0.0405 |
| season | 0.20 | 11 | 27.100 | 8.000 | 22.000 | 8.000 | 28.000 | 1.000 | 2.6341 | 1.0976 | 0.2927 | 0.8049 | 0.2927 | 1.0244 | 0.0366 |
| Metric | Value |
|---|---|
| predicted_BB | 1.0060 |
| predicted_ER | 1.2210 |
| predicted_ERA | 3.0381 |
| predicted_H | 3.0570 |
| predicted_HR | 0.3480 |
| predicted_IP | 3.2000 |
| predicted_SO | 3.8310 |
| predicted_WHIP | 1.1237 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.0060 | 0.4495 | model_form_blend |
| predicted_ER | 1.0000 | 1.2210 | 1.0987 | model_form_blend |
| predicted_ERA | - | 3.0381 | 3.0381 | form_only |
| predicted_H | 2.0000 | 3.0570 | 2.4722 | model_form_blend |
| predicted_HR | 0.0000 | 0.3480 | 0.1555 | model_form_blend |
| predicted_IP | 5.0000 | 3.2000 | 4.1000 | model_form_blend |
| predicted_SO | 7.0000 | 3.8310 | 5.5842 | model_form_blend |
| predicted_WHIP | - | 1.1237 | 1.1237 | 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.0 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 7 |
| HR | 0 |
| BF | 17 |
| Pitches | 69 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 0 |
| Pitching_ERA | 2.63 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 4 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.0 |
| Pitching_Pitches | 27 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 17 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260527_STL@MIL |
| game_type | full |
| mlbID | 675660 |
| playerID | 675660 |
| playerName | Shane Drohan |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-05-27 |
| game_pk | 823783.0 |
| sl_k_percent | 24.8 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.255 |
| sl_xwoba | 0.26 |
| sl_sweet_spot_percent | 31.2 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 39.0 |
| sl_whiff_percent | 26.4 |
| sl_swing_percent | 50.3 |
| sv_pitch_count | 27.0 |
| sv_outs_recorded_est | 6.0 |
| sv_release_speed | 91.08888888888887 |
| sv_release_spin_rate | 2710.4814814814813 |
| sv_effective_speed | 91.3222222222222 |
| sv_launch_speed | 87.24444444444445 |
| sv_launch_angle | -5.4 |
| sv_woba_value | 1.25 |
| sv_woba_denom | 7.0 |
| sv_delta_run_exp | -0.898 |
| sv_delta_home_win_exp | 0.109 |
| sl_avg_best_speed | 78.240749737 |
| sl_avg_hyper_speed | 93.824117632 |
| 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.692 | 0.000 | -0.692 | 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 | 1.077 | 1.000 | -1.077 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.250 | 1.000 | -0.150 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.962 | 2.000 | -1.962 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "676879",
"player_name": "Aaron Ashby",
"position": "Middle Reliever",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 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 | 1.000 | 5.000 | 3.000 | 7.000 | 0.000 | 1.2857 | 1.1429 | 0.1429 | 0.7143 | 0.4286 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 15.000 | 2.000 | 11.000 | 5.000 | 17.000 | 0.000 | 1.2000 | 1.0667 | 0.1333 | 0.7333 | 0.3333 | 1.1333 | 0.0000 |
| season | 0.20 | 26 | 36.000 | 8.000 | 28.000 | 18.000 | 51.000 | 1.000 | 2.0000 | 1.2778 | 0.2222 | 0.7778 | 0.5000 | 1.4167 | 0.0278 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5230 |
| predicted_ER | 0.3840 |
| predicted_ERA | 2.5921 |
| predicted_H | 1.0970 |
| predicted_HR | 0.0780 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.4020 |
| predicted_WHIP | 1.2157 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5230 | 0.2487 | model_form_blend |
| predicted_ER | 0.0000 | 0.3840 | 0.1826 | model_form_blend |
| predicted_ERA | - | 2.5921 | 2.5921 | form_only |
| predicted_H | 0.0000 | 1.0970 | 0.5216 | model_form_blend |
| predicted_HR | 0.0000 | 0.0780 | 0.0371 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 0.0000 | 1.4020 | 0.6666 | model_form_blend |
| predicted_WHIP | - | 1.2157 | 1.2157 | 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 | 4 |
| Pitches | 11 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 15 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260529_MIL@HOU |
| game_type | full |
| mlbID | 676879 |
| playerID | 676879 |
| playerName | Aaron Ashby |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-05-29 |
| sl_k_percent | 33.8 |
| sl_bb_percent | 11.9 |
| sl_woba | 0.275 |
| sl_xwoba | 0.257 |
| sl_sweet_spot_percent | 27.2 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 40.7 |
| sl_whiff_percent | 34.1 |
| sl_swing_percent | 40.7 |
| sl_avg_best_speed | 75.900203902 |
| sl_avg_hyper_speed | 94.44905679 |
| 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.391 | 0.000 | -0.391 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.391 | 0.000 | 0.609 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.696 | 0.000 | 1.304 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.857 | 1.000 | 0.143 | 0.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 | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "682842",
"player_name": "Abner Uribe",
"position": "Middle Reliever",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.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": 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": 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 | 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 | 5.000 | 0.000 | 3.000 | 3.000 | 6.000 | 0.000 | 0.0000 | 1.2000 | 0.0000 | 0.6000 | 0.6000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 4.000 | 7.000 | 6.000 | 10.000 | 1.000 | 3.6000 | 1.3000 | 0.4000 | 0.7000 | 0.6000 | 1.0000 | 0.1000 |
| season | 0.20 | 23 | 21.100 | 9.000 | 16.000 | 9.000 | 23.000 | 2.000 | 3.7969 | 1.1719 | 0.4219 | 0.7500 | 0.4219 | 1.0781 | 0.0938 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4580 |
| predicted_ER | 0.3610 |
| predicted_ERA | 3.2508 |
| predicted_H | 0.8200 |
| predicted_HR | 0.0970 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0160 |
| predicted_WHIP | 1.2778 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4580 | 0.1926 | model_form_blend |
| predicted_ER | 1.0000 | 0.3610 | 0.7312 | model_form_blend |
| predicted_ERA | - | 3.2508 | 3.2508 | form_only |
| predicted_H | 2.0000 | 0.8200 | 1.5037 | model_form_blend |
| predicted_HR | 1.0000 | 0.0970 | 0.6202 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0160 | 1.0067 | model_form_blend |
| predicted_WHIP | - | 1.2778 | 1.2778 | 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 | 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.80 |
| 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 | 12 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260531_MIL@HOU |
| game_type | full |
| mlbID | 682842 |
| playerID | 682842 |
| playerName | Abner Uribe |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-05-31 |
| sl_k_percent | 25.6 |
| sl_bb_percent | 10.5 |
| sl_woba | 0.275 |
| sl_xwoba | 0.29 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 3.6 |
| sl_hard_hit_percent | 36.4 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 39.8 |
| sl_avg_best_speed | 78.256965556 |
| sl_avg_hyper_speed | 93.442074074 |
| 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.273 | 0.000 | -0.273 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.455 | 0.000 | -0.455 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.727 | 0.000 | -0.727 | 0.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.955 | 1.000 | 0.245 | 0.200 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.227 | 2.000 | -0.227 | -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.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": "656730",
"player_name": "Trevor Megill",
"position": "Middle Reliever",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 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.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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 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 | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 2.000 | 0.000 | 7.000 | 0.000 | 0.0000 | 0.4000 | 0.0000 | 0.4000 | 0.0000 | 1.4000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 6.000 | 1.000 | 14.000 | 0.000 | 1.8000 | 0.7000 | 0.2000 | 0.6000 | 0.1000 | 1.4000 | 0.0000 |
| season | 0.20 | 21 | 21.000 | 6.000 | 14.000 | 6.000 | 27.000 | 0.000 | 2.5714 | 0.9524 | 0.2857 | 0.6667 | 0.2857 | 1.2857 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2430 |
| predicted_ER | 0.3180 |
| predicted_ERA | 2.8631 |
| predicted_H | 0.7570 |
| predicted_HR | 0.0730 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1380 |
| predicted_WHIP | 1.0000 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2430 | 0.1018 | model_form_blend |
| predicted_ER | 0.0000 | 0.3180 | 0.1332 | model_form_blend |
| predicted_ERA | - | 2.8631 | 2.8631 | form_only |
| predicted_H | 0.0000 | 0.7570 | 0.3172 | model_form_blend |
| predicted_HR | 0.0000 | 0.0730 | 0.0306 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1380 | 1.0578 | model_form_blend |
| predicted_WHIP | - | 1.0000 | 1.0000 | 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 | 22 |
| Season rows before report date | 22 |
| 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.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| Pitches | 21 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.29 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 13 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260531_MIL@HOU |
| game_type | full |
| mlbID | 656730 |
| playerID | 656730 |
| playerName | Trevor Megill |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-05-31 |
| sl_k_percent | 29.8 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.258 |
| sl_xwoba | 0.271 |
| sl_sweet_spot_percent | 28.8 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 46.2 |
| sl_whiff_percent | 34.4 |
| sl_swing_percent | 49.4 |
| sl_avg_best_speed | 82.10797625 |
| sl_avg_hyper_speed | 94.970470417 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | TEX 4 - 2 STL | TEX | 0.538 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | TEX 3 - 2 STL | TEX | - | 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.7000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5376 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 5.103 | 5.493 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 6 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 3 | 2 | 0.5376 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 4 | 2 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 4 | 2 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 3 | 2 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.601973524390244,
"base_low_score_probability": 0.42784552845528456,
"low_score_signal_threshold": 0.5078455284552845,
"low_score_signal_strength": 0.17412799593495942,
"confidence": 0.803494,
"factors": {
"environmental": 0.969,
"pitcher_form": 1.4520000000000002,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.4069880000000001
},
"prediction": "low_scoring",
"expected_total_runs": 6,
"pre_simulation_expected_total_runs": 6.7,
"low_score_model_expected_total_runs": 6.7,
"final_simulation_total_runs": 5,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 59,
"near_bucket_sample_size": 59,
"medium_bucket_sample_size": 68,
"wide_bucket_sample_size": 74,
"global_sample_size": 74,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5763,
"bayesian_hit_rate": 0.5584,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.7662,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5168,
"calibrated_pick_probability": 0.5376,
"predicted_side": "away"
}{
"applied": false,
"home": {
"team": "STL",
"games": 57,
"wins": 31,
"losses": 26,
"win_pct": 0.543859649122807,
"runs_scored": 247,
"runs_allowed": 257,
"run_differential": -10,
"run_differential_per_game": -0.17543859649122806,
"available": true
},
"away": {
"team": "TEX",
"games": 59,
"wins": 28,
"losses": 31,
"win_pct": 0.4745762711864407,
"runs_scored": 237,
"runs_allowed": 230,
"run_differential": 7,
"run_differential_per_game": 0.11864406779661017,
"available": true
},
"run_differential_edge_per_game": -0.2941,
"win_pct_edge": 0.0693,
"quality_edge": -0.1902,
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"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": "STL",
"final_score_winner": "TEX",
"pre_simulation_winner": "TEX",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "TEX 4 - 2 STL",
"winner": "TEX"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "TEX 3 - 2 STL",
"winner": "TEX"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 0,
"total_run_delta": -1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "STL",
"games": 57,
"wins": 31,
"losses": 26,
"win_pct": 0.543859649122807,
"runs_scored": 247,
"runs_allowed": 257,
"run_differential": -10,
"run_differential_per_game": -0.17543859649122806,
"available": true
},
"away": {
"team": "TEX",
"games": 59,
"wins": 28,
"losses": 31,
"win_pct": 0.4745762711864407,
"runs_scored": 237,
"runs_allowed": 230,
"run_differential": 7,
"run_differential_per_game": 0.11864406779661017,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.0751,
"final_margin": -0.0751,
"margin_cap": 1.5,
"season_quality_edge": 0.1902,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.507565,
"final_confidence": 0.507565,
"confidence_cap": 0.63,
"score_gap": 0.0751,
"calibration_sample_size": 59,
"calibration_empirical_hit_rate": 0.5763,
"calibration_bayesian_hit_rate": 0.5584,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.1902,
"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": 4,
"home_runs": 2,
"score_text": "TEX 4 - 2 STL",
"winner": "TEX"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "TEX 3 - 2 STL",
"winner": "TEX"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 0,
"total_run_delta": -1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 4,
"home_runs": 2,
"confidence": 0.537617,
"home_win_probability": 0.462383,
"away_win_probability": 0.537617,
"predicted_score_text": "TEX 4 - 2 STL",
"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": "TEX",
"original_runs": 3,
"run_delta": 0.5868,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 54.0,
"quality": 0.23283883554086218,
"contact": 0.19842444942530235,
"power": 0.11831358996541563,
"discipline": -0.03273062762130576,
"xwoba": 0.32301851851851854,
"recent_xwoba": 0.32301851851851854,
"barrel": 7.442592592592594,
"ab_hard_contact": 0.010899665269490443,
"ab_bat_speed": 69.74511229384547,
"ab_strikeout_rate": 0.22604796768864577,
"available_players": 9,
"top_players": [
{
"player_id": "607043",
"player_name": "Brandon Nimmo",
"position": "RF",
"weight": 8.0,
"quality": 1.2790869115811117,
"contact": 1.4720426125639228,
"power": 1.4586281292039527,
"discipline": 0.14344539736992562,
"xwoba": 0.391,
"recent_xwoba": 0.391,
"barrel": 12.9,
"ab_hard_contact": 0.5017054412218908,
"ab_bat_speed": 71.322872491764,
"ab_strikeout_rate": 0.19025157232704404,
"available": 1.0
},
{
"player_id": "673962",
"player_name": "Josh Jung",
"position": "3B",
"weight": 8.0,
"quality": 0.6967338953381113,
"contact": 1.2710856955738057,
"power": 0.4845612364931322,
"discipline": 0.28162554112554106,
"xwoba": 0.365,
"recent_xwoba": 0.365,
"barrel": 5.900000000000001,
"ab_hard_contact": 0.6337009203388204,
"ab_bat_speed": 70.08618944444444,
"ab_strikeout_rate": 0.16699999999999998,
"available": 1.0
},
{
"player_id": "643376",
"player_name": "Danny Jansen",
"position": "C",
"weight": 6.0,
"quality": -0.5608695650474821,
"contact": -1.3488103562515907,
"power": -0.8565228250682699,
"discipline": -0.3235993265993268,
"xwoba": 0.257,
"recent_xwoba": 0.257,
"barrel": 6.1,
"ab_hard_contact": -0.8066469775558927,
"ab_bat_speed": 67.77226080246913,
"ab_strikeout_rate": 0.2962962962962963,
"available": 1.0
},
{
"player_id": "670032",
"player_name": "Nicky Lopez",
"position": "2B",
"weight": 3.0,
"quality": -0.07656965100354186,
"contact": -1.5556571428571417,
"power": -1.5977714285714273,
"discipline": -0.47944588744588756,
"xwoba": 0.223,
"recent_xwoba": 0.223,
"barrel": 0.0,
"ab_hard_contact": -2.0,
"ab_bat_speed": 61.67933333333333,
"ab_strikeout_rate": 0.25,
"available": 1.0
},
{
"player_id": "592626",
"player_name": "Joc Pederson",
"position": "DH",
"weight": 5.0,
"quality": 0.2760150653125367,
"contact": 0.45433651271666414,
"power": 0.4354735317236703,
"discipline": 0.4132922077922076,
"xwoba": 0.344,
"recent_xwoba": 0.344,
"barrel": 9.5,
"ab_hard_contact": 0.005089682092410253,
"ab_bat_speed": 70.09404365079365,
"ab_strikeout_rate": 0.21433333333333335,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "700241",
"player_name": "Michael McGreevy",
"quality": -0.6077136068483558,
"contact": -1.0176775840216397,
"command": -0.31054511037294075,
"movement": -0.9123409905299025,
"xwoba": 0.368,
"whiff": 20.6,
"faced_est_woba": 0.37228427714411194,
"faced_launch_speed": 84.34636121132989,
"faced_strikeout_rate": 0.18865361691448645,
"faced_run_exp": 0.020405042763482192
}
},
"home": {
"team": "STL",
"original_runs": 2,
"run_delta": -0.0145,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 63.0,
"quality": 0.3442168326781893,
"contact": 0.4229361548314757,
"power": 0.24651413726382293,
"discipline": 0.144910850178763,
"xwoba": 0.34782539682539676,
"recent_xwoba": 0.34782539682539676,
"barrel": 7.739682539682538,
"ab_hard_contact": 0.35782620710561963,
"ab_bat_speed": 70.34632759788678,
"ab_strikeout_rate": 0.21122061755984745,
"available_players": 8,
"top_players": [
{
"player_id": "691023",
"player_name": "Jordan Walker",
"position": "RF",
"weight": 8.0,
"quality": 1.2180495334476742,
"contact": 1.3698251711760472,
"power": 1.7459337423336914,
"discipline": -0.2934818351583057,
"xwoba": 0.382,
"recent_xwoba": 0.382,
"barrel": 14.9,
"ab_hard_contact": 1.197151037149988,
"ab_bat_speed": 77.65222766884531,
"ab_strikeout_rate": 0.25653594771241833,
"available": 1.0
},
{
"player_id": "676475",
"player_name": "Alec Burleson",
"position": "1B",
"weight": 8.0,
"quality": 1.1382019692645855,
"contact": 1.3150984554897727,
"power": 1.2117455051434933,
"discipline": 0.2916787624140565,
"xwoba": 0.378,
"recent_xwoba": 0.378,
"barrel": 10.2,
"ab_hard_contact": 1.4417672457269861,
"ab_bat_speed": 71.2597854030501,
"ab_strikeout_rate": 0.15980392156862747,
"available": 1.0
},
{
"player_id": "687363",
"player_name": "Victor Scott II",
"position": "CF",
"weight": 5.0,
"quality": -0.6820645386401261,
"contact": -1.1719223882564216,
"power": -1.3223926551623029,
"discipline": -0.40733926218708827,
"xwoba": 0.258,
"recent_xwoba": 0.258,
"barrel": 1.0,
"ab_hard_contact": -1.2863292937222646,
"ab_bat_speed": 62.601780394524965,
"ab_strikeout_rate": 0.27753623188405796,
"available": 1.0
},
{
"player_id": "802139",
"player_name": "JJ Wetherholt",
"position": "2B",
"weight": 9.0,
"quality": 0.6786461970329427,
"contact": 0.8132463247708179,
"power": 0.6268291322895049,
"discipline": 0.4857277820218996,
"xwoba": 0.362,
"recent_xwoba": 0.362,
"barrel": 8.3,
"ab_hard_contact": 0.35334455055198294,
"ab_bat_speed": 70.76903297682709,
"ab_strikeout_rate": 0.18725490196078431,
"available": 1.0
},
{
"player_id": "691026",
"player_name": "Masyn Winn",
"position": "SS",
"weight": 8.0,
"quality": -0.49458801993024826,
"contact": -0.4180258307224912,
"power": -0.9837429371740392,
"discipline": 0.02517845117845099,
"xwoba": 0.298,
"recent_xwoba": 0.298,
"barrel": 2.7999999999999994,
"ab_hard_contact": -0.7224777910998292,
"ab_bat_speed": 68.20100000000001,
"ab_strikeout_rate": 0.1985185185185185,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "594798",
"player_name": "Jacob deGrom",
"quality": 0.0630707791351391,
"contact": -0.6087867116553387,
"command": 1.0717924055732704,
"movement": 1.0411363517961787,
"xwoba": 0.312,
"whiff": 33.9,
"faced_est_woba": 0.3160890654102836,
"faced_launch_speed": 86.09167804621849,
"faced_strikeout_rate": 0.28885609720392325,
"faced_run_exp": -0.011460965608291343
}
}
},
"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": 2,
"predicted_score_text": "TEX 4 - 2 STL",
"confidence": 0.537617,
"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": 2,
"score_text": "TEX 4 - 2 STL",
"winner": "TEX"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "TEX 3 - 2 STL",
"winner": "TEX"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 0,
"total_run_delta": -1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}Source: data/all_players_stats.csv embedded Savant hitter features. It adjusts team offense through expected production and contact quality, then records coverage so missing hitters are visible.
| Team | Applied | Offense Factor | Raw Avg Factor | Coverage Weight | Covered | Missing |
|---|---|---|---|---|---|---|
| Away TEX | True | 1.0170 | 1.0170 | 1 | 9 | 0 |
| Home STL | True | 1.0386 | 1.0386 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3B | Josh Jung | 67 | 1.0687 | 0.9158 | neutral | 0.3650 | 0.3090 | 0.4720 | 5.90 | 45.90 | 89.80 | 12.40 | 16.80 | 14.90 | 7.20 | -0.3143 |
| RF | Brandon Nimmo | 45 | 1.1343 | 1.7902 | positive_batter_regression | 0.3910 | 0.2970 | 0.5370 | 12.90 | 51.20 | 91.80 | 10.20 | 22.60 | 19.90 | 8.90 | 1.4857 |
| 1B | Jake Burger | 82 | 1.0162 | 0.2163 | neutral | 0.3050 | 0.2430 | 0.4140 | 9.90 | 48.70 | 90.40 | 12.30 | 36.30 | 27.20 | 5.70 | -0.3143 |
| DH | Joc Pederson | 157 | 1.0319 | 0.4247 | neutral | 0.3440 | 0.2420 | 0.4010 | 9.50 | 47.60 | 91.40 | 15.60 | 31.40 | 22.50 | 14.20 | -0.2857 |
| LF | Alejandro Osuna | 202 | 1.0019 | 0.0251 | neutral | 0.3350 | 0.2630 | 0.3210 | 0 | 33.30 | 88.40 | 5.10 | 15.10 | 13.50 | 11.50 | 0.3143 |
| SS | Ezequiel Duran | 56 | 1.0022 | 0.0294 | negative_batter_regression | 0.3130 | 0.2570 | 0.3830 | 6.80 | 40 | 90.30 | 13 | 30.30 | 23.90 | 8 | -1.0286 |
| CF | Evan Carter | 44 | 0.9912 | -0.1173 | neutral | 0.3010 | 0.2010 | 0.3470 | 7.90 | 38.90 | 88.20 | 19.30 | 25.40 | 22.10 | 13.10 | 0.2571 |
| C | Danny Jansen | 236 | 0.9554 | -0.5941 | neutral | 0.2570 | 0.1710 | 0.2800 | 6.10 | 34.10 | 87.60 | 21.30 | 26.10 | 28.30 | 8.70 | -0.4857 |
| 2B | Nicky Lopez | 285 | 0.9515 | -0.6463 | neutral | 0.2230 | 0.2000 | 0.2580 | 0 | 28.60 | 86 | -0.90 | 25 | 21.10 | 5.30 | -0.5143 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2B | JJ Wetherholt | 6 | 1.0755 | 1.0069 | neutral | 0.3620 | 0.2520 | 0.4570 | 8.30 | 47.40 | 90.80 | 17 | 22.60 | 17.40 | 11.10 | 0.6000 |
| C | Iván Herrera | 48 | 1.0579 | 0.7725 | neutral | 0.3640 | 0.2690 | 0.4260 | 7.30 | 42.20 | 89.60 | 5.90 | 20.70 | 17.30 | 13 | 0.0571 |
| RF | Jordan Walker | 5 | 1.1114 | 1.4852 | neutral | 0.3820 | 0.2830 | 0.5300 | 14.90 | 52.60 | 94.40 | 14.20 | 30.40 | 24.40 | 9 | -0.4286 |
| 1B | Alec Burleson | 69 | 1.1093 | 1.4576 | positive_batter_regression | 0.3780 | 0.2890 | 0.5290 | 10.20 | 47.20 | 91.50 | 11.90 | 21.80 | 15.90 | 8.80 | 0.9429 |
| LF | Bryan Torres | 308 | 1.0539 | 0.7192 | positive_batter_regression | 0.4300 | 0.3830 | 0.5530 | 5.60 | 31.60 | 86.80 | 15.80 | 17.80 | 12.50 | 8.30 | 1.9429 |
| SS | Masyn Winn | 123 | 0.9773 | -0.3028 | neutral | 0.2980 | 0.2510 | 0.3190 | 2.80 | 29.90 | 86.60 | 11.90 | 23.60 | 20.90 | 8.50 | 0.3143 |
| 3B | Nolan Gorman | 315 | 0.9986 | -0.0184 | neutral | 0.2910 | 0.2120 | 0.3730 | 9.10 | 43.80 | 89.20 | 22.20 | 36.50 | 30.20 | 10.70 | 0.3143 |
| DH | Jimmy Crooks | 369 | 1.0065 | 0.0860 | neutral | 0.3140 | 0.2460 | 0.3910 | 7.80 | 40.30 | 89.20 | 14 | 25 | 21.70 | 8.90 | 0 |
| CF | Victor Scott II | 516 | 0.9566 | -0.5785 | neutral | 0.2580 | 0.2130 | 0.2860 | 1 | 25.90 | 87.30 | 7.70 | 26.60 | 25.30 | 7.40 | 0.6571 |
{
"home": {
"applied": true,
"offense_factor": 1.0386,
"raw_average_factor": 1.0386,
"team_espn_average_rank": 195.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "2B",
"player_id": "802139",
"player_name": "JJ Wetherholt",
"offense_factor": 1.0755,
"quality_score": 1.0069,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "802139",
"espn_id": 4941056,
"player_name": "JJ Wetherholt",
"team": "STL",
"role": "batter",
"espn_rank": 6,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 6,
"gp_value": 56.0,
"gp_rank": 72,
"ab_value": 216.0,
"ab_rank": 40,
"r_value": 39.0,
"r_rank": 15,
"h_value": 54.0,
"h_rank": 64,
"avg_value": 0.25,
"avg_rank": 87.0,
"2b_value": 7.0,
"2b_rank": 170,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 9.0,
"hr_rank": 47,
"rbi_value": 25.0,
"rbi_rank": 101,
"tb_value": 88.0,
"tb_rank": 691,
"bb_value": 29.0,
"bb_rank": 38,
"so_value": 45.0,
"so_rank": 104,
"sb_value": 7.0,
"sb_rank": 46,
"obp_value": 0.3618677,
"obp_rank": "37",
"slg_value": 0.4074074,
"slg_rank": "92",
"ops_value": 0.7692751,
"ops_rank": 75.0,
"war_value": 2.91,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 237.0,
"k_percent": 17.4,
"bb_percent": 11.1,
"woba": 0.341,
"xwoba": 0.362,
"xba": 0.252,
"xslg": 0.457,
"sweet_spot_percent": 38.0,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 47.4,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 17.0,
"whiff_percent": 22.6,
"swing_percent": 44.1
},
"components": {
"expected_quality": 1.0731,
"regression_edge": 0.6,
"xwoba_edge": 1.6286,
"xba_edge": 0.3714,
"xslg_edge": 1.1857,
"barrel_edge": 0.3111,
"hard_hit_edge": 1.2,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": 0.7833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "671056",
"player_name": "Iván Herrera",
"offense_factor": 1.0579,
"quality_score": 0.7725,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671056",
"espn_id": 41889,
"player_name": "Ivan Herrera",
"team": "STL",
"role": "batter",
"espn_rank": 48,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 48,
"gp_value": 57.0,
"gp_rank": 55,
"ab_value": 211.0,
"ab_rank": 58,
"r_value": 35.0,
"r_rank": 37,
"h_value": 56.0,
"h_rank": 56,
"avg_value": 0.2654028,
"avg_rank": 61.0,
"2b_value": 12.0,
"2b_rank": 32,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 7.0,
"hr_rank": 73,
"rbi_value": 27.0,
"rbi_rank": 80,
"tb_value": 91.0,
"tb_rank": 405,
"bb_value": 34.0,
"bb_rank": 18,
"so_value": 44.0,
"so_rank": 113,
"sb_value": 2.0,
"sb_rank": 160,
"obp_value": 0.3914728,
"obp_rank": "14",
"slg_value": 0.4312796,
"slg_rank": "73",
"ops_value": 0.8227524,
"ops_rank": 44.0,
"war_value": 1.69,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 236.0,
"k_percent": 17.3,
"bb_percent": 13.0,
"woba": 0.362,
"xwoba": 0.364,
"xba": 0.269,
"xslg": 0.426,
"sweet_spot_percent": 30.1,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 42.2,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 5.9,
"whiff_percent": 20.7,
"swing_percent": 42.7
},
"components": {
"expected_quality": 0.889,
"regression_edge": 0.0571,
"xwoba_edge": 1.6857,
"xba_edge": 0.8571,
"xslg_edge": 0.7429,
"barrel_edge": 0.0889,
"hard_hit_edge": 0.4571,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": -0.5333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "691023",
"player_name": "Jordan Walker",
"offense_factor": 1.1114,
"quality_score": 1.4852,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691023",
"espn_id": 4684778,
"player_name": "Jordan Walker",
"team": "STL",
"role": "batter",
"espn_rank": 5,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 5,
"gp_value": 56.0,
"gp_rank": 72,
"ab_value": 214.0,
"ab_rank": 46,
"r_value": 39.0,
"r_rank": 15,
"h_value": 62.0,
"h_rank": 19,
"avg_value": 0.2897196,
"avg_rank": 26.0,
"2b_value": 11.0,
"2b_rank": 51,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 15.0,
"hr_rank": 10,
"rbi_value": 43.0,
"rbi_rank": 6,
"tb_value": 118.0,
"tb_rank": 416,
"bb_value": 21.0,
"bb_rank": 86,
"so_value": 58.0,
"so_rank": 36,
"sb_value": 7.0,
"sb_rank": 46,
"obp_value": 0.3571428,
"obp_rank": "43",
"slg_value": 0.5514018,
"slg_rank": "7",
"ops_value": 0.9085446,
"ops_rank": 12.0,
"war_value": 2.93,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 223.0,
"k_percent": 24.4,
"bb_percent": 9.0,
"woba": 0.397,
"xwoba": 0.382,
"xba": 0.283,
"xslg": 0.53,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 14.9,
"hard_hit_percent": 52.6,
"exit_velocity_avg": 94.4,
"launch_angle_avg": 14.2,
"whiff_percent": 30.4,
"swing_percent": 52.2
},
"components": {
"expected_quality": 1.7967,
"regression_edge": -0.4286,
"xwoba_edge": 2.2,
"xba_edge": 1.2571,
"xslg_edge": 2.2286,
"barrel_edge": 1.7778,
"hard_hit_edge": 1.9429,
"exit_velocity_edge": 2.24,
"sweet_spot_edge": 0.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "676475",
"player_name": "Alec Burleson",
"offense_factor": 1.1093,
"quality_score": 1.4576,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "676475",
"espn_id": 4345070,
"player_name": "Alec Burleson",
"team": "STL",
"role": "batter",
"espn_rank": 69,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 69,
"gp_value": 56.0,
"gp_rank": 72,
"ab_value": 217.0,
"ab_rank": 38,
"r_value": 26.0,
"r_rank": 93,
"h_value": 61.0,
"h_rank": 25,
"avg_value": 0.2811059,
"avg_rank": 40.0,
"2b_value": 13.0,
"2b_rank": 22,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 7.0,
"hr_rank": 73,
"rbi_value": 38.0,
"rbi_rank": 15,
"tb_value": 95.0,
"tb_rank": 582,
"bb_value": 22.0,
"bb_rank": 75,
"so_value": 38.0,
"so_rank": 151,
"sb_value": 2.0,
"sb_rank": 160,
"obp_value": 0.3497942,
"obp_rank": "49",
"slg_value": 0.437788,
"slg_rank": "61",
"ops_value": 0.7875822,
"ops_rank": 59.0,
"war_value": 1.43,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 224.0,
"k_percent": 15.9,
"bb_percent": 8.8,
"woba": 0.345,
"xwoba": 0.378,
"xba": 0.289,
"xslg": 0.529,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 47.2,
"exit_velocity_avg": 91.5,
"launch_angle_avg": 11.9,
"whiff_percent": 21.8,
"swing_percent": 49.9
},
"components": {
"expected_quality": 1.5414,
"regression_edge": 0.9429,
"xwoba_edge": 2.0857,
"xba_edge": 1.4286,
"xslg_edge": 2.2143,
"barrel_edge": 0.7333,
"hard_hit_edge": 1.1714,
"exit_velocity_edge": 1.08,
"sweet_spot_edge": 0.0667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "663494",
"player_name": "Bryan Torres",
"offense_factor": 1.0539,
"quality_score": 0.7192,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "663494",
"espn_id": 5125653,
"player_name": "Bryan Torres",
"team": "STL",
"role": "batter",
"espn_rank": 308,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 308,
"gp_value": 6.0,
"gp_rank": 487,
"ab_value": 22.0,
"ab_rank": 452,
"r_value": 1.0,
"r_rank": 464,
"h_value": 6.0,
"h_rank": 421,
"avg_value": 0.2727272,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 455,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 1.0,
"hr_rank": 317,
"rbi_value": 3.0,
"rbi_rank": 410,
"tb_value": 11.0,
"tb_rank": 1925,
"bb_value": 2.0,
"bb_rank": 415,
"so_value": 3.0,
"so_rank": 485,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3333333,
"obp_rank": "-",
"slg_value": 0.5,
"slg_rank": "-",
"ops_value": 0.8333333,
"ops_rank": null,
"war_value": 0.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 20.0,
"k_percent": 12.5,
"bb_percent": 8.3,
"woba": 0.362,
"xwoba": 0.43,
"xba": 0.383,
"xslg": 0.553,
"sweet_spot_percent": 52.6,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 31.6,
"exit_velocity_avg": 86.8,
"launch_angle_avg": 15.8,
"whiff_percent": 17.8,
"swing_percent": 42.9
},
"components": {
"expected_quality": 1.5421,
"regression_edge": 1.9429,
"xwoba_edge": 2.5,
"xba_edge": 2.5,
"xslg_edge": 2.5,
"barrel_edge": -0.2889,
"hard_hit_edge": -1.0571,
"exit_velocity_edge": -0.8,
"sweet_spot_edge": 2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "691026",
"player_name": "Masyn Winn",
"offense_factor": 0.9773,
"quality_score": -0.3028,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691026",
"espn_id": 4683365,
"player_name": "Masyn Winn",
"team": "STL",
"role": "batter",
"espn_rank": 123,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 123,
"gp_value": 51.0,
"gp_rank": 155,
"ab_value": 188.0,
"ab_rank": 122,
"r_value": 20.0,
"r_rank": 167,
"h_value": 44.0,
"h_rank": 125,
"avg_value": 0.2340425,
"avg_rank": 114.0,
"2b_value": 8.0,
"2b_rank": 139,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 1.0,
"hr_rank": 317,
"rbi_value": 20.0,
"rbi_rank": 155,
"tb_value": 59.0,
"tb_rank": 1235,
"bb_value": 18.0,
"bb_rank": 129,
"so_value": 45.0,
"so_rank": 104,
"sb_value": 5.0,
"sb_rank": 73,
"obp_value": 0.3116279,
"obp_rank": "118",
"slg_value": 0.3138297,
"slg_rank": "161",
"ops_value": 0.6254576,
"ops_rank": 148.0,
"war_value": 0.9,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 197.0,
"k_percent": 20.9,
"bb_percent": 8.5,
"woba": 0.287,
"xwoba": 0.298,
"xba": 0.251,
"xslg": 0.319,
"sweet_spot_percent": 31.9,
"barrel_batted_rate": 2.8,
"hard_hit_percent": 29.9,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 11.9,
"whiff_percent": 23.6,
"swing_percent": 42.0
},
"components": {
"expected_quality": -0.4443,
"regression_edge": 0.3143,
"xwoba_edge": -0.2,
"xba_edge": 0.3429,
"xslg_edge": -0.7857,
"barrel_edge": -0.9111,
"hard_hit_edge": -1.3,
"exit_velocity_edge": -0.88,
"sweet_spot_edge": -0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "669357",
"player_name": "Nolan Gorman",
"offense_factor": 0.9986,
"quality_score": -0.0184,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669357",
"espn_id": 41174,
"player_name": "Nolan Gorman",
"team": "STL",
"role": "batter",
"espn_rank": 315,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 315,
"gp_value": 55.0,
"gp_rank": 100,
"ab_value": 181.0,
"ab_rank": 133,
"r_value": 17.0,
"r_rank": 199,
"h_value": 38.0,
"h_rank": 169,
"avg_value": 0.2099447,
"avg_rank": 150.0,
"2b_value": 4.0,
"2b_rank": 260,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 6.0,
"hr_rank": 107,
"rbi_value": 25.0,
"rbi_rank": 101,
"tb_value": 60.0,
"tb_rank": 1066,
"bb_value": 22.0,
"bb_rank": 75,
"so_value": 63.0,
"so_rank": 26,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.2912621,
"obp_rank": "140",
"slg_value": 0.3314917,
"slg_rank": "151",
"ops_value": 0.6227538,
"ops_rank": 149.0,
"war_value": 0.03,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 193.0,
"k_percent": 30.2,
"bb_percent": 10.7,
"woba": 0.28,
"xwoba": 0.291,
"xba": 0.212,
"xslg": 0.373,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 43.8,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 22.2,
"whiff_percent": 36.5,
"swing_percent": 50.3
},
"components": {
"expected_quality": -0.0755,
"regression_edge": 0.3143,
"xwoba_edge": -0.4,
"xba_edge": -0.7714,
"xslg_edge": -0.0143,
"barrel_edge": 0.4889,
"hard_hit_edge": 0.6857,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 0.5167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "699625",
"player_name": "Jimmy Crooks",
"offense_factor": 1.0065,
"quality_score": 0.086,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "699625",
"espn_id": 4749675,
"player_name": "Jimmy Crooks",
"team": "STL",
"role": "batter",
"espn_rank": 369,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 369,
"gp_value": 1.0,
"gp_rank": 526,
"ab_value": 3.0,
"ab_rank": 523,
"r_value": 0.0,
"r_rank": 503,
"h_value": 0.0,
"h_rank": 520,
"avg_value": 0.0,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 455,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 0.0,
"hr_rank": 401,
"rbi_value": 0.0,
"rbi_rank": 487,
"tb_value": 0.0,
"tb_rank": 2494,
"bb_value": 0.0,
"bb_rank": 487,
"so_value": 1.0,
"so_rank": 511,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.0,
"obp_rank": "-",
"slg_value": 0.0,
"slg_rank": "-",
"ops_value": 0.0,
"ops_rank": null,
"war_value": -0.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 21.7,
"bb_percent": 8.9,
"woba": 0.314,
"xwoba": 0.314,
"xba": 0.246,
"xslg": 0.391,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 40.3,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 14.0,
"whiff_percent": 25.0,
"swing_percent": 47.2
},
"components": {
"expected_quality": 0.2223,
"regression_edge": 0.0,
"xwoba_edge": 0.2571,
"xba_edge": 0.2,
"xslg_edge": 0.2429,
"barrel_edge": 0.2,
"hard_hit_edge": 0.1857,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "687363",
"player_name": "Victor Scott II",
"offense_factor": 0.9566,
"quality_score": -0.5785,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687363",
"espn_id": 4807220,
"player_name": "Victor Scott II",
"team": "STL",
"role": "batter",
"espn_rank": 516,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 516,
"gp_value": 55.0,
"gp_rank": 100,
"ab_value": 140.0,
"ab_rank": 207,
"r_value": 18.0,
"r_rank": 182,
"h_value": 26.0,
"h_rank": 243,
"avg_value": 0.1857142,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 298,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 2.0,
"hr_rank": 255,
"rbi_value": 7.0,
"rbi_rank": 332,
"tb_value": 35.0,
"tb_rank": 1622,
"bb_value": 12.0,
"bb_rank": 212,
"so_value": 41.0,
"so_rank": 133,
"sb_value": 7.0,
"sb_rank": 46,
"obp_value": 0.2532467,
"obp_rank": "-",
"slg_value": 0.25,
"slg_rank": "-",
"ops_value": 0.5032467,
"ops_rank": null,
"war_value": -0.66,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 143.0,
"k_percent": 25.3,
"bb_percent": 7.4,
"woba": 0.235,
"xwoba": 0.258,
"xba": 0.213,
"xslg": 0.286,
"sweet_spot_percent": 31.5,
"barrel_batted_rate": 1.0,
"hard_hit_percent": 25.9,
"exit_velocity_avg": 87.3,
"launch_angle_avg": 7.7,
"whiff_percent": 26.6,
"swing_percent": 46.5
},
"components": {
"expected_quality": -1.1418,
"regression_edge": 0.6571,
"xwoba_edge": -1.3429,
"xba_edge": -0.7429,
"xslg_edge": -1.2571,
"barrel_edge": -1.3111,
"hard_hit_edge": -1.8714,
"exit_velocity_edge": -0.6,
"sweet_spot_edge": -0.3,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.017,
"raw_average_factor": 1.017,
"team_espn_average_rank": 130.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "3B",
"player_id": "673962",
"player_name": "Josh Jung",
"offense_factor": 1.0687,
"quality_score": 0.9158,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "673962",
"espn_id": 42437,
"player_name": "Josh Jung",
"team": "TEX",
"role": "batter",
"espn_rank": 67,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 67,
"gp_value": 54.0,
"gp_rank": 119,
"ab_value": 206.0,
"ab_rank": 79,
"r_value": 28.0,
"r_rank": 72,
"h_value": 65.0,
"h_rank": 6,
"avg_value": 0.3155339,
"avg_rank": 4.0,
"2b_value": 16.0,
"2b_rank": 6,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 7.0,
"hr_rank": 73,
"rbi_value": 25.0,
"rbi_rank": 101,
"tb_value": 102.0,
"tb_rank": 547,
"bb_value": 17.0,
"bb_rank": 140,
"so_value": 34.0,
"so_rank": 184,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.3716814,
"obp_rank": "30",
"slg_value": 0.4951456,
"slg_rank": "29",
"ops_value": 0.866827,
"ops_rank": 29.0,
"war_value": 1.49,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 203.0,
"k_percent": 14.9,
"bb_percent": 7.2,
"woba": 0.376,
"xwoba": 0.365,
"xba": 0.309,
"xslg": 0.472,
"sweet_spot_percent": 39.4,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 45.9,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 12.4,
"whiff_percent": 16.8,
"swing_percent": 47.8
},
"components": {
"expected_quality": 1.2052,
"regression_edge": -0.3143,
"xwoba_edge": 1.7143,
"xba_edge": 2.0,
"xslg_edge": 1.4,
"barrel_edge": -0.2222,
"hard_hit_edge": 0.9857,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": 1.0167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "607043",
"player_name": "Brandon Nimmo",
"offense_factor": 1.1343,
"quality_score": 1.7902,
"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": 45,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 45,
"gp_value": 57.0,
"gp_rank": 55,
"ab_value": 222.0,
"ab_rank": 24,
"r_value": 25.0,
"r_rank": 108,
"h_value": 57.0,
"h_rank": 46,
"avg_value": 0.2567567,
"avg_rank": 76.0,
"2b_value": 10.0,
"2b_rank": 72,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 7.0,
"hr_rank": 73,
"rbi_value": 21.0,
"rbi_rank": 141,
"tb_value": 92.0,
"tb_rank": 357,
"bb_value": 22.0,
"bb_rank": 75,
"so_value": 52.0,
"so_rank": 71,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.336,
"obp_rank": "77",
"slg_value": 0.4144144,
"slg_rank": "88",
"ops_value": 0.7504144,
"ops_rank": 81.0,
"war_value": 1.74,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 231.0,
"k_percent": 19.9,
"bb_percent": 8.9,
"woba": 0.339,
"xwoba": 0.391,
"xba": 0.297,
"xslg": 0.537,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 12.9,
"hard_hit_percent": 51.2,
"exit_velocity_avg": 91.8,
"launch_angle_avg": 10.2,
"whiff_percent": 22.6,
"swing_percent": 48.1
},
"components": {
"expected_quality": 1.8397,
"regression_edge": 1.4857,
"xwoba_edge": 2.4571,
"xba_edge": 1.6571,
"xslg_edge": 2.3286,
"barrel_edge": 1.3333,
"hard_hit_edge": 1.7429,
"exit_velocity_edge": 1.2,
"sweet_spot_edge": 0.2333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "669394",
"player_name": "Jake Burger",
"offense_factor": 1.0162,
"quality_score": 0.2163,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669394",
"espn_id": 39882,
"player_name": "Jake Burger",
"team": "TEX",
"role": "batter",
"espn_rank": 82,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 82,
"gp_value": 57.0,
"gp_rank": 55,
"ab_value": 215.0,
"ab_rank": 43,
"r_value": 29.0,
"r_rank": 66,
"h_value": 53.0,
"h_rank": 71,
"avg_value": 0.2465116,
"avg_rank": 93.0,
"2b_value": 11.0,
"2b_rank": 51,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 10.0,
"hr_rank": 41,
"rbi_value": 37.0,
"rbi_rank": 21,
"tb_value": 94.0,
"tb_rank": 561,
"bb_value": 15.0,
"bb_rank": 162,
"so_value": 62.0,
"so_rank": 28,
"sb_value": 1.0,
"sb_rank": 212,
"obp_value": 0.2974137,
"obp_rank": "132",
"slg_value": 0.4372093,
"slg_rank": "64",
"ops_value": 0.734623,
"ops_rank": 88.0,
"war_value": 1.24,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 211.0,
"k_percent": 27.2,
"bb_percent": 5.7,
"woba": 0.316,
"xwoba": 0.305,
"xba": 0.243,
"xslg": 0.414,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 48.7,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 12.3,
"whiff_percent": 36.3,
"swing_percent": 51.5
},
"components": {
"expected_quality": 0.3134,
"regression_edge": -0.3143,
"xwoba_edge": 0.0,
"xba_edge": 0.1143,
"xslg_edge": 0.5714,
"barrel_edge": 0.6667,
"hard_hit_edge": 1.3857,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": 0.05,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "592626",
"player_name": "Joc Pederson",
"offense_factor": 1.0319,
"quality_score": 0.4247,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592626",
"espn_id": 31392,
"player_name": "Joc Pederson",
"team": "TEX",
"role": "batter",
"espn_rank": 157,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 157,
"gp_value": 55.0,
"gp_rank": 100,
"ab_value": 143.0,
"ab_rank": 199,
"r_value": 23.0,
"r_rank": 124,
"h_value": 34.0,
"h_rank": 191,
"avg_value": 0.2377622,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 228,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 8.0,
"hr_rank": 61,
"rbi_value": 18.0,
"rbi_rank": 182,
"tb_value": 63.0,
"tb_rank": 918,
"bb_value": 26.0,
"bb_rank": 49,
"so_value": 38.0,
"so_rank": 151,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.3526011,
"obp_rank": "-",
"slg_value": 0.4405594,
"slg_rank": "-",
"ops_value": 0.7931605,
"ops_rank": null,
"war_value": 0.64,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 155.0,
"k_percent": 22.5,
"bb_percent": 14.2,
"woba": 0.354,
"xwoba": 0.344,
"xba": 0.242,
"xslg": 0.401,
"sweet_spot_percent": 34.3,
"barrel_batted_rate": 9.5,
"hard_hit_percent": 47.6,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 15.6,
"whiff_percent": 31.4,
"swing_percent": 44.3
},
"components": {
"expected_quality": 0.7475,
"regression_edge": -0.2857,
"xwoba_edge": 1.1143,
"xba_edge": 0.0857,
"xslg_edge": 0.3857,
"barrel_edge": 0.5778,
"hard_hit_edge": 1.2286,
"exit_velocity_edge": 1.04,
"sweet_spot_edge": 0.1667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "696030",
"player_name": "Alejandro Osuna",
"offense_factor": 1.0019,
"quality_score": 0.0251,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696030",
"espn_id": 4916547,
"player_name": "Alejandro Osuna",
"team": "TEX",
"role": "batter",
"espn_rank": 202,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 202,
"gp_value": 34.0,
"gp_rank": 295,
"ab_value": 82.0,
"ab_rank": 319,
"r_value": 10.0,
"r_rank": 296,
"h_value": 21.0,
"h_rank": 288,
"avg_value": 0.2560975,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 353,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 0.0,
"hr_rank": 401,
"rbi_value": 8.0,
"rbi_rank": 314,
"tb_value": 23.0,
"tb_rank": 2160,
"bb_value": 11.0,
"bb_rank": 230,
"so_value": 14.0,
"so_rank": 372,
"sb_value": 2.0,
"sb_rank": 160,
"obp_value": 0.3838383,
"obp_rank": "-",
"slg_value": 0.2804878,
"slg_rank": "-",
"ops_value": 0.6643261,
"ops_rank": null,
"war_value": 0.4,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 84.0,
"k_percent": 13.5,
"bb_percent": 11.5,
"woba": 0.324,
"xwoba": 0.335,
"xba": 0.263,
"xslg": 0.321,
"sweet_spot_percent": 31.8,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 33.3,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 5.1,
"whiff_percent": 15.1,
"swing_percent": 47.0
},
"components": {
"expected_quality": 0.0138,
"regression_edge": 0.3143,
"xwoba_edge": 0.8571,
"xba_edge": 0.6857,
"xslg_edge": -0.7571,
"barrel_edge": -1.5333,
"hard_hit_edge": -0.8143,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": -0.25,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "677649",
"player_name": "Ezequiel Duran",
"offense_factor": 1.0022,
"quality_score": 0.0294,
"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": 56,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 56,
"gp_value": 51.0,
"gp_rank": 155,
"ab_value": 163.0,
"ab_rank": 161,
"r_value": 25.0,
"r_rank": 108,
"h_value": 47.0,
"h_rank": 108,
"avg_value": 0.2883435,
"avg_rank": 30.0,
"2b_value": 12.0,
"2b_rank": 32,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 4.0,
"hr_rank": 163,
"rbi_value": 31.0,
"rbi_rank": 47,
"tb_value": 75.0,
"tb_rank": 649,
"bb_value": 14.0,
"bb_rank": 178,
"so_value": 43.0,
"so_rank": 122,
"sb_value": 5.0,
"sb_rank": 73,
"obp_value": 0.3407821,
"obp_rank": "65",
"slg_value": 0.4601226,
"slg_rank": "50",
"ops_value": 0.8009047,
"ops_rank": 53.0,
"war_value": 1.63,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 157.0,
"k_percent": 23.9,
"bb_percent": 8.0,
"woba": 0.349,
"xwoba": 0.313,
"xba": 0.257,
"xslg": 0.383,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 40.0,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 13.0,
"whiff_percent": 30.3,
"swing_percent": 49.4
},
"components": {
"expected_quality": 0.2154,
"regression_edge": -1.0286,
"xwoba_edge": 0.2286,
"xba_edge": 0.5143,
"xslg_edge": 0.1286,
"barrel_edge": -0.0222,
"hard_hit_edge": 0.1429,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": 0.2833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "694497",
"player_name": "Evan Carter",
"offense_factor": 0.9912,
"quality_score": -0.1173,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694497",
"espn_id": 4917921,
"player_name": "Evan Carter",
"team": "TEX",
"role": "batter",
"espn_rank": 44,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 44,
"gp_value": 56.0,
"gp_rank": 72,
"ab_value": 166.0,
"ab_rank": 157,
"r_value": 22.0,
"r_rank": 134,
"h_value": 29.0,
"h_rank": 223,
"avg_value": 0.1746987,
"avg_rank": 172.0,
"2b_value": 6.0,
"2b_rank": 195,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 6.0,
"hr_rank": 107,
"rbi_value": 18.0,
"rbi_rank": 182,
"tb_value": 57.0,
"tb_rank": 759,
"bb_value": 26.0,
"bb_rank": 49,
"so_value": 44.0,
"so_rank": 113,
"sb_value": 9.0,
"sb_rank": 28,
"obp_value": 0.2959183,
"obp_rank": "135",
"slg_value": 0.3433734,
"slg_rank": "140",
"ops_value": 0.6392917,
"ops_rank": 142.0,
"war_value": 1.75,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 188.0,
"k_percent": 22.1,
"bb_percent": 13.1,
"woba": 0.292,
"xwoba": 0.301,
"xba": 0.201,
"xslg": 0.347,
"sweet_spot_percent": 30.2,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 38.9,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 19.3,
"whiff_percent": 25.4,
"swing_percent": 40.9
},
"components": {
"expected_quality": -0.2014,
"regression_edge": 0.2571,
"xwoba_edge": -0.1143,
"xba_edge": -1.0857,
"xslg_edge": -0.3857,
"barrel_edge": 0.2222,
"hard_hit_edge": -0.0143,
"exit_velocity_edge": -0.24,
"sweet_spot_edge": -0.5167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "643376",
"player_name": "Danny Jansen",
"offense_factor": 0.9554,
"quality_score": -0.5941,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643376",
"espn_id": 35004,
"player_name": "Danny Jansen",
"team": "TEX",
"role": "batter",
"espn_rank": 236,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 236,
"gp_value": 39.0,
"gp_rank": 258,
"ab_value": 120.0,
"ab_rank": 233,
"r_value": 10.0,
"r_rank": 296,
"h_value": 21.0,
"h_rank": 288,
"avg_value": 0.175,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 195,
"3b_value": 1.0,
"3b_rank": 49,
"hr_value": 3.0,
"hr_rank": 201,
"rbi_value": 12.0,
"rbi_rank": 255,
"tb_value": 38.0,
"tb_rank": 1184,
"bb_value": 12.0,
"bb_rank": 212,
"so_value": 39.0,
"so_rank": 148,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.2773722,
"obp_rank": "-",
"slg_value": 0.3166666,
"slg_rank": "-",
"ops_value": 0.5940388,
"ops_rank": null,
"war_value": 0.24,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 126.0,
"k_percent": 28.3,
"bb_percent": 8.7,
"woba": 0.274,
"xwoba": 0.257,
"xba": 0.171,
"xslg": 0.28,
"sweet_spot_percent": 22.0,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 34.1,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 21.3,
"whiff_percent": 26.1,
"swing_percent": 44.8
},
"components": {
"expected_quality": -1.1271,
"regression_edge": -0.4857,
"xwoba_edge": -1.3714,
"xba_edge": -1.9429,
"xslg_edge": -1.3429,
"barrel_edge": -0.1778,
"hard_hit_edge": -0.7,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": -1.8833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "670032",
"player_name": "Nicky Lopez",
"offense_factor": 0.9515,
"quality_score": -0.6463,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670032",
"espn_id": 38106,
"player_name": "Nicky Lopez",
"team": "TEX",
"role": "batter",
"espn_rank": 285,
"espn_total_ranked": 533,
"metrics": {
"espn_rank": 285,
"gp_value": 9.0,
"gp_rank": 460,
"ab_value": 22.0,
"ab_rank": 452,
"r_value": 3.0,
"r_rank": 414,
"h_value": 5.0,
"h_rank": 438,
"avg_value": 0.2272727,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 455,
"3b_value": 0.0,
"3b_rank": 158,
"hr_value": 1.0,
"hr_rank": 317,
"rbi_value": 3.0,
"rbi_rank": 410,
"tb_value": 8.0,
"tb_rank": 2160,
"bb_value": 1.0,
"bb_rank": 443,
"so_value": 5.0,
"so_rank": 461,
"sb_value": 0.0,
"sb_rank": 309,
"obp_value": 0.2608695,
"obp_rank": "-",
"slg_value": 0.3636363,
"slg_rank": "-",
"ops_value": 0.6245058,
"ops_rank": null,
"war_value": 0.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 12.0,
"k_percent": 21.1,
"bb_percent": 5.3,
"woba": 0.241,
"xwoba": 0.223,
"xba": 0.2,
"xslg": 0.258,
"sweet_spot_percent": 35.7,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 28.6,
"exit_velocity_avg": 86.0,
"launch_angle_avg": -0.9,
"whiff_percent": 25.0,
"swing_percent": 52.6
},
"components": {
"expected_quality": -1.5864,
"regression_edge": -0.5143,
"xwoba_edge": -2.3429,
"xba_edge": -1.1143,
"xslg_edge": -1.6571,
"barrel_edge": -1.5333,
"hard_hit_edge": -1.4857,
"exit_velocity_edge": -1.12,
"sweet_spot_edge": 0.4,
"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 TEX | True | 130 | 0.0098 | 0.8560 | 0.9992 | 1.0729 | 0.9264 | 1.1026 | neutral | 0.3120 | 0.2910 | 29.40 | 5 | 33.90 | 11.50 | 46.20 | |
| Home STL | True | 43 | -0.5706 | 0.7600 | 1.0485 | 0.9574 | 0.9544 | 1.1013 | negative_pitcher_regression | 0.3680 | 0.2910 | 18 | 6.30 | 20.60 | 11.10 | 41.40 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away TEX | True | None | 88 | 92.99 | 2427 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1844 | |
| Home STL | True | None | 88 | 86.43 | 2207 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1828 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0369 |
| home_runs_vs_away_pitcher | 0.9993 |
| home_pitcher_quality_edge | -0.5804 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "700241",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 190.0,
"k_percent": 18.0,
"bb_percent": 6.3,
"woba": 0.291,
"xwoba": 0.368,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 11.1,
"hard_hit_percent": 41.4,
"avg_best_speed": 77.1921,
"avg_hyper_speed": 94.8812,
"whiff_percent": 20.6,
"swing_percent": 44.9
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.7691,
"command_and_miss": -0.4057,
"regression_edge": -2.0,
"xwoba_edge": -1.6,
"barrel_edge": -0.8667,
"hard_hit_edge": -0.4,
"whiff_edge": -0.7429,
"bb_edge": 0.75,
"pitch_design_score": -0.1828
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "700241",
"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": 86.43144299765488,
"release_spin_rate": 2207.237023849985,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 86.43144299765488,
"release_spin_rate": 2207.237023849985,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.4314,
"release_spin_rate": 2207.237,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1828,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.3055,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.5706,
"sample_weight": 0.76,
"run_prevention_factor": 1.0485,
"strikeout_factor": 0.9574,
"walk_factor": 0.9544,
"homer_factor": 1.1013,
"woba_minus_xwoba": -0.077,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "700241",
"espn_id": 4424141,
"player_name": "Michael McGreevy",
"team": "STL",
"role": "pitcher",
"espn_rank": 43,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 43,
"gp_value": 11.0,
"gp_rank": 291,
"gs_value": 11.0,
"gs_rank": 48,
"qs_value": 6.0,
"qs_rank": 22,
"era_value": 2.9834,
"era_rank": 21.0,
"w_value": 3.0,
"w_rank": 74,
"l_value": 4.0,
"l_rank": 34,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 60.1,
"ip_rank": 62,
"h_value": 51.0,
"h_rank": 80,
"er_value": 20.0,
"er_rank": 114,
"hr_value": 8.0,
"hr_rank": 48,
"bb_value": 15.0,
"bb_rank": 143,
"k_value": 43.0,
"k_rank": 105,
"k_per_9_value": 6.4143643,
"k_per_9_rank": 45,
"whip_value": 1.0939,
"whip_rank": 22.0,
"war_value": 1.47,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "594798",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 214.0,
"k_percent": 29.4,
"bb_percent": 5.0,
"woba": 0.291,
"xwoba": 0.312,
"sweet_spot_percent": 41.0,
"barrel_batted_rate": 11.5,
"hard_hit_percent": 46.2,
"avg_best_speed": 81.4042,
"avg_hyper_speed": 95.2279,
"whiff_percent": 33.9,
"swing_percent": 53.3
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.3895,
"command_and_miss": 1.0571,
"regression_edge": -0.6,
"xwoba_edge": 0.0,
"barrel_edge": -0.9556,
"hard_hit_edge": -1.0857,
"whiff_edge": 1.1571,
"bb_edge": 1.075,
"pitch_design_score": 0.1844
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "594798",
"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": 92.98838669045729,
"release_spin_rate": 2426.8027488277594,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 92.98838669045729,
"release_spin_rate": 2426.8027488277594,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9884,
"release_spin_rate": 2426.8027,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1844,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.3173,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0098,
"sample_weight": 0.856,
"run_prevention_factor": 0.9992,
"strikeout_factor": 1.0729,
"walk_factor": 0.9264,
"homer_factor": 1.1026,
"woba_minus_xwoba": -0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "594798",
"espn_id": 32796,
"player_name": "Jacob deGrom",
"team": "TEX",
"role": "pitcher",
"espn_rank": 130,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 130,
"gp_value": 11.0,
"gp_rank": 291,
"gs_value": 11.0,
"gs_rank": 48,
"qs_value": 4.0,
"qs_rank": 51,
"era_value": 3.7709,
"era_rank": 44.0,
"w_value": 3.0,
"w_rank": 74,
"l_value": 4.0,
"l_rank": 34,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 59.2,
"ip_rank": 67,
"h_value": 48.0,
"h_rank": 96,
"er_value": 25.0,
"er_rank": 73,
"hr_value": 13.0,
"hr_rank": 5,
"bb_value": 12.0,
"bb_rank": 199,
"k_value": 70.0,
"k_rank": 20,
"k_per_9_value": 10.55866,
"k_per_9_rank": 8,
"whip_value": 1.0055,
"whip_rank": 14.0,
"war_value": 0.66,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0369,
"home_runs_vs_away_pitcher": 0.9993,
"home_pitcher_quality_edge": -0.5804
},
"score_before": {
"away_runs": 2.0,
"home_runs": 2.0
},
"score_after": {
"away_runs": 2.0737,
"home_runs": 1.9986,
"home_win_probability": 0.4832
},
"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 TEX | 17-40 | 0.298 | 1.20 | 3.10 | -109 | cold | strong | |
| Home STL | 7-47 | 0.130 | 0.70 | 3 | -124 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away TEX | 28-31 | 0.475 | 7 | 0.119 | True |
| Home STL | 31-26 | 0.544 | -10 | -0.175 | True |
| Signal | - | - | -0.294 | -0.190 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target TEX | - | - | 4 | - | - | - | - |
| Game target STL | - | - | 2 | - | - | - | - |
| Player finalized TEX | 54 | 14 | 6 | 0 | 7 | 7 | 13 |
| Player finalized STL | 63 | 15 | 7 | 0 | 7 | 8 | 15 |
| Player model fractional TEX | 55.16 | 12.16 | 6.85 | 1.77 | 6.30 | 5.58 | 13.83 |
| Player model fractional STL | 63.09 | 15.01 | 7.08 | 1.70 | 7.05 | 6.43 | 14.96 |
| Simulation box TEX | 33 | 6 | 3 | 0 | 3 | 3 | 8 |
| Simulation box STL | 35 | 8 | 2 | 2 | 2 | 5 | 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 TEX | Starter | Jacob deGrom | 5.20 | 1 | 6 | 4 | 3 | 4.49 | 1.11 | True |
| Away TEX | Middle Reliever | Jacob Latz | 1.10 | 0 | 1 | 2 | 0 | 2.62 | 0.86 | True |
| Away TEX | Middle Reliever | Jakob Junis | 1 | 0 | 1 | 1 | 1 | 2.96 | 1.08 | True |
| Away TEX | Middle Reliever | Tyler Alexander | 0.20 | 0 | 1 | 0 | 1 | 6.10 | 1.60 | True |
| Away TEX | Middle Reliever | Chris Martin | 0.10 | 1 | 0 | 1 | 0 | 5.43 | 1.51 | True |
| Home STL | Starter | Michael McGreevy | 5.20 | 3 | 6 | 6 | 3 | 3.48 | 1.26 | True |
| Home STL | Middle Reliever | George Soriano | 1 | 0 | 0 | 0 | 0 | 3.29 | 1.11 | True |
| Home STL | Middle Reliever | JoJo Romero | 1.10 | 0 | 0 | 0 | 0 | 2.52 | 1.15 | True |
| Home STL | Middle Reliever | Riley O'Brien | 1 | 0 | 2 | 0 | 0 | 4.71 | 1.24 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | STL | batter | C | Iván Herrera | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 3.1790 | boost | worse |
| away | TEX | batter | 1B | Jake Burger | worse | 9 | 3 | 6 | 4 | 5 | predicted_RBI | 1.4800 | boost | better |
| away | TEX | batter | 3B | Josh Jung | worse | 11 | 5 | 6 | 4 | 7 | predicted_SO | 1.3810 | boost | worse |
| away | TEX | batter | 2B | Nicky Lopez | worse | 9 | 3 | 6 | 2 | 7 | predicted_AB | 1.2670 | boost | better |
| home | STL | batter | 3B | Nolan Gorman | worse | 11 | 2 | 9 | 3 | 8 | predicted_SO | -1.2190 | deboost | better |
| away | TEX | batter | LF | Alejandro Osuna | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | 1.1980 | boost | better |
| home | STL | batter | SS | Masyn Winn | worse | 10 | 3 | 7 | 4 | 6 | predicted_H | 1.1500 | boost | better |
| home | STL | batter | CF | Victor Scott II | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.1330 | boost | worse |
| away | TEX | batter | RF | Brandon Nimmo | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | 1.0400 | boost | better |
| away | TEX | batter | DH | Joc Pederson | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | 1.0130 | boost | better |
| home | STL | batter | RF | Jordan Walker | better | 11 | 8 | 3 | 9 | 2 | predicted_H | 1.0100 | boost | better |
| away | TEX | pitcher | Starter | Jacob deGrom | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 1.0000 | boost | better |
| away | TEX | pitcher | Middle Reliever | Jakob Junis | worse | 1 | 0 | 1 | 0 | 1 | predicted_SO | -1.0000 | deboost | worse |
| home | STL | batter | DH | Jimmy Crooks | worse | 8 | 2 | 6 | 3 | 5 | predicted_BB | 1.0000 | boost | better |
| home | STL | batter | 2B | JJ Wetherholt | better | 11 | 7 | 4 | 6 | 5 | predicted_H | 0.9400 | boost | better |
| home | STL | batter | LF | Bryan Torres | worse | 10 | 5 | 5 | 4 | 6 | predicted_H | -0.8800 | deboost | worse |
| home | STL | batter | 1B | Alec Burleson | worse | 9 | 2 | 7 | 3 | 6 | predicted_SO | -0.7400 | deboost | better |
| away | TEX | batter | CF | Evan Carter | worse | 11 | 4 | 7 | 3 | 8 | predicted_H | 0.7300 | boost | better |
| away | TEX | batter | C | Danny Jansen | worse | 9 | 1 | 8 | 1 | 8 | predicted_BB | 0.6520 | boost | better |
| away | TEX | batter | SS | Ezequiel Duran | worse | 8 | 2 | 6 | 1 | 7 | predicted_R | -0.5270 | deboost | worse |
| away | TEX | pitcher | Middle Reliever | Tyler Alexander | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | STL | pitcher | Starter | Michael McGreevy | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | TEX | pitcher | Middle Reliever | Jacob Latz | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | TEX | pitcher | Middle Reliever | Chris Martin | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | STL | pitcher | Middle Reliever | JoJo Romero | 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 | Jacob deGrom |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0098 |
| ESPN Rank | 130 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1844 |
| Avg Velo | 92.9884 |
| Avg Spin | 2426.8027 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 1 |
| Pre H | 4 |
| Pre BB | 3 |
| Pre SO | 6 |
| Season ERA | 3.7709 |
| Season WHIP | 1.0056 |
| Role Avg IP | 5.4240 |
| Recent Avg IP | 5.6670 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 65,
"wins": 32,
"losses": 33,
"win_pct": 0.4923,
"runs_scored": 268.0,
"runs_allowed": 257.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1692,
"avg_runs_scored": 4.1231,
"avg_runs_allowed": 3.9538,
"offense_index": 0.9306,
"defense_index": 1.1206,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 5.1,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.0205
},
"opponent": {
"team": "STL",
"games": 66,
"wins": 37,
"losses": 29,
"win_pct": 0.5606,
"runs_scored": 273.0,
"runs_allowed": 270.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0455,
"avg_runs_scored": 4.1364,
"avg_runs_allowed": 4.0909,
"offense_index": 0.9336,
"defense_index": 1.083,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 3.3,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0128
},
"edges": {
"quality_edge": -0.0077,
"offense_edge": -0.0694,
"opponent_offense_edge": -0.0664,
"defense_strength": 0.1206,
"opponent_defense_weakness": -0.083,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.006,
"run_prevention": 0.9777,
"strikeout": 1.0051
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "594798",
"profile": {
"available": true,
"pitcher_id": "594798",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 214.0,
"k_percent": 29.4,
"bb_percent": 5.0,
"woba": 0.291,
"xwoba": 0.312,
"sweet_spot_percent": 41.0,
"barrel_batted_rate": 11.5,
"hard_hit_percent": 46.2,
"avg_best_speed": 81.4042,
"avg_hyper_speed": 95.2279,
"whiff_percent": 33.9,
"swing_percent": 53.3
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.3895,
"command_and_miss": 1.0571,
"regression_edge": -0.6,
"xwoba_edge": 0.0,
"barrel_edge": -0.9556,
"hard_hit_edge": -1.0857,
"whiff_edge": 1.1571,
"bb_edge": 1.075,
"pitch_design_score": 0.1844
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "594798",
"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": 92.98838669045729,
"release_spin_rate": 2426.8027488277594,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 92.98838669045729,
"release_spin_rate": 2426.8027488277594,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9884,
"release_spin_rate": 2426.8027,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1844,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.3173,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0098,
"sample_weight": 0.856,
"run_prevention_factor": 0.9992,
"strikeout_factor": 1.0729,
"walk_factor": 0.9264,
"homer_factor": 1.1026,
"woba_minus_xwoba": -0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "594798",
"espn_id": 32796,
"player_name": "Jacob deGrom",
"team": "TEX",
"role": "pitcher",
"espn_rank": 130,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 130,
"gp_value": 11.0,
"gp_rank": 291,
"gs_value": 11.0,
"gs_rank": 48,
"qs_value": 4.0,
"qs_rank": 51,
"era_value": 3.7709,
"era_rank": 44.0,
"w_value": 3.0,
"w_rank": 74,
"l_value": 4.0,
"l_rank": 34,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 59.2,
"ip_rank": 67,
"h_value": 48.0,
"h_rank": 96,
"er_value": 25.0,
"er_rank": 73,
"hr_value": 13.0,
"hr_rank": 5,
"bb_value": 12.0,
"bb_rank": 199,
"k_value": 70.0,
"k_rank": 20,
"k_per_9_value": 10.55866,
"k_per_9_rank": 8,
"whip_value": 1.0055,
"whip_rank": 14.0,
"war_value": 0.66,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9993,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 0.9993,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.937,
"adjusted": 1
},
"predicted_HR": {
"original": 2.0,
"factor": 1.0878,
"adjusted": 2
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0624,
"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": 55.0,
"ER": 22,
"H": 42,
"BB": 12,
"SO": 63,
"HR": 12,
"ERA": 3.6,
"WHIP": 0.9818181818181818,
"K9": 10.309090909090909,
"HR9": 1.9636363636363636,
"games_pitched": 10,
"quality_starts": 4,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-27T00:00:00"
}{
"available": true,
"pitcher_id": "594798",
"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": 92.98838669045729,
"release_spin_rate": 2426.8027488277594,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 92.98838669045729,
"release_spin_rate": 2426.8027488277594,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9884,
"release_spin_rate": 2426.8027,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1844,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.3173,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": "594798",
"report_date": "20260601_T",
"season_year": 2026,
"rows_used": 11,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.1,
"ER": 18.0,
"R": 18.0,
"H": 25.0,
"BB": 5.0,
"SO": 30.0,
"HR": 9.0,
"BF": 115.0,
"Pitches": 444.0
},
"per_game": {
"IP": 5.2,
"ER": 3.6,
"R": 3.6,
"H": 5.0,
"BB": 1.0,
"SO": 6.0,
"HR": 1.8,
"BF": 23.0,
"Pitches": 88.8
},
"rates": {
"ERA": 5.7176,
"WHIP": 1.0588,
"ER_per_IP": 0.63529,
"H_per_IP": 0.88235,
"BB_per_IP": 0.17647,
"SO_per_IP": 1.05882,
"HR_per_IP": 0.31765
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 55.0,
"ER": 22.0,
"R": 22.0,
"H": 42.0,
"BB": 12.0,
"SO": 63.0,
"HR": 12.0,
"BF": 218.0,
"Pitches": 885.0
},
"per_game": {
"IP": 5.1,
"ER": 2.2,
"R": 2.2,
"H": 4.2,
"BB": 1.2,
"SO": 6.3,
"HR": 1.2,
"BF": 21.8,
"Pitches": 88.5
},
"rates": {
"ERA": 3.6,
"WHIP": 0.9818,
"ER_per_IP": 0.4,
"H_per_IP": 0.76364,
"BB_per_IP": 0.21818,
"SO_per_IP": 1.14545,
"HR_per_IP": 0.21818
}
},
"season": {
"games": 11,
"totals": {
"IP": 59.2,
"ER": 25.0,
"R": 25.0,
"H": 48.0,
"BB": 12.0,
"SO": 70.0,
"HR": 13.0,
"BF": 238.0,
"Pitches": 964.0
},
"per_game": {
"IP": 5.1,
"ER": 2.2727,
"R": 2.2727,
"H": 4.3636,
"BB": 1.0909,
"SO": 6.3636,
"HR": 1.1818,
"BF": 21.6364,
"Pitches": 87.6364
},
"rates": {
"ERA": 3.7709,
"WHIP": 1.0056,
"ER_per_IP": 0.41899,
"H_per_IP": 0.80447,
"BB_per_IP": 0.20112,
"SO_per_IP": 1.17318,
"HR_per_IP": 0.21788
}
}
},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 2.766,
"predicted_H": 4.789,
"predicted_BB": 1.385,
"predicted_SO": 5.865,
"predicted_HR": 1.233,
"predicted_ERA": 4.4935,
"predicted_WHIP": 1.1142
}
}{
"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.2,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 2.766,
"final": 1.9147,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 4.789,
"final": 4.4087,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.385,
"final": 2.1635,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 5.865,
"final": 5.448,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 1.233,
"final": 1.6027,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.4935,
"final": 4.4935,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1142,
"final": 1.1142,
"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.2016 |
| ESPN Rank | 113 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0148 |
| Avg Velo | 89.4300 |
| Avg Spin | 2331.4174 |
| 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 | 1.0385 |
| Season WHIP | 0.4615 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 65,
"wins": 32,
"losses": 33,
"win_pct": 0.4923,
"runs_scored": 268.0,
"runs_allowed": 257.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1692,
"avg_runs_scored": 4.1231,
"avg_runs_allowed": 3.9538,
"offense_index": 0.9306,
"defense_index": 1.1206,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 5.1,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.0205
},
"opponent": {
"team": "STL",
"games": 66,
"wins": 37,
"losses": 29,
"win_pct": 0.5606,
"runs_scored": 273.0,
"runs_allowed": 270.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0455,
"avg_runs_scored": 4.1364,
"avg_runs_allowed": 4.0909,
"offense_index": 0.9336,
"defense_index": 1.083,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 3.3,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0128
},
"edges": {
"quality_edge": -0.0077,
"offense_edge": -0.0694,
"opponent_offense_edge": -0.0664,
"defense_strength": 0.1206,
"opponent_defense_weakness": -0.083,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.006,
"run_prevention": 0.9777,
"strikeout": 1.0051
},
"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": 84.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": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.9346,
"command_and_miss": 0.4836,
"regression_edge": -2.0,
"xwoba_edge": 1.4571,
"barrel_edge": -0.1556,
"hard_hit_edge": -1.2857,
"whiff_edge": 0.3429,
"bb_edge": 0.95,
"pitch_design_score": -0.0148
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656641",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 89.43001629925374,
"release_spin_rate": 2331.4173993158543,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 89.43001629925374,
"release_spin_rate": 2331.4173993158543,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.43,
"release_spin_rate": 2331.4174,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0148,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1061,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2016,
"sample_weight": 0.45,
"run_prevention_factor": 0.9829,
"strikeout_factor": 1.0131,
"walk_factor": 0.9658,
"homer_factor": 1.0091,
"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": 113,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 113,
"gp_value": 21.0,
"gp_rank": 119,
"gs_value": 1.0,
"gs_rank": 220,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.0769,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 7.0,
"sv_rank": 16,
"hld_value": 2.0,
"hld_rank": 154,
"ip_value": 26.0,
"ip_rank": 216,
"h_value": 11.0,
"h_rank": 417,
"er_value": 6.0,
"er_rank": 389,
"hr_value": 2.0,
"hr_rank": 258,
"bb_value": 5.0,
"bb_rank": 423,
"k_value": 24.0,
"k_rank": 249,
"k_per_9_value": 8.307693,
"k_per_9_rank": 31,
"whip_value": 0.6153,
"whip_rank": null,
"war_value": 0.73,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9923,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9923,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9846,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0041,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0059,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 12.1,
"ER": 1,
"H": 4,
"BB": 1,
"SO": 12,
"HR": 1,
"ERA": 0.7297297297297298,
"WHIP": 0.40540540540540543,
"K9": 8.756756756756758,
"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-31T00:00:00"
}{
"available": true,
"pitcher_id": "656641",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 89.43001629925374,
"release_spin_rate": 2331.4173993158543,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 89.43001629925374,
"release_spin_rate": 2331.4173993158543,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.43,
"release_spin_rate": 2331.4174,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0148,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1061,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.131,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5065,
"prior_weight": 0.4935
},
"role": "pitcher",
"player_id": "656641",
"report_date": "20260601_T",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.1,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 0.0,
"SO": 8.0,
"HR": 1.0,
"BF": 25.0,
"Pitches": 90.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.0,
"SO": 1.6,
"HR": 0.2,
"BF": 5.0,
"Pitches": 18.0
},
"rates": {
"ERA": 1.2273,
"WHIP": 0.4091,
"ER_per_IP": 0.13636,
"H_per_IP": 0.40909,
"BB_per_IP": 0.0,
"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": 4.0,
"BB": 1.0,
"SO": 14.0,
"HR": 1.0,
"BF": 45.0,
"Pitches": 181.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1,
"R": 0.1,
"H": 0.4,
"BB": 0.1,
"SO": 1.4,
"HR": 0.1,
"BF": 4.5,
"Pitches": 18.1
},
"rates": {
"ERA": 0.675,
"WHIP": 0.375,
"ER_per_IP": 0.075,
"H_per_IP": 0.3,
"BB_per_IP": 0.075,
"SO_per_IP": 1.05,
"HR_per_IP": 0.075
}
},
"season": {
"games": 20,
"totals": {
"IP": 26.0,
"ER": 3.0,
"R": 3.0,
"H": 8.0,
"BB": 4.0,
"SO": 24.0,
"HR": 2.0,
"BF": 91.0,
"Pitches": 380.0
},
"per_game": {
"IP": 1.1,
"ER": 0.15,
"R": 0.15,
"H": 0.4,
"BB": 0.2,
"SO": 1.2,
"HR": 0.1,
"BF": 4.55,
"Pitches": 19.0
},
"rates": {
"ERA": 1.0385,
"WHIP": 0.4615,
"ER_per_IP": 0.11538,
"H_per_IP": 0.30769,
"BB_per_IP": 0.15385,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.07692
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.388,
"predicted_H": 0.862,
"predicted_BB": 0.281,
"predicted_SO": 1.323,
"predicted_HR": 0.158,
"predicted_ERA": 2.6206,
"predicted_WHIP": 0.8572
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5585,
"form_weight": 0.4415,
"form_reliability": 0.5065,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.131,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5065,
"prior_weight": 0.4935
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.388,
"final": 0.1713,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.862,
"final": 1.4976,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.281,
"final": 0.1241,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.323,
"final": 1.1426,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.158,
"final": 0.0698,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6206,
"final": 2.6206,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8572,
"final": 0.8572,
"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.0594 |
| ESPN Rank | 119 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2006 |
| Avg Velo | 86.1137 |
| Avg Spin | 2057.1763 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 1.8243 |
| Season WHIP | 0.8108 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 65,
"wins": 32,
"losses": 33,
"win_pct": 0.4923,
"runs_scored": 268.0,
"runs_allowed": 257.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1692,
"avg_runs_scored": 4.1231,
"avg_runs_allowed": 3.9538,
"offense_index": 0.9306,
"defense_index": 1.1206,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 5.1,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.0205
},
"opponent": {
"team": "STL",
"games": 66,
"wins": 37,
"losses": 29,
"win_pct": 0.5606,
"runs_scored": 273.0,
"runs_allowed": 270.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0455,
"avg_runs_scored": 4.1364,
"avg_runs_allowed": 4.0909,
"offense_index": 0.9336,
"defense_index": 1.083,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 3.3,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0128
},
"edges": {
"quality_edge": -0.0077,
"offense_edge": -0.0694,
"opponent_offense_edge": -0.0664,
"defense_strength": 0.1206,
"opponent_defense_weakness": -0.083,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.006,
"run_prevention": 0.9777,
"strikeout": 1.0051
},
"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": 86.0,
"k_percent": 15.8,
"bb_percent": 5.3,
"woba": 0.209,
"xwoba": 0.295,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 4.1,
"hard_hit_percent": 30.1,
"avg_best_speed": 76.0592,
"avg_hyper_speed": 92.7798,
"whiff_percent": 17.3,
"swing_percent": 47.3
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.9288,
"command_and_miss": -0.6621,
"regression_edge": -2.0,
"xwoba_edge": 0.4857,
"barrel_edge": 0.6889,
"hard_hit_edge": 1.2143,
"whiff_edge": -1.2143,
"bb_edge": 1.0,
"pitch_design_score": -0.2006
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "596001",
"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": 86.113672875508,
"release_spin_rate": 2057.1763194572372,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 86.113672875508,
"release_spin_rate": 2057.1763194572372,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1137,
"release_spin_rate": 2057.1763,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2006,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.4326,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0594,
"sample_weight": 0.45,
"run_prevention_factor": 0.995,
"strikeout_factor": 0.9607,
"walk_factor": 0.964,
"homer_factor": 0.9468,
"woba_minus_xwoba": -0.086,
"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": 119,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 119,
"gp_value": 21.0,
"gp_rank": 119,
"gs_value": 1.0,
"gs_rank": 220,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 1.8243,
"era_rank": null,
"w_value": 0.0,
"w_rank": 368,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 3.0,
"sv_rank": 37,
"hld_value": 5.0,
"hld_rank": 72,
"ip_value": 24.2,
"ip_rank": 247,
"h_value": 15.0,
"h_rank": 349,
"er_value": 5.0,
"er_rank": 432,
"hr_value": 0.0,
"hr_rank": 529,
"bb_value": 5.0,
"bb_rank": 423,
"k_value": 15.0,
"k_rank": 360,
"k_per_9_value": 5.472973,
"k_per_9_rank": 39,
"whip_value": 0.8108,
"whip_rank": null,
"war_value": 0.7,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9978,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9978,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9838,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9761,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9823,
"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": 2,
"H": 9,
"BB": 1,
"SO": 9,
"HR": 0,
"ERA": 1.4594594594594597,
"WHIP": 0.8108108108108109,
"K9": 6.567567567567568,
"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-30T00:00:00"
}{
"available": true,
"pitcher_id": "596001",
"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": 86.113672875508,
"release_spin_rate": 2057.1763194572372,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 86.113672875508,
"release_spin_rate": 2057.1763194572372,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1137,
"release_spin_rate": 2057.1763,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2006,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.4326,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.868,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4933,
"prior_weight": 0.5067
},
"role": "pitcher",
"player_id": "596001",
"report_date": "20260601_T",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 0.0,
"SO": 6.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 79.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.0,
"SO": 1.2,
"HR": 0.0,
"BF": 4.4,
"Pitches": 15.8
},
"rates": {
"ERA": 1.5882,
"WHIP": 0.8824,
"ER_per_IP": 0.17647,
"H_per_IP": 0.88235,
"BB_per_IP": 0.0,
"SO_per_IP": 1.05882,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.1,
"ER": 2.0,
"R": 2.0,
"H": 9.0,
"BB": 1.0,
"SO": 9.0,
"HR": 0.0,
"BF": 47.0,
"Pitches": 167.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 0.9,
"BB": 0.1,
"SO": 0.9,
"HR": 0.0,
"BF": 4.7,
"Pitches": 16.7
},
"rates": {
"ERA": 1.4595,
"WHIP": 0.8108,
"ER_per_IP": 0.16216,
"H_per_IP": 0.72973,
"BB_per_IP": 0.08108,
"SO_per_IP": 0.72973,
"HR_per_IP": 0.0
}
},
"season": {
"games": 21,
"totals": {
"IP": 24.2,
"ER": 5.0,
"R": 5.0,
"H": 15.0,
"BB": 5.0,
"SO": 15.0,
"HR": 0.0,
"BF": 95.0,
"Pitches": 330.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2381,
"R": 0.2381,
"H": 0.7143,
"BB": 0.2381,
"SO": 0.7143,
"HR": 0.0,
"BF": 4.5238,
"Pitches": 15.7143
},
"rates": {
"ERA": 1.8243,
"WHIP": 0.8108,
"ER_per_IP": 0.2027,
"H_per_IP": 0.60811,
"BB_per_IP": 0.2027,
"SO_per_IP": 0.60811,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.358,
"predicted_H": 0.941,
"predicted_BB": 0.241,
"predicted_SO": 0.979,
"predicted_HR": 0.074,
"predicted_ERA": 2.9571,
"predicted_WHIP": 1.084
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5641,
"form_weight": 0.4359,
"form_reliability": 0.4933,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.868,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4933,
"prior_weight": 0.5067
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.358,
"final": 0.1561,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.941,
"final": 0.9743,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.241,
"final": 0.6691,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.979,
"final": 1.5549,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.074,
"final": 0.0323,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9571,
"final": 2.9571,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.084,
"final": 1.084,
"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.1632 |
| ESPN Rank | 316 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1594 |
| Avg Velo | 86.8483 |
| Avg Spin | 2085.0610 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 3.2400 |
| Season WHIP | 1.4400 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 65,
"wins": 32,
"losses": 33,
"win_pct": 0.4923,
"runs_scored": 268.0,
"runs_allowed": 257.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1692,
"avg_runs_scored": 4.1231,
"avg_runs_allowed": 3.9538,
"offense_index": 0.9306,
"defense_index": 1.1206,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 5.1,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.0205
},
"opponent": {
"team": "STL",
"games": 66,
"wins": 37,
"losses": 29,
"win_pct": 0.5606,
"runs_scored": 273.0,
"runs_allowed": 270.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0455,
"avg_runs_scored": 4.1364,
"avg_runs_allowed": 4.0909,
"offense_index": 0.9336,
"defense_index": 1.083,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 3.3,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0128
},
"edges": {
"quality_edge": -0.0077,
"offense_edge": -0.0694,
"opponent_offense_edge": -0.0664,
"defense_strength": 0.1206,
"opponent_defense_weakness": -0.083,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.006,
"run_prevention": 0.9777,
"strikeout": 1.0051
},
"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": 101.0,
"k_percent": 18.0,
"bb_percent": 8.1,
"woba": 0.338,
"xwoba": 0.283,
"sweet_spot_percent": 25.0,
"barrel_batted_rate": 2.5,
"hard_hit_percent": 27.5,
"avg_best_speed": 75.1163,
"avg_hyper_speed": 92.5396,
"whiff_percent": 16.5,
"swing_percent": 44.4
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.7152,
"command_and_miss": -0.7007,
"regression_edge": 1.5714,
"xwoba_edge": 0.8286,
"barrel_edge": 1.0444,
"hard_hit_edge": 1.5857,
"whiff_edge": -1.3286,
"bb_edge": 0.3,
"pitch_design_score": -0.1594
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641302",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 86.84825383466749,
"release_spin_rate": 2085.060993055461,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 86.84825383466749,
"release_spin_rate": 2085.060993055461,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8483,
"release_spin_rate": 2085.061,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1594,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1388,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1632,
"sample_weight": 0.45,
"run_prevention_factor": 0.9861,
"strikeout_factor": 0.9643,
"walk_factor": 0.9892,
"homer_factor": 0.9227,
"woba_minus_xwoba": 0.055,
"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": 316,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 316,
"gp_value": 26.0,
"gp_rank": 31,
"gs_value": 1.0,
"gs_rank": 220,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 3.24,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 2.0,
"sv_rank": 50,
"hld_value": 5.0,
"hld_rank": 72,
"ip_value": 25.0,
"ip_rank": 239,
"h_value": 28.0,
"h_rank": 164,
"er_value": 9.0,
"er_rank": 287,
"hr_value": 2.0,
"hr_rank": 258,
"bb_value": 8.0,
"bb_rank": 302,
"k_value": 20.0,
"k_rank": 296,
"k_per_9_value": 7.2000003,
"k_per_9_rank": 33,
"whip_value": 1.44,
"whip_rank": null,
"war_value": 0.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9937,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9937,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9951,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9652,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9839,
"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": 9,
"BB": 4,
"SO": 8,
"HR": 1,
"ERA": 5.3999999999999995,
"WHIP": 1.5599999999999998,
"K9": 8.639999999999999,
"HR9": 1.0799999999999998,
"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-30T00:00:00"
}{
"available": true,
"pitcher_id": "641302",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 86.84825383466749,
"release_spin_rate": 2085.060993055461,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 86.84825383466749,
"release_spin_rate": 2085.060993055461,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8483,
"release_spin_rate": 2085.061,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1594,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1388,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.934,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4967,
"prior_weight": 0.5033
},
"role": "pitcher",
"player_id": "641302",
"report_date": "20260601_T",
"season_year": 2026,
"rows_used": 26,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.0,
"ER": 4.0,
"R": 5.0,
"H": 5.0,
"BB": 2.0,
"SO": 3.0,
"HR": 1.0,
"BF": 16.0,
"Pitches": 70.0
},
"per_game": {
"IP": 0.2,
"ER": 0.8,
"R": 1.0,
"H": 1.0,
"BB": 0.4,
"SO": 0.6,
"HR": 0.2,
"BF": 3.2,
"Pitches": 14.0
},
"rates": {
"ERA": 12.0,
"WHIP": 2.3333,
"ER_per_IP": 1.33333,
"H_per_IP": 1.66667,
"BB_per_IP": 0.66667,
"SO_per_IP": 1.0,
"HR_per_IP": 0.33333
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 5.0,
"R": 6.0,
"H": 9.0,
"BB": 4.0,
"SO": 8.0,
"HR": 1.0,
"BF": 38.0,
"Pitches": 147.0
},
"per_game": {
"IP": 0.2,
"ER": 0.5,
"R": 0.6,
"H": 0.9,
"BB": 0.4,
"SO": 0.8,
"HR": 0.1,
"BF": 3.8,
"Pitches": 14.7
},
"rates": {
"ERA": 5.4,
"WHIP": 1.56,
"ER_per_IP": 0.6,
"H_per_IP": 1.08,
"BB_per_IP": 0.48,
"SO_per_IP": 0.96,
"HR_per_IP": 0.12
}
},
"season": {
"games": 26,
"totals": {
"IP": 25.0,
"ER": 9.0,
"R": 11.0,
"H": 28.0,
"BB": 8.0,
"SO": 20.0,
"HR": 2.0,
"BF": 110.0,
"Pitches": 423.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3462,
"R": 0.4231,
"H": 1.0769,
"BB": 0.3077,
"SO": 0.7692,
"HR": 0.0769,
"BF": 4.2308,
"Pitches": 16.2692
},
"rates": {
"ERA": 3.24,
"WHIP": 1.44,
"ER_per_IP": 0.36,
"H_per_IP": 1.12,
"BB_per_IP": 0.32,
"SO_per_IP": 0.8,
"HR_per_IP": 0.08
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.474,
"predicted_H": 0.805,
"predicted_BB": 0.315,
"predicted_SO": 0.66,
"predicted_HR": 0.119,
"predicted_ERA": 6.1008,
"predicted_WHIP": 1.5994
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5626,
"form_weight": 0.4374,
"form_reliability": 0.4967,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.934,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4967,
"prior_weight": 0.5033
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.474,
"final": 0.2073,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.805,
"final": 0.3521,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.315,
"final": 0.7004,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.66,
"final": 0.8513,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.119,
"final": 0.052,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.1008,
"final": 6.1008,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5994,
"final": 1.5994,
"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 | Chris Martin |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.4739 |
| ESPN Rank | 618 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1034 |
| Avg Velo | 91.5414 |
| Avg Spin | 2150.9198 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.1000 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 7.8387 |
| Season WHIP | 1.9355 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 65,
"wins": 32,
"losses": 33,
"win_pct": 0.4923,
"runs_scored": 268.0,
"runs_allowed": 257.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1692,
"avg_runs_scored": 4.1231,
"avg_runs_allowed": 3.9538,
"offense_index": 0.9306,
"defense_index": 1.1206,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 5.1,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.0205
},
"opponent": {
"team": "STL",
"games": 66,
"wins": 37,
"losses": 29,
"win_pct": 0.5606,
"runs_scored": 273.0,
"runs_allowed": 270.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0455,
"avg_runs_scored": 4.1364,
"avg_runs_allowed": 4.0909,
"offense_index": 0.9336,
"defense_index": 1.083,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 3.3,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0128
},
"edges": {
"quality_edge": -0.0077,
"offense_edge": -0.0694,
"opponent_offense_edge": -0.0664,
"defense_strength": 0.1206,
"opponent_defense_weakness": -0.083,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.006,
"run_prevention": 0.9777,
"strikeout": 1.0051
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "455119",
"profile": {
"available": true,
"pitcher_id": "455119",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 39.0,
"k_percent": 14.3,
"bb_percent": 4.1,
"woba": 0.492,
"xwoba": 0.411,
"sweet_spot_percent": 56.4,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 43.6,
"avg_best_speed": 83.4105,
"avg_hyper_speed": 95.5902,
"whiff_percent": 18.8,
"swing_percent": 56.8
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -1.963,
"command_and_miss": -0.6236,
"regression_edge": 2.0,
"xwoba_edge": -2.5,
"barrel_edge": -0.6889,
"hard_hit_edge": -0.7143,
"whiff_edge": -1.0,
"bb_edge": 1.3,
"pitch_design_score": 0.1034
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "455119",
"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.54137786897897,
"release_spin_rate": 2150.9198301392375,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.54137786897897,
"release_spin_rate": 2150.9198301392375,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5414,
"release_spin_rate": 2150.9198,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1034,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7385,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.4739,
"sample_weight": 0.45,
"run_prevention_factor": 1.0403,
"strikeout_factor": 0.9607,
"walk_factor": 0.9532,
"homer_factor": 1.0714,
"woba_minus_xwoba": 0.081,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "455119",
"espn_id": 32903,
"player_name": "Chris Martin",
"team": "TEX",
"role": "pitcher",
"espn_rank": 618,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 618,
"gp_value": 12.0,
"gp_rank": 227,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 7.8387,
"era_rank": null,
"w_value": 1.0,
"w_rank": 239,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 1.0,
"hld_rank": 184,
"ip_value": 10.1,
"ip_rank": 446,
"h_value": 18.0,
"h_rank": 296,
"er_value": 9.0,
"er_rank": 287,
"hr_value": 3.0,
"hr_rank": 198,
"bb_value": 2.0,
"bb_rank": 532,
"k_value": 7.0,
"k_rank": 467,
"k_per_9_value": 6.096774,
"k_per_9_rank": 28,
"whip_value": 1.9354,
"whip_rank": null,
"war_value": -0.58,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0181,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0181,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9789,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0321,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9823,
"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": 9,
"H": 16,
"BB": 2,
"SO": 6,
"HR": 3,
"ERA": 8.379310344827587,
"WHIP": 1.8620689655172415,
"K9": 5.586206896551724,
"HR9": 2.793103448275862,
"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-30T00:00:00"
}{
"available": true,
"pitcher_id": "455119",
"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.54137786897897,
"release_spin_rate": 2150.9198301392375,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.54137786897897,
"release_spin_rate": 2150.9198301392375,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5414,
"release_spin_rate": 2150.9198,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1034,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7385,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.039,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2897,
"prior_weight": 0.7103
},
"role": "pitcher",
"player_id": "455119",
"report_date": "20260601_T",
"season_year": 2026,
"rows_used": 12,
"reference_playing_time": 0.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 4.0,
"R": 4.0,
"H": 7.0,
"BB": 2.0,
"SO": 1.0,
"HR": 2.0,
"BF": 21.0,
"Pitches": 70.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 1.4,
"BB": 0.4,
"SO": 0.2,
"HR": 0.4,
"BF": 4.2,
"Pitches": 14.0
},
"rates": {
"ERA": 8.3077,
"WHIP": 2.0769,
"ER_per_IP": 0.92308,
"H_per_IP": 1.61538,
"BB_per_IP": 0.46154,
"SO_per_IP": 0.23077,
"HR_per_IP": 0.46154
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 9.0,
"R": 9.0,
"H": 16.0,
"BB": 2.0,
"SO": 6.0,
"HR": 3.0,
"BF": 45.0,
"Pitches": 154.0
},
"per_game": {
"IP": 1.0,
"ER": 0.9,
"R": 0.9,
"H": 1.6,
"BB": 0.2,
"SO": 0.6,
"HR": 0.3,
"BF": 4.5,
"Pitches": 15.4
},
"rates": {
"ERA": 8.3793,
"WHIP": 1.8621,
"ER_per_IP": 0.93103,
"H_per_IP": 1.65517,
"BB_per_IP": 0.2069,
"SO_per_IP": 0.62069,
"HR_per_IP": 0.31034
}
},
"season": {
"games": 12,
"totals": {
"IP": 10.1,
"ER": 9.0,
"R": 10.0,
"H": 18.0,
"BB": 2.0,
"SO": 7.0,
"HR": 3.0,
"BF": 49.0,
"Pitches": 169.0
},
"per_game": {
"IP": 1.0,
"ER": 0.75,
"R": 0.8333,
"H": 1.5,
"BB": 0.1667,
"SO": 0.5833,
"HR": 0.25,
"BF": 4.0833,
"Pitches": 14.0833
},
"rates": {
"ERA": 7.8387,
"WHIP": 1.9355,
"ER_per_IP": 0.87097,
"H_per_IP": 1.74194,
"BB_per_IP": 0.19355,
"SO_per_IP": 0.67742,
"HR_per_IP": 0.29032
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.318,
"predicted_H": 0.608,
"predicted_BB": 0.186,
"predicted_SO": 0.421,
"predicted_HR": 0.107,
"predicted_ERA": 5.4324,
"predicted_WHIP": 1.5083
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6501,
"form_weight": 0.3499,
"form_reliability": 0.2897,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.039,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2897,
"prior_weight": 0.7103
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.318,
"final": 0.7614,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.608,
"final": 0.8628,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.186,
"final": 0.0651,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.421,
"final": 0.1473,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.107,
"final": 0.0374,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.4324,
"final": 5.4324,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5083,
"final": 1.5083,
"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.305 | 0.000 | 1.000 | Hitting_2B | 0.305 | 1.000 | -0.305 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.270 | 3.000 | 8.000 | Hitting_AB | 3.881 | 4.000 | -0.881 | -1.000 |
| predicted_AVG | 0.271 | 0.000 | 0.375 | Hitting_AVG | 0.307 | 0.500 | -0.307 | -0.500 |
| predicted_BB | 0.329 | 1.000 | 1.000 | Hitting_BB | 0.329 | 1.000 | 0.671 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_H | 1.150 | 0.000 | 3.000 | Hitting_H | 1.190 | 2.000 | -1.190 | -2.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_OBP | 0.373 | 0.250 | 0.444 | Hitting_OBP | 0.365 | 0.600 | -0.115 | -0.350 |
| predicted_R | 0.495 | 0.000 | 1.000 | Hitting_R | 0.495 | 1.000 | -0.495 | -1.000 |
| predicted_RBI | 0.540 | 0.000 | 1.000 | Hitting_RBI | 0.452 | 2.000 | -0.452 | -2.000 |
| predicted_SLG | 0.493 | 0.000 | 0.500 | Hitting_SLG | 0.485 | 0.750 | -0.485 | -0.750 |
| predicted_SO | 0.619 | 2.000 | 1.000 | Hitting_SO | 0.619 | 1.000 | 1.381 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.6190 -> 2.0000 (boost 1.3810, worse) |
| 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.2700 -> 7.8572 (boost 3.5872, 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.3054 -> 0.3213 (boost 0.0159, better) | predicted_OBP: 0.3889 -> 0.3787 (deboost -0.0102, 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: 2.5248 -> 3.0000 (boost 0.4752, better) | predicted_HR: 0.4132 -> 0.0000 (deboost -0.4132, worse) | AB rounded to 8 (raw=7.86), rates preserved: AVG=0.321 HR/AB=0.053 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1594 -> 1.0000 (deboost -0.1594, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3787 -> 0.4440 (boost 0.0653, better) | predicted_SLG: 0.5570 -> 0.5000 (deboost -0.0570, 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: 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.5000 -> 0.5570 (boost 0.0570, better) | predicted_OBP: 0.4440 -> 0.3787 (deboost -0.0653, 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.27,
"predicted_AVG": 0.271,
"predicted_BB": 0.329,
"predicted_H": 1.15,
"predicted_HR": 0.16,
"predicted_OBP": 0.373,
"predicted_R": 0.495,
"predicted_RBI": 0.54,
"predicted_SLG": 0.493,
"predicted_SO": 0.619
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.6107,
"predicted_3B": 0.0009,
"predicted_AB": 7.8572,
"predicted_AVG": 0.3054,
"predicted_BB": 0.7272,
"predicted_H": 2.5526,
"predicted_HBP": 0.092,
"predicted_HR": 0.4203,
"predicted_OBP": 0.3889,
"predicted_R": 1.1791,
"predicted_RBI": 1.1012,
"predicted_SLG": 0.5452,
"predicted_SO": 1.3525
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.305,
"after": 0.6107,
"delta": 0.3057,
"percent_delta": 1.0023,
"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.27,
"after": 7.8572,
"delta": 3.5872,
"percent_delta": 0.8401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.3054,
"delta": 0.0344,
"percent_delta": 0.1269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.329,
"after": 0.7272,
"delta": 0.3982,
"percent_delta": 1.2103,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.15,
"after": 2.5526,
"delta": 1.4026,
"percent_delta": 1.2197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.4203,
"delta": 0.2603,
"percent_delta": 1.6269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.373,
"after": 0.3889,
"delta": 0.0159,
"percent_delta": 0.0426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.495,
"after": 1.1791,
"delta": 0.6841,
"percent_delta": 1.382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 1.1012,
"delta": 0.5612,
"percent_delta": 1.0393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.493,
"after": 0.5452,
"delta": 0.0522,
"percent_delta": 0.1059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.619,
"after": 1.3525,
"delta": 0.7335,
"percent_delta": 1.185,
"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.27,
"after": 7.8572,
"delta": 3.5872,
"percent_delta": 0.8401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.6107,
"predicted_3B": 0.0009,
"predicted_AB": 7.8572,
"predicted_AVG": 0.3213,
"predicted_BB": 0.725,
"predicted_H": 2.5248,
"predicted_HBP": 0.092,
"predicted_HR": 0.4132,
"predicted_OBP": 0.3787,
"predicted_R": 1.1594,
"predicted_RBI": 1.0828,
"predicted_SLG": 0.557,
"predicted_SO": 1.3566
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6107,
"after": 0.6107,
"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.8572,
"after": 7.8572,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3054,
"after": 0.3213,
"delta": 0.0159,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7272,
"after": 0.725,
"delta": -0.0022,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.5526,
"after": 2.5248,
"delta": -0.0278,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.092,
"after": 0.092,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4203,
"after": 0.4132,
"delta": -0.0071,
"percent_delta": -0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3889,
"after": 0.3787,
"delta": -0.0102,
"percent_delta": -0.0262,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1791,
"after": 1.1594,
"delta": -0.0197,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.1012,
"after": 1.0828,
"delta": -0.0184,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5452,
"after": 0.557,
"delta": 0.0118,
"percent_delta": 0.0216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3525,
"after": 1.3566,
"delta": 0.0041,
"percent_delta": 0.003,
"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.3054,
"after": 0.3213,
"delta": 0.0159,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3889,
"after": 0.3787,
"delta": -0.0102,
"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 8 (raw=7.86), rates preserved: AVG=0.321 HR/AB=0.053",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6107,
"after": 1.0,
"delta": 0.3893,
"percent_delta": 0.6375,
"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.8572,
"after": 8.0,
"delta": 0.1428,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.725,
"after": 1.0,
"delta": 0.275,
"percent_delta": 0.3793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.5248,
"after": 3.0,
"delta": 0.4752,
"percent_delta": 0.1882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.092,
"after": 0.0,
"delta": -0.092,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.4132,
"after": 0.0,
"delta": -0.4132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0828,
"after": 1.0,
"delta": -0.0828,
"percent_delta": -0.0765,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3566,
"after": 1.0,
"delta": -0.3566,
"percent_delta": -0.2629,
"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": 2.5248,
"after": 3.0,
"delta": 0.4752,
"percent_delta": 0.1882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.4132,
"after": 0.0,
"delta": -0.4132,
"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": 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": 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.1594,
"after": 1.0,
"delta": -0.1594,
"percent_delta": -0.1375,
"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.1594,
"after": 1.0,
"delta": -0.1594,
"percent_delta": -0.1375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.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.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": 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.3213,
"after": 0.375,
"delta": 0.0537,
"percent_delta": 0.1671,
"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.3787,
"after": 0.444,
"delta": 0.0653,
"percent_delta": 0.1724,
"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.557,
"after": 0.5,
"delta": -0.057,
"percent_delta": -0.1023,
"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.3787,
"after": 0.444,
"delta": 0.0653,
"percent_delta": 0.1724,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.557,
"after": 0.5,
"delta": -0.057,
"percent_delta": -0.1023,
"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": 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": 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": 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": 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.3213,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3787,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.557,
"predicted_SO": 2.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.375,
"after": 0.3213,
"delta": -0.0537,
"percent_delta": -0.1431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.444,
"after": 0.3787,
"delta": -0.0653,
"percent_delta": -0.1471,
"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.5,
"after": 0.557,
"delta": 0.057,
"percent_delta": 0.1141,
"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.5,
"after": 0.557,
"delta": 0.057,
"percent_delta": 0.1141,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.444,
"after": 0.3787,
"delta": -0.0653,
"percent_delta": -0.1471,
"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": 0.0,
"delta": -0.305,
"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.27,
"after": 3.0,
"delta": -1.27,
"percent_delta": -0.2974,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.3213,
"delta": 0.0503,
"percent_delta": 0.1856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.329,
"after": 1.0,
"delta": 0.671,
"percent_delta": 2.0395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.15,
"after": 0.0,
"delta": -1.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.373,
"after": 0.3787,
"delta": 0.0057,
"percent_delta": 0.0153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.495,
"after": 0.0,
"delta": -0.495,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.493,
"after": 0.557,
"delta": 0.064,
"percent_delta": 0.1298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.619,
"after": 2.0,
"delta": 1.381,
"percent_delta": 2.231,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.619,
"after": 2.0,
"delta": 1.381,
"percent_delta": 2.231,
"direction": "boost",
"projection_effect": "worse",
"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": "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.270 | - |
| predicted_AVG | 0.271 | - |
| predicted_BB | 0.329 | - |
| predicted_H | 1.150 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.373 | - |
| predicted_R | 0.495 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.493 | - |
| predicted_SO | 0.619 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.611 | 0.306 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 7.857 | 3.587 |
| predicted_AVG | 0.305 | 0.034 |
| predicted_BB | 0.727 | 0.398 |
| predicted_H | 2.553 | 1.403 |
| predicted_HBP | 0.092 | - |
| predicted_HR | 0.420 | 0.260 |
| predicted_OBP | 0.389 | 0.016 |
| predicted_R | 1.179 | 0.684 |
| predicted_RBI | 1.101 | 0.561 |
| predicted_SLG | 0.545 | 0.052 |
| predicted_SO | 1.353 | 0.734 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.611 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 7.857 | 0.000 |
| predicted_AVG | 0.321 | 0.016 |
| predicted_BB | 0.725 | -0.002 |
| predicted_H | 2.525 | -0.028 |
| predicted_HBP | 0.092 | 0.000 |
| predicted_HR | 0.413 | -0.007 |
| predicted_OBP | 0.379 | -0.010 |
| predicted_R | 1.159 | -0.020 |
| predicted_RBI | 1.083 | -0.018 |
| predicted_SLG | 0.557 | 0.012 |
| predicted_SO | 1.357 | 0.004 |
AB rounded to 8 (raw=7.86), rates preserved: AVG=0.321 HR/AB=0.053
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 3.000 | - |
| HBP | 0.000 | - |
| HR | 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 | 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 | 1.000 | 0.389 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | 0.143 |
| predicted_AVG | 0.375 | 0.054 |
| predicted_BB | 1.000 | 0.275 |
| predicted_H | 3.000 | 0.475 |
| predicted_HR | 0.000 | -0.413 |
| predicted_OBP | 0.444 | 0.065 |
| predicted_R | 1.000 | -0.159 |
| predicted_RBI | 1.000 | -0.083 |
| predicted_SLG | 0.500 | -0.057 |
| predicted_SO | 1.000 | -0.357 |
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 | -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 | 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 | 4 | - | 20.000 | 10.000 | 2.000 | 0.000 | 3.000 | 5.000 | 6.000 | 3.000 | 5.000 | 0.5000 | 0.5652 | 1.0500 | 0.5000 | 0.1500 | 0.2500 | 0.1500 | 0.2500 |
| last_10 | 0.20 | 5 | - | 38.000 | 17.000 | 2.000 | 0.000 | 5.000 | 7.000 | 8.000 | 5.000 | 10.000 | 0.4474 | 0.5116 | 0.8947 | 0.4474 | 0.1316 | 0.1842 | 0.1316 | 0.2632 |
| season | 0.60 | 54 | - | 815.000 | 250.000 | 64.000 | 0.000 | 27.000 | 95.000 | 104.000 | 69.000 | 130.000 | 0.3067 | 0.3650 | 0.4847 | 0.3068 | 0.0331 | 0.1166 | 0.0847 | 0.1595 |
| Metric | Value |
|---|---|
| predicted_2B | 0.9990 |
| predicted_3B | 0.0020 |
| predicted_AB | 12.4130 |
| predicted_AVG | 0.3491 |
| predicted_BB | 1.2330 |
| predicted_H | 4.3340 |
| predicted_HBP | 0.0920 |
| predicted_HR | 0.7510 |
| predicted_OBP | 0.4092 |
| predicted_R | 2.0480 |
| predicted_RBI | 1.8140 |
| predicted_SLG | 0.6114 |
| predicted_SO | 2.2840 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3050 | 0.9990 | 0.6107 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 4.2700 | 12.4130 | 7.8572 | model_form_blend |
| predicted_AVG | 0.2710 | 0.3491 | 0.3054 | model_form_blend |
| predicted_BB | 0.3290 | 1.2330 | 0.7272 | model_form_blend |
| predicted_H | 1.1500 | 4.3340 | 2.5526 | model_form_blend |
| predicted_HBP | - | 0.0920 | 0.0920 | form_only |
| predicted_HR | 0.1600 | 0.7510 | 0.4203 | model_form_blend |
| predicted_OBP | 0.3730 | 0.4092 | 0.3889 | model_form_blend |
| predicted_R | 0.4950 | 2.0480 | 1.1791 | model_form_blend |
| predicted_RBI | 0.5400 | 1.8140 | 1.1012 | model_form_blend |
| predicted_SLG | 0.4930 | 0.6114 | 0.5452 | model_form_blend |
| predicted_SO | 0.6190 | 2.2840 | 1.3525 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 1 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 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 | 3B |
| gameID | 20260531_KC@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-31 |
| sl_k_percent | 14.9 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.376 |
| sl_xwoba | 0.365 |
| sl_xba | 0.309 |
| sl_xslg | 0.472 |
| sl_sweet_spot_percent | 39.4 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 45.9 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 12.4 |
| sl_whiff_percent | 16.8 |
| sl_swing_percent | 47.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.181 | 0.000 | 0.000 | Hitting_2B | 0.181 | 0.000 | -0.181 | 0.000 |
| predicted_3B | 0.038 | 1.000 | 0.000 | Hitting_3B | 0.038 | 0.000 | 0.962 | 1.000 |
| predicted_AB | 4.220 | 4.000 | 8.000 | Hitting_AB | 3.971 | 4.000 | 0.029 | 0.000 |
| predicted_AVG | 0.228 | 0.500 | 0.250 | Hitting_AVG | 0.262 | 0.000 | 0.238 | 0.500 |
| predicted_BB | 0.403 | 0.000 | 1.000 | Hitting_BB | 0.403 | 0.000 | -0.403 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_H | 0.960 | 2.000 | 2.000 | Hitting_H | 1.042 | 0.000 | 0.958 | 2.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.122 | 0.000 | -0.122 | 0.000 |
| predicted_OBP | 0.297 | 0.500 | 0.333 | Hitting_OBP | 0.345 | 0.000 | 0.155 | 0.500 |
| predicted_R | 0.445 | 1.000 | 1.000 | Hitting_R | 0.445 | 0.000 | 0.555 | 1.000 |
| predicted_RBI | 0.490 | 1.000 | 1.000 | Hitting_RBI | 0.387 | 0.000 | 0.613 | 1.000 |
| predicted_SLG | 0.408 | 1.000 | 0.250 | Hitting_SLG | 0.419 | 0.000 | 0.581 | 1.000 |
| predicted_SO | 0.920 | 0.000 | 2.000 | Hitting_SO | 0.920 | 3.000 | -0.920 | -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_H: 0.9600 -> 2.0000 (boost 1.0400, better) |
| Biggest Deboost | predicted_SO: 0.9200 -> 0.0000 (deboost -0.9200, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 8 | 1 | 7 | 2 | predicted_AB: 4.2200 -> 8.3148 (boost 4.0948, better) | predicted_SLG: 0.4080 -> 0.3950 (deboost -0.0130, 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.3018 -> 0.2819 (deboost -0.0199, 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 | 3 | 5 | predicted_BB: 0.6773 -> 1.0000 (boost 0.3227, better) | predicted_HBP: 0.6110 -> 0.0000 (deboost -0.6110, worse) | AB rounded to 8 (raw=8.31), rates preserved: AVG=0.223 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8796 -> 1.0000 (boost 0.1204, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2819 -> 0.3330 (boost 0.0511, better) | predicted_SLG: 0.3809 -> 0.2500 (deboost -0.1309, 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_3B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3809 (boost 0.1309, better) | predicted_OBP: 0.3330 -> 0.2819 (deboost -0.0511, worse) | 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.181,
"predicted_3B": 0.038,
"predicted_AB": 4.22,
"predicted_AVG": 0.228,
"predicted_BB": 0.403,
"predicted_H": 0.96,
"predicted_HR": 0.16,
"predicted_OBP": 0.297,
"predicted_R": 0.445,
"predicted_RBI": 0.49,
"predicted_SLG": 0.408,
"predicted_SO": 0.92
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.307,
"predicted_3B": 0.0632,
"predicted_AB": 8.3148,
"predicted_AVG": 0.2268,
"predicted_BB": 0.6793,
"predicted_H": 1.8785,
"predicted_HBP": 0.611,
"predicted_HR": 0.297,
"predicted_OBP": 0.3018,
"predicted_R": 0.8945,
"predicted_RBI": 0.8794,
"predicted_SLG": 0.395,
"predicted_SO": 1.9937
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.181,
"after": 0.307,
"delta": 0.126,
"percent_delta": 0.6961,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.038,
"after": 0.0632,
"delta": 0.0252,
"percent_delta": 0.6632,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.22,
"after": 8.3148,
"delta": 4.0948,
"percent_delta": 0.9703,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2268,
"delta": -0.0012,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.403,
"after": 0.6793,
"delta": 0.2763,
"percent_delta": 0.6856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 1.8785,
"delta": 0.9185,
"percent_delta": 0.9568,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.297,
"delta": 0.137,
"percent_delta": 0.8562,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.3018,
"delta": 0.0048,
"percent_delta": 0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.445,
"after": 0.8945,
"delta": 0.4495,
"percent_delta": 1.0101,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.8794,
"delta": 0.3894,
"percent_delta": 0.7947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.395,
"delta": -0.013,
"percent_delta": -0.0319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.92,
"after": 1.9937,
"delta": 1.0737,
"percent_delta": 1.1671,
"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.22,
"after": 8.3148,
"delta": 4.0948,
"percent_delta": 0.9703,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.395,
"delta": -0.013,
"percent_delta": -0.0319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 57
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.307,
"predicted_3B": 0.0632,
"predicted_AB": 8.3148,
"predicted_AVG": 0.2235,
"predicted_BB": 0.6773,
"predicted_H": 1.858,
"predicted_HBP": 0.611,
"predicted_HR": 0.292,
"predicted_OBP": 0.2819,
"predicted_R": 0.8796,
"predicted_RBI": 0.8647,
"predicted_SLG": 0.3809,
"predicted_SO": 1.9997
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.307,
"after": 0.307,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0632,
"after": 0.0632,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.3148,
"after": 8.3148,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2268,
"after": 0.2235,
"delta": -0.0033,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6793,
"after": 0.6773,
"delta": -0.002,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8785,
"after": 1.858,
"delta": -0.0205,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.611,
"after": 0.611,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.297,
"after": 0.292,
"delta": -0.005,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3018,
"after": 0.2819,
"delta": -0.0199,
"percent_delta": -0.0659,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8945,
"after": 0.8796,
"delta": -0.0149,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8794,
"after": 0.8647,
"delta": -0.0147,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.3809,
"delta": -0.0141,
"percent_delta": -0.0357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9937,
"after": 1.9997,
"delta": 0.006,
"percent_delta": 0.003,
"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.3018,
"after": 0.2819,
"delta": -0.0199,
"percent_delta": -0.0659,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=8.31), rates preserved: AVG=0.223 HR/AB=0.035",
"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.307,
"after": 0.0,
"delta": -0.307,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0632,
"after": 0.0,
"delta": -0.0632,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 8.3148,
"after": 8.0,
"delta": -0.3148,
"percent_delta": -0.0379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6773,
"after": 1.0,
"delta": 0.3227,
"percent_delta": 0.4765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.858,
"after": 2.0,
"delta": 0.142,
"percent_delta": 0.0764,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.611,
"after": 0.0,
"delta": -0.611,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.292,
"after": 0.0,
"delta": -0.292,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8647,
"after": 1.0,
"delta": 0.1353,
"percent_delta": 0.1565,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9997,
"after": 2.0,
"delta": 0.0003,
"percent_delta": 0.0002,
"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.6773,
"after": 1.0,
"delta": 0.3227,
"percent_delta": 0.4765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.611,
"after": 0.0,
"delta": -0.611,
"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.8796,
"after": 1.0,
"delta": 0.1204,
"percent_delta": 0.1369,
"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.8796,
"after": 1.0,
"delta": 0.1204,
"percent_delta": 0.1369,
"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.2235,
"after": 0.25,
"delta": 0.0265,
"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": 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.2819,
"after": 0.333,
"delta": 0.0511,
"percent_delta": 0.1813,
"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.3809,
"after": 0.25,
"delta": -0.1309,
"percent_delta": -0.3437,
"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.2819,
"after": 0.333,
"delta": 0.0511,
"percent_delta": 0.1813,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3809,
"after": 0.25,
"delta": -0.1309,
"percent_delta": -0.3437,
"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": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"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": 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": 1.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2235,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2819,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3809,
"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": 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.25,
"after": 0.2235,
"delta": -0.0265,
"percent_delta": -0.1062,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.2819,
"delta": -0.0511,
"percent_delta": -0.1533,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3809,
"delta": 0.1309,
"percent_delta": 0.5237,
"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.3809,
"delta": 0.1309,
"percent_delta": 0.5237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2819,
"delta": -0.0511,
"percent_delta": -0.1533,
"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.038,
"after": 1.0,
"delta": 0.962,
"percent_delta": 25.3158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.22,
"after": 4.0,
"delta": -0.22,
"percent_delta": -0.0521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2235,
"delta": -0.0045,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.403,
"after": 0.0,
"delta": -0.403,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2819,
"delta": -0.0151,
"percent_delta": -0.0508,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.445,
"after": 1.0,
"delta": 0.555,
"percent_delta": 1.2472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 1.0,
"delta": 0.51,
"percent_delta": 1.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.3809,
"delta": -0.0271,
"percent_delta": -0.0664,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.92,
"after": 0.0,
"delta": -0.92,
"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.96,
"after": 2.0,
"delta": 1.04,
"percent_delta": 1.0833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.92,
"after": 0.0,
"delta": -0.92,
"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.181 | - |
| predicted_3B | 0.038 | - |
| predicted_AB | 4.220 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.403 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.297 | - |
| predicted_R | 0.445 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.408 | - |
| predicted_SO | 0.920 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.307 | 0.126 |
| predicted_3B | 0.063 | 0.025 |
| predicted_AB | 8.315 | 4.095 |
| predicted_AVG | 0.227 | -0.001 |
| predicted_BB | 0.679 | 0.276 |
| predicted_H | 1.879 | 0.919 |
| predicted_HBP | 0.611 | - |
| predicted_HR | 0.297 | 0.137 |
| predicted_OBP | 0.302 | 0.005 |
| predicted_R | 0.894 | 0.449 |
| predicted_RBI | 0.879 | 0.389 |
| predicted_SLG | 0.395 | -0.013 |
| predicted_SO | 1.994 | 1.074 |
Step 3: 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.063 | 0.000 |
| predicted_AB | 8.315 | 0.000 |
| predicted_AVG | 0.224 | -0.003 |
| predicted_BB | 0.677 | -0.002 |
| predicted_H | 1.858 | -0.020 |
| predicted_HBP | 0.611 | 0.000 |
| predicted_HR | 0.292 | -0.005 |
| predicted_OBP | 0.282 | -0.020 |
| predicted_R | 0.880 | -0.015 |
| predicted_RBI | 0.865 | -0.015 |
| predicted_SLG | 0.381 | -0.014 |
| predicted_SO | 2.000 | 0.006 |
AB rounded to 8 (raw=8.31), rates preserved: AVG=0.223 HR/AB=0.035
| 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.307 |
| predicted_3B | 0.000 | -0.063 |
| predicted_AB | 8.000 | -0.315 |
| predicted_AVG | 0.250 | 0.026 |
| predicted_BB | 1.000 | 0.323 |
| predicted_H | 2.000 | 0.142 |
| predicted_HR | 0.000 | -0.292 |
| predicted_OBP | 0.333 | 0.051 |
| predicted_R | 1.000 | 0.120 |
| predicted_RBI | 1.000 | 0.135 |
| predicted_SLG | 0.250 | -0.131 |
| predicted_SO | 2.000 | 0.000 |
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 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 19.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 0.000 | 6.000 | 0.1053 | 0.1905 | 0.2632 | 0.1053 | 0.0526 | 0.1053 | 0.0000 | 0.3158 |
| last_10 | 0.20 | 5 | - | 37.000 | 5.000 | 0.000 | 0.000 | 1.000 | 5.000 | 2.000 | 0.000 | 9.000 | 0.1351 | 0.2195 | 0.2162 | 0.1351 | 0.0270 | 0.1351 | 0.0000 | 0.2432 |
| season | 0.60 | 57 | - | 945.000 | 248.000 | 43.000 | 9.000 | 29.000 | 92.000 | 106.000 | 96.000 | 219.000 | 0.2624 | 0.3449 | 0.4190 | 0.2624 | 0.0307 | 0.0974 | 0.1016 | 0.2318 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4660 |
| predicted_3B | 0.0950 |
| predicted_AB | 13.4840 |
| predicted_AVG | 0.2253 |
| predicted_BB | 1.0280 |
| predicted_H | 3.0380 |
| predicted_HBP | 0.6110 |
| predicted_HR | 0.4700 |
| predicted_OBP | 0.3079 |
| predicted_R | 1.4620 |
| predicted_RBI | 1.3710 |
| predicted_SLG | 0.3785 |
| predicted_SO | 3.3490 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1810 | 0.4660 | 0.3070 | model_form_blend |
| predicted_3B | 0.0380 | 0.0950 | 0.0632 | model_form_blend |
| predicted_AB | 4.2200 | 13.4840 | 8.3148 | model_form_blend |
| predicted_AVG | 0.2280 | 0.2253 | 0.2268 | model_form_blend |
| predicted_BB | 0.4030 | 1.0280 | 0.6793 | model_form_blend |
| predicted_H | 0.9600 | 3.0380 | 1.8785 | model_form_blend |
| predicted_HBP | - | 0.6110 | 0.6110 | form_only |
| predicted_HR | 0.1600 | 0.4700 | 0.2970 | model_form_blend |
| predicted_OBP | 0.2970 | 0.3079 | 0.3018 | model_form_blend |
| predicted_R | 0.4450 | 1.4620 | 0.8945 | model_form_blend |
| predicted_RBI | 0.4900 | 1.3710 | 0.8794 | model_form_blend |
| predicted_SLG | 0.4080 | 0.3785 | 0.3950 | model_form_blend |
| predicted_SO | 0.9200 | 3.3490 | 1.9937 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 2 |
| 2B | 0 |
| 3B | 1 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| 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 | 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 | 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 | 20260531_KC@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-31 |
| sl_k_percent | 19.9 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.339 |
| sl_xwoba | 0.391 |
| sl_xba | 0.297 |
| sl_xslg | 0.537 |
| sl_sweet_spot_percent | 34.7 |
| sl_barrel_batted_rate | 12.9 |
| sl_hard_hit_percent | 51.2 |
| sl_exit_velocity_avg | 91.8 |
| sl_launch_angle_avg | 10.2 |
| sl_whiff_percent | 22.6 |
| sl_swing_percent | 48.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.170 | 0.000 | 0.000 | Hitting_2B | 0.170 | 1.000 | -0.170 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.030 | 4.000 | 8.000 | Hitting_AB | 3.862 | 2.000 | 0.138 | 2.000 |
| predicted_AVG | 0.239 | 0.500 | 0.250 | Hitting_AVG | 0.239 | 0.500 | 0.261 | 0.000 |
| predicted_BB | 0.266 | 0.000 | 1.000 | Hitting_BB | 0.266 | 2.000 | -0.266 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.960 | 2.000 | 2.000 | Hitting_H | 0.922 | 1.000 | 1.078 | 1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.174 | 0.000 | -0.174 | 0.000 |
| predicted_OBP | 0.317 | 0.500 | 0.333 | Hitting_OBP | 0.290 | 0.750 | 0.210 | -0.250 |
| predicted_R | 0.491 | 1.000 | 1.000 | Hitting_R | 0.491 | 1.000 | 0.509 | 0.000 |
| predicted_RBI | 0.520 | 2.000 | 1.000 | Hitting_RBI | 0.679 | 0.000 | 1.321 | 2.000 |
| predicted_SLG | 0.421 | 0.500 | 0.250 | Hitting_SLG | 0.418 | 1.000 | 0.082 | -0.500 |
| predicted_SO | 1.165 | 0.000 | 2.000 | Hitting_SO | 1.165 | 0.000 | -1.165 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.5200 -> 2.0000 (boost 1.4800, better) |
| Biggest Deboost | predicted_SO: 1.1650 -> 0.0000 (deboost -1.1650, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 8 | 1 | 7 | 2 | predicted_AB: 4.0300 -> 7.6065 (boost 3.5765, better) | predicted_OBP: 0.3170 -> 0.3112 (deboost -0.0058, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3112 -> 0.2948 (deboost -0.0164, 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_BB: 0.5503 -> 1.0000 (boost 0.4497, better) | predicted_2B: 0.4578 -> 0.0000 (deboost -0.4578, worse) | AB rounded to 8 (raw=7.61), rates preserved: AVG=0.244 HR/AB=0.034 |
| 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.2948 -> 0.3330 (boost 0.0382, better) | predicted_SLG: 0.4046 -> 0.2500 (deboost -0.1546, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_RBI: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 8.0000 -> 4.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.4046 (boost 0.1546, better) | predicted_OBP: 0.3330 -> 0.2948 (deboost -0.0382, 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.17,
"predicted_3B": 0.0,
"predicted_AB": 4.03,
"predicted_AVG": 0.239,
"predicted_BB": 0.266,
"predicted_H": 0.96,
"predicted_HR": 0.14,
"predicted_OBP": 0.317,
"predicted_R": 0.491,
"predicted_RBI": 0.52,
"predicted_SLG": 0.421,
"predicted_SO": 1.165
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4578,
"predicted_3B": 0.0004,
"predicted_AB": 7.6065,
"predicted_AVG": 0.2438,
"predicted_BB": 0.552,
"predicted_H": 1.8744,
"predicted_HBP": 0.056,
"predicted_HR": 0.2594,
"predicted_OBP": 0.3112,
"predicted_R": 1.0348,
"predicted_RBI": 1.0576,
"predicted_SLG": 0.4203,
"predicted_SO": 2.2953
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.17,
"after": 0.4578,
"delta": 0.2878,
"percent_delta": 1.6929,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.03,
"after": 7.6065,
"delta": 3.5765,
"percent_delta": 0.8875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2438,
"delta": 0.0048,
"percent_delta": 0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.266,
"after": 0.552,
"delta": 0.286,
"percent_delta": 1.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 1.8744,
"delta": 0.9144,
"percent_delta": 0.9525,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.2594,
"delta": 0.1194,
"percent_delta": 0.8529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3112,
"delta": -0.0058,
"percent_delta": -0.0183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.491,
"after": 1.0348,
"delta": 0.5438,
"percent_delta": 1.1075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 1.0576,
"delta": 0.5376,
"percent_delta": 1.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.421,
"after": 0.4203,
"delta": -0.0007,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.165,
"after": 2.2953,
"delta": 1.1303,
"percent_delta": 0.9702,
"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.03,
"after": 7.6065,
"delta": 3.5765,
"percent_delta": 0.8875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3112,
"delta": -0.0058,
"percent_delta": -0.0183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 57
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.4578,
"predicted_3B": 0.0004,
"predicted_AB": 7.6065,
"predicted_AVG": 0.2437,
"predicted_BB": 0.5503,
"predicted_H": 1.854,
"predicted_HBP": 0.056,
"predicted_HR": 0.255,
"predicted_OBP": 0.2948,
"predicted_R": 1.0175,
"predicted_RBI": 1.0399,
"predicted_SLG": 0.4046,
"predicted_SO": 2.3022
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4578,
"after": 0.4578,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.6065,
"after": 7.6065,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2438,
"after": 0.2437,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.552,
"after": 0.5503,
"delta": -0.0017,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8744,
"after": 1.854,
"delta": -0.0204,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.056,
"after": 0.056,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2594,
"after": 0.255,
"delta": -0.0044,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3112,
"after": 0.2948,
"delta": -0.0164,
"percent_delta": -0.0527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0348,
"after": 1.0175,
"delta": -0.0173,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0576,
"after": 1.0399,
"delta": -0.0177,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4203,
"after": 0.4046,
"delta": -0.0157,
"percent_delta": -0.0374,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.2953,
"after": 2.3022,
"delta": 0.0069,
"percent_delta": 0.003,
"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.3112,
"after": 0.2948,
"delta": -0.0164,
"percent_delta": -0.0527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.61), rates preserved: AVG=0.244 HR/AB=0.034",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4578,
"after": 0.0,
"delta": -0.4578,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.6065,
"after": 8.0,
"delta": 0.3935,
"percent_delta": 0.0517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5503,
"after": 1.0,
"delta": 0.4497,
"percent_delta": 0.8172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.854,
"after": 2.0,
"delta": 0.146,
"percent_delta": 0.0787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.056,
"after": 0.0,
"delta": -0.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.255,
"after": 0.0,
"delta": -0.255,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0399,
"after": 1.0,
"delta": -0.0399,
"percent_delta": -0.0384,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.3022,
"after": 2.0,
"delta": -0.3022,
"percent_delta": -0.1313,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5503,
"after": 1.0,
"delta": 0.4497,
"percent_delta": 0.8172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4578,
"after": 0.0,
"delta": -0.4578,
"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.0175,
"after": 1.0,
"delta": -0.0175,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2437,
"after": 0.25,
"delta": 0.0063,
"percent_delta": 0.0259,
"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.2948,
"after": 0.333,
"delta": 0.0382,
"percent_delta": 0.1296,
"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.4046,
"after": 0.25,
"delta": -0.1546,
"percent_delta": -0.3821,
"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.2948,
"after": 0.333,
"delta": 0.0382,
"percent_delta": 0.1296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4046,
"after": 0.25,
"delta": -0.1546,
"percent_delta": -0.3821,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2437,
"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.2948,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4046,
"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.2437,
"delta": -0.0063,
"percent_delta": -0.0251,
"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.2948,
"delta": -0.0382,
"percent_delta": -0.1148,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4046,
"delta": 0.1546,
"percent_delta": 0.6184,
"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.4046,
"delta": 0.1546,
"percent_delta": 0.6184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2948,
"delta": -0.0382,
"percent_delta": -0.1148,
"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.03,
"after": 4.0,
"delta": -0.03,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2437,
"delta": 0.0047,
"percent_delta": 0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.266,
"after": 0.0,
"delta": -0.266,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 2.0,
"delta": 1.04,
"percent_delta": 1.0833,
"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.317,
"after": 0.2948,
"delta": -0.0222,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.491,
"after": 1.0,
"delta": 0.509,
"percent_delta": 1.0367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 2.0,
"delta": 1.48,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.421,
"after": 0.4046,
"delta": -0.0164,
"percent_delta": -0.039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.165,
"after": 0.0,
"delta": -1.165,
"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_RBI",
"before": 0.52,
"after": 2.0,
"delta": 1.48,
"percent_delta": 2.8462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.165,
"after": 0.0,
"delta": -1.165,
"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.170 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.030 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.266 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.491 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.421 | - |
| predicted_SO | 1.165 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.458 | 0.288 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.606 | 3.576 |
| predicted_AVG | 0.244 | 0.005 |
| predicted_BB | 0.552 | 0.286 |
| predicted_H | 1.874 | 0.914 |
| predicted_HBP | 0.056 | - |
| predicted_HR | 0.259 | 0.119 |
| predicted_OBP | 0.311 | -0.006 |
| predicted_R | 1.035 | 0.544 |
| predicted_RBI | 1.058 | 0.538 |
| predicted_SLG | 0.420 | -0.001 |
| predicted_SO | 2.295 | 1.130 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.458 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 7.606 | 0.000 |
| predicted_AVG | 0.244 | -0.000 |
| predicted_BB | 0.550 | -0.002 |
| predicted_H | 1.854 | -0.020 |
| predicted_HBP | 0.056 | 0.000 |
| predicted_HR | 0.255 | -0.004 |
| predicted_OBP | 0.295 | -0.016 |
| predicted_R | 1.018 | -0.017 |
| predicted_RBI | 1.040 | -0.018 |
| predicted_SLG | 0.405 | -0.016 |
| predicted_SO | 2.302 | 0.007 |
AB rounded to 8 (raw=7.61), rates preserved: AVG=0.244 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 8.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.458 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 8.000 | 0.394 |
| predicted_AVG | 0.250 | 0.006 |
| predicted_BB | 1.000 | 0.450 |
| predicted_H | 2.000 | 0.146 |
| predicted_HR | 0.000 | -0.255 |
| predicted_OBP | 0.333 | 0.038 |
| predicted_R | 1.000 | -0.018 |
| predicted_RBI | 1.000 | -0.040 |
| predicted_SLG | 0.250 | -0.155 |
| predicted_SO | 2.000 | -0.302 |
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 | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 19.000 | 6.000 | 3.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 6.000 | 0.3158 | 0.3810 | 0.4737 | 0.3158 | 0.0000 | 0.0526 | 0.1053 | 0.3158 |
| last_10 | 0.20 | 5 | - | 39.000 | 6.000 | 3.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 16.000 | 0.1538 | 0.1951 | 0.2308 | 0.1538 | 0.0000 | 0.0256 | 0.0513 | 0.4103 |
| season | 0.60 | 57 | - | 842.000 | 201.000 | 37.000 | 0.000 | 38.000 | 148.000 | 107.000 | 58.000 | 254.000 | 0.2387 | 0.2901 | 0.4181 | 0.2387 | 0.0451 | 0.1758 | 0.0689 | 0.3017 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8230 |
| predicted_3B | 0.0010 |
| predicted_AB | 12.1460 |
| predicted_AVG | 0.2499 |
| predicted_BB | 0.9150 |
| predicted_H | 3.0350 |
| predicted_HBP | 0.0560 |
| predicted_HR | 0.4110 |
| predicted_OBP | 0.3038 |
| predicted_R | 1.7250 |
| predicted_RBI | 1.7400 |
| predicted_SLG | 0.4195 |
| predicted_SO | 3.7300 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1700 | 0.8230 | 0.4578 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0300 | 12.1460 | 7.6065 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2499 | 0.2438 | model_form_blend |
| predicted_BB | 0.2660 | 0.9150 | 0.5520 | model_form_blend |
| predicted_H | 0.9600 | 3.0350 | 1.8744 | model_form_blend |
| predicted_HBP | - | 0.0560 | 0.0560 | form_only |
| predicted_HR | 0.1400 | 0.4110 | 0.2594 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3038 | 0.3112 | model_form_blend |
| predicted_R | 0.4910 | 1.7250 | 1.0348 | model_form_blend |
| predicted_RBI | 0.5200 | 1.7400 | 1.0576 | model_form_blend |
| predicted_SLG | 0.4210 | 0.4195 | 0.4203 | model_form_blend |
| predicted_SO | 1.1650 | 3.7300 | 2.2953 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 218 |
| Season rows before report date | 218 |
| Report year | 2026 |
| Profile rows used | 218 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260531_KC@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-31 |
| sl_k_percent | 27.2 |
| sl_bb_percent | 5.7 |
| sl_woba | 0.316 |
| sl_xwoba | 0.305 |
| sl_xba | 0.243 |
| sl_xslg | 0.414 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 9.9 |
| sl_hard_hit_percent | 48.7 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 12.3 |
| sl_whiff_percent | 36.3 |
| sl_swing_percent | 51.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.119 | 0.000 | 0.000 | Hitting_2B | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.987 | 4.000 | 5.000 | Hitting_AB | 2.969 | 3.000 | 1.031 | 1.000 |
| predicted_AVG | 0.242 | 0.000 | 0.200 | Hitting_AVG | 0.259 | 0.000 | -0.259 | 0.000 |
| predicted_BB | 0.500 | 0.000 | 1.000 | Hitting_BB | 0.503 | 2.000 | -0.503 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.280 | 0.000 | 1.000 | Hitting_H | 0.770 | 0.000 | -0.770 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.155 | 0.000 | -0.155 | 0.000 |
| predicted_OBP | 0.317 | 0.000 | 0.333 | Hitting_OBP | 0.365 | 0.400 | -0.365 | -0.400 |
| predicted_R | 0.456 | 0.000 | 1.000 | Hitting_R | 0.453 | 0.000 | -0.453 | 0.000 |
| predicted_RBI | 0.190 | 0.000 | 1.000 | Hitting_RBI | 0.391 | 0.000 | -0.391 | 0.000 |
| predicted_SLG | 0.486 | 0.000 | 0.200 | Hitting_SLG | 0.456 | 0.000 | -0.456 | 0.000 |
| predicted_SO | 0.794 | 1.000 | 1.000 | Hitting_SO | 0.789 | 0.000 | 0.211 | 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_AB: 2.9870 -> 4.0000 (boost 1.0130, better) |
| Biggest Deboost | predicted_BB: 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 | 9 | 9 | 0 | 8 | 1 | predicted_AB: 2.9870 -> 5.0427 (boost 2.0557, 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.4861 -> 0.3934 (deboost -0.0927, 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_RBI: 0.5491 -> 1.0000 (boost 0.4509, better) | predicted_HR: 0.2905 -> 0.0000 (deboost -0.2905, worse) | AB rounded to 5 (raw=5.04), rates preserved: AVG=0.187 HR/AB=0.058 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8012 -> 1.0000 (boost 0.1988, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2995 -> 0.3330 (boost 0.0335, better) | predicted_SLG: 0.3934 -> 0.2000 (deboost -0.1934, 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: 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.2000 -> 0.3934 (boost 0.1934, better) | predicted_OBP: 0.3330 -> 0.2995 (deboost -0.0335, 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.119,
"predicted_3B": 0.0,
"predicted_AB": 2.987,
"predicted_AVG": 0.242,
"predicted_BB": 0.5,
"predicted_H": 0.28,
"predicted_HR": 0.09,
"predicted_OBP": 0.317,
"predicted_R": 0.456,
"predicted_RBI": 0.19,
"predicted_SLG": 0.486,
"predicted_SO": 0.794
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0004,
"predicted_AB": 5.0427,
"predicted_AVG": 0.2396,
"predicted_BB": 0.8148,
"predicted_H": 0.9514,
"predicted_HBP": 0.049,
"predicted_HR": 0.2955,
"predicted_OBP": 0.3271,
"predicted_R": 0.8148,
"predicted_RBI": 0.5584,
"predicted_SLG": 0.4861,
"predicted_SO": 1.2795
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.119,
"after": 0.1704,
"delta": 0.0514,
"percent_delta": 0.4319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.987,
"after": 5.0427,
"delta": 2.0557,
"percent_delta": 0.6882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2396,
"delta": -0.0024,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.8148,
"delta": 0.3148,
"percent_delta": 0.6296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.28,
"after": 0.9514,
"delta": 0.6714,
"percent_delta": 2.3979,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.2955,
"delta": 0.2055,
"percent_delta": 2.2833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3271,
"delta": 0.0101,
"percent_delta": 0.0319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.456,
"after": 0.8148,
"delta": 0.3588,
"percent_delta": 0.7868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.5584,
"delta": 0.3684,
"percent_delta": 1.9389,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.486,
"after": 0.4861,
"delta": 0.0001,
"percent_delta": 0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.794,
"after": 1.2795,
"delta": 0.4855,
"percent_delta": 0.6115,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 9,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.987,
"after": 5.0427,
"delta": 2.0557,
"percent_delta": 0.6882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.1704,
"predicted_3B": 0.0004,
"predicted_AB": 5.0427,
"predicted_AVG": 0.1866,
"predicted_BB": 0.8124,
"predicted_H": 0.941,
"predicted_HBP": 0.049,
"predicted_HR": 0.2905,
"predicted_OBP": 0.2995,
"predicted_R": 0.8012,
"predicted_RBI": 0.5491,
"predicted_SLG": 0.3934,
"predicted_SO": 1.2833
},
"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.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0427,
"after": 5.0427,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2396,
"after": 0.1866,
"delta": -0.053,
"percent_delta": -0.2212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8148,
"after": 0.8124,
"delta": -0.0024,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9514,
"after": 0.941,
"delta": -0.0104,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.049,
"after": 0.049,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2955,
"after": 0.2905,
"delta": -0.005,
"percent_delta": -0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3271,
"after": 0.2995,
"delta": -0.0276,
"percent_delta": -0.0844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8148,
"after": 0.8012,
"delta": -0.0136,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5584,
"after": 0.5491,
"delta": -0.0093,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4861,
"after": 0.3934,
"delta": -0.0927,
"percent_delta": -0.1907,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2795,
"after": 1.2833,
"delta": 0.0038,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4861,
"after": 0.3934,
"delta": -0.0927,
"percent_delta": -0.1907,
"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.187 HR/AB=0.058",
"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.1704,
"after": 0.0,
"delta": -0.1704,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0427,
"after": 5.0,
"delta": -0.0427,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.8124,
"after": 1.0,
"delta": 0.1876,
"percent_delta": 0.2309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.941,
"after": 1.0,
"delta": 0.059,
"percent_delta": 0.0627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.049,
"after": 0.0,
"delta": -0.049,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2905,
"after": 0.0,
"delta": -0.2905,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5491,
"after": 1.0,
"delta": 0.4509,
"percent_delta": 0.8212,
"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": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5491,
"after": 1.0,
"delta": 0.4509,
"percent_delta": 0.8212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2905,
"after": 0.0,
"delta": -0.2905,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8012,
"after": 1.0,
"delta": 0.1988,
"percent_delta": 0.2481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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.8012,
"after": 1.0,
"delta": 0.1988,
"percent_delta": 0.2481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1866,
"after": 0.2,
"delta": 0.0134,
"percent_delta": 0.0718,
"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.2995,
"after": 0.333,
"delta": 0.0335,
"percent_delta": 0.1119,
"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.3934,
"after": 0.2,
"delta": -0.1934,
"percent_delta": -0.4916,
"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.2995,
"after": 0.333,
"delta": 0.0335,
"percent_delta": 0.1119,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3934,
"after": 0.2,
"delta": -0.1934,
"percent_delta": -0.4916,
"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": 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": 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.1866,
"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.2995,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3934,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.1866,
"delta": -0.0134,
"percent_delta": -0.0669,
"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.2995,
"delta": -0.0335,
"percent_delta": -0.1007,
"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.3934,
"delta": 0.1934,
"percent_delta": 0.9669,
"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.3934,
"delta": 0.1934,
"percent_delta": 0.9669,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2995,
"delta": -0.0335,
"percent_delta": -0.1007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.119,
"after": 0.0,
"delta": -0.119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.987,
"after": 4.0,
"delta": 1.013,
"percent_delta": 0.3391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.1866,
"delta": -0.0554,
"percent_delta": -0.2289,
"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.28,
"after": 0.0,
"delta": -0.28,
"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.317,
"after": 0.2995,
"delta": -0.0175,
"percent_delta": -0.0552,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.456,
"after": 0.0,
"delta": -0.456,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.486,
"after": 0.3934,
"delta": -0.0926,
"percent_delta": -0.1905,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.794,
"after": 1.0,
"delta": 0.206,
"percent_delta": 0.2594,
"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_AB",
"before": 2.987,
"after": 4.0,
"delta": 1.013,
"percent_delta": 0.3391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"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.119 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.987 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.500 | - |
| predicted_H | 0.280 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.456 | - |
| predicted_RBI | 0.190 | - |
| predicted_SLG | 0.486 | - |
| predicted_SO | 0.794 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.051 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 5.043 | 2.056 |
| predicted_AVG | 0.240 | -0.002 |
| predicted_BB | 0.815 | 0.315 |
| predicted_H | 0.951 | 0.671 |
| predicted_HBP | 0.049 | - |
| predicted_HR | 0.295 | 0.205 |
| predicted_OBP | 0.327 | 0.010 |
| predicted_R | 0.815 | 0.359 |
| predicted_RBI | 0.558 | 0.368 |
| predicted_SLG | 0.486 | 0.000 |
| predicted_SO | 1.280 | 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.170 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 5.043 | 0.000 |
| predicted_AVG | 0.187 | -0.053 |
| predicted_BB | 0.812 | -0.002 |
| predicted_H | 0.941 | -0.010 |
| predicted_HBP | 0.049 | 0.000 |
| predicted_HR | 0.290 | -0.005 |
| predicted_OBP | 0.299 | -0.028 |
| predicted_R | 0.801 | -0.014 |
| predicted_RBI | 0.549 | -0.009 |
| predicted_SLG | 0.393 | -0.093 |
| predicted_SO | 1.283 | 0.004 |
AB rounded to 5 (raw=5.04), rates preserved: AVG=0.187 HR/AB=0.058
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.170 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | -0.043 |
| predicted_AVG | 0.200 | 0.013 |
| predicted_BB | 1.000 | 0.188 |
| predicted_H | 1.000 | 0.059 |
| predicted_HR | 0.000 | -0.290 |
| predicted_OBP | 0.333 | 0.034 |
| predicted_R | 1.000 | 0.199 |
| predicted_RBI | 1.000 | 0.451 |
| predicted_SLG | 0.200 | -0.193 |
| predicted_SO | 1.000 | -0.283 |
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 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 18.000 | 2.000 | 0.000 | 0.000 | 2.000 | 2.000 | 3.000 | 3.000 | 4.000 | 0.1111 | 0.2381 | 0.4444 | 0.1111 | 0.1111 | 0.1111 | 0.1667 | 0.2222 |
| last_10 | 0.20 | 5 | - | 37.000 | 14.000 | 0.000 | 0.000 | 10.000 | 10.000 | 15.000 | 3.000 | 4.000 | 0.3784 | 0.4250 | 1.1892 | 0.3784 | 0.2703 | 0.2703 | 0.0811 | 0.1081 |
| season | 0.60 | 54 | - | 478.000 | 124.000 | 19.000 | 0.000 | 25.000 | 63.000 | 73.000 | 80.000 | 127.000 | 0.2594 | 0.3636 | 0.4561 | 0.2594 | 0.0523 | 0.1318 | 0.1674 | 0.2657 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2370 |
| predicted_3B | 0.0010 |
| predicted_AB | 7.7080 |
| predicted_AVG | 0.2364 |
| predicted_BB | 1.2230 |
| predicted_H | 1.8220 |
| predicted_HBP | 0.0490 |
| predicted_HR | 0.5620 |
| predicted_OBP | 0.3402 |
| predicted_R | 1.2800 |
| predicted_RBI | 1.0360 |
| predicted_SLG | 0.4863 |
| predicted_SO | 1.9090 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1190 | 0.2370 | 0.1704 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.9870 | 7.7080 | 5.0427 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2364 | 0.2396 | model_form_blend |
| predicted_BB | 0.5000 | 1.2230 | 0.8148 | model_form_blend |
| predicted_H | 0.2800 | 1.8220 | 0.9514 | model_form_blend |
| predicted_HBP | - | 0.0490 | 0.0490 | form_only |
| predicted_HR | 0.0900 | 0.5620 | 0.2955 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3402 | 0.3271 | model_form_blend |
| predicted_R | 0.4560 | 1.2800 | 0.8148 | model_form_blend |
| predicted_RBI | 0.1900 | 1.0360 | 0.5584 | model_form_blend |
| predicted_SLG | 0.4860 | 0.4863 | 0.4861 | model_form_blend |
| predicted_SO | 0.7940 | 1.9090 | 1.2795 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 161 |
| Season rows before report date | 161 |
| Report year | 2026 |
| Profile rows used | 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 | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.259 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 2 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 1 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260531_KC@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-31 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 14.2 |
| sl_woba | 0.354 |
| sl_xwoba | 0.344 |
| sl_xba | 0.242 |
| sl_xslg | 0.401 |
| sl_sweet_spot_percent | 34.3 |
| sl_barrel_batted_rate | 9.5 |
| sl_hard_hit_percent | 47.6 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 15.6 |
| sl_whiff_percent | 31.4 |
| sl_swing_percent | 44.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.088 | 0.000 | 0.000 | Hitting_2B | 0.087 | 0.000 | -0.087 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.802 | 4.000 | 4.000 | Hitting_AB | 2.772 | 4.000 | 1.228 | 0.000 |
| predicted_AVG | 0.265 | 0.000 | 0.250 | Hitting_AVG | 0.239 | 0.250 | -0.239 | -0.250 |
| predicted_BB | 0.407 | 0.000 | 0.000 | Hitting_BB | 0.413 | 0.000 | -0.413 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.076 | 0.000 | -0.076 | 0.000 |
| predicted_H | 0.650 | 0.000 | 1.000 | Hitting_H | 0.663 | 1.000 | -0.663 | -1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.324 | 0.000 | 0.250 | Hitting_OBP | 0.380 | 0.250 | -0.380 | -0.250 |
| predicted_R | 0.341 | 0.000 | 0.000 | Hitting_R | 0.348 | 1.000 | -0.348 | -1.000 |
| predicted_RBI | 0.300 | 0.000 | 0.000 | Hitting_RBI | 0.250 | 1.000 | -0.250 | -1.000 |
| predicted_SLG | 0.322 | 0.000 | 0.250 | Hitting_SLG | 0.271 | 0.250 | -0.271 | -0.250 |
| predicted_SO | 0.516 | 1.000 | 1.000 | Hitting_SO | 0.511 | 1.000 | 0.489 | 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_AB: 2.8020 -> 4.0000 (boost 1.1980, better) |
| 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: 2.8020 -> 4.2991 (boost 1.4971, better) | predicted_SLG: 0.3220 -> 0.2895 (deboost -0.0325, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3296 -> 0.3001 (deboost -0.0295, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.7184 -> 1.0000 (boost 0.2816, worse) | predicted_HBP: 0.5590 -> 0.0000 (deboost -0.5590, worse) | AB rounded to 4 (raw=4.30), rates preserved: AVG=0.217 HR/AB=0.008 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4843 -> 0.0000 (deboost -0.4843, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2165 -> 0.2500 (boost 0.0335, better) | predicted_OBP: 0.3001 -> 0.2500 (deboost -0.0501, 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_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2500 -> 0.3001 (boost 0.0501, better) | predicted_AVG: 0.2500 -> 0.2165 (deboost -0.0335, 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.088,
"predicted_3B": 0.0,
"predicted_AB": 2.802,
"predicted_AVG": 0.265,
"predicted_BB": 0.407,
"predicted_H": 0.65,
"predicted_HR": 0.05,
"predicted_OBP": 0.324,
"predicted_R": 0.341,
"predicted_RBI": 0.3,
"predicted_SLG": 0.322,
"predicted_SO": 0.516
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1173,
"predicted_3B": 0.0008,
"predicted_AB": 4.2991,
"predicted_AVG": 0.2421,
"predicted_BB": 0.5152,
"predicted_H": 0.9411,
"predicted_HBP": 0.559,
"predicted_HR": 0.0368,
"predicted_OBP": 0.3296,
"predicted_R": 0.4925,
"predicted_RBI": 0.4061,
"predicted_SLG": 0.2895,
"predicted_SO": 0.7163
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.088,
"after": 0.1173,
"delta": 0.0293,
"percent_delta": 0.333,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.802,
"after": 4.2991,
"delta": 1.4971,
"percent_delta": 0.5343,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2421,
"delta": -0.0229,
"percent_delta": -0.0864,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.407,
"after": 0.5152,
"delta": 0.1082,
"percent_delta": 0.2658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.9411,
"delta": 0.2911,
"percent_delta": 0.4478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0368,
"delta": -0.0132,
"percent_delta": -0.264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3296,
"delta": 0.0056,
"percent_delta": 0.0173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.341,
"after": 0.4925,
"delta": 0.1515,
"percent_delta": 0.4443,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.4061,
"delta": 0.1061,
"percent_delta": 0.3537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.322,
"after": 0.2895,
"delta": -0.0325,
"percent_delta": -0.1009,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.516,
"after": 0.7163,
"delta": 0.2003,
"percent_delta": 0.3882,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 7,
"deboosted_metrics": 2,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.802,
"after": 4.2991,
"delta": 1.4971,
"percent_delta": 0.5343,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.322,
"after": 0.2895,
"delta": -0.0325,
"percent_delta": -0.1009,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 6,
"season": 33
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1173,
"predicted_3B": 0.0008,
"predicted_AB": 4.2991,
"predicted_AVG": 0.2165,
"predicted_BB": 0.5137,
"predicted_H": 0.9308,
"predicted_HBP": 0.559,
"predicted_HR": 0.0362,
"predicted_OBP": 0.3001,
"predicted_R": 0.4843,
"predicted_RBI": 0.3993,
"predicted_SLG": 0.2694,
"predicted_SO": 0.7184
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1173,
"after": 0.1173,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2991,
"after": 4.2991,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2421,
"after": 0.2165,
"delta": -0.0256,
"percent_delta": -0.1057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5152,
"after": 0.5137,
"delta": -0.0015,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9411,
"after": 0.9308,
"delta": -0.0103,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.559,
"after": 0.559,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0368,
"after": 0.0362,
"delta": -0.0006,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3296,
"after": 0.3001,
"delta": -0.0295,
"percent_delta": -0.0895,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4925,
"after": 0.4843,
"delta": -0.0082,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4061,
"after": 0.3993,
"delta": -0.0068,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2895,
"after": 0.2694,
"delta": -0.0201,
"percent_delta": -0.0694,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7163,
"after": 0.7184,
"delta": 0.0021,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3296,
"after": 0.3001,
"delta": -0.0295,
"percent_delta": -0.0895,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.30), rates preserved: AVG=0.217 HR/AB=0.008",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1173,
"after": 0.0,
"delta": -0.1173,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2991,
"after": 4.0,
"delta": -0.2991,
"percent_delta": -0.0696,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5137,
"after": 0.0,
"delta": -0.5137,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9308,
"after": 1.0,
"delta": 0.0692,
"percent_delta": 0.0743,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.559,
"after": 0.0,
"delta": -0.559,
"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": 0.3993,
"after": 0.0,
"delta": -0.3993,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7184,
"after": 1.0,
"delta": 0.2816,
"percent_delta": 0.392,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7184,
"after": 1.0,
"delta": 0.2816,
"percent_delta": 0.392,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.559,
"after": 0.0,
"delta": -0.559,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4843,
"after": 0.0,
"delta": -0.4843,
"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.4843,
"after": 0.0,
"delta": -0.4843,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2165,
"after": 0.25,
"delta": 0.0335,
"percent_delta": 0.1547,
"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.3001,
"after": 0.25,
"delta": -0.0501,
"percent_delta": -0.1669,
"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.2694,
"after": 0.25,
"delta": -0.0194,
"percent_delta": -0.072,
"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.2165,
"after": 0.25,
"delta": 0.0335,
"percent_delta": 0.1547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3001,
"after": 0.25,
"delta": -0.0501,
"percent_delta": -0.1669,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2165,
"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.3001,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2694,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2165,
"delta": -0.0335,
"percent_delta": -0.1339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3001,
"delta": 0.0501,
"percent_delta": 0.2006,
"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.2694,
"delta": 0.0194,
"percent_delta": 0.0777,
"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.25,
"after": 0.3001,
"delta": 0.0501,
"percent_delta": 0.2006,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2165,
"delta": -0.0335,
"percent_delta": -0.1339,
"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": 2.802,
"after": 4.0,
"delta": 1.198,
"percent_delta": 0.4276,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2165,
"delta": -0.0485,
"percent_delta": -0.183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.407,
"after": 0.0,
"delta": -0.407,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"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.324,
"after": 0.3001,
"delta": -0.0239,
"percent_delta": -0.0738,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.341,
"after": 0.0,
"delta": -0.341,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.322,
"after": 0.2694,
"delta": -0.0526,
"percent_delta": -0.1634,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.516,
"after": 1.0,
"delta": 0.484,
"percent_delta": 0.938,
"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_AB",
"before": 2.802,
"after": 4.0,
"delta": 1.198,
"percent_delta": 0.4276,
"direction": "boost",
"projection_effect": "better",
"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.088 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.802 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.407 | - |
| predicted_H | 0.650 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.324 | - |
| predicted_R | 0.341 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.322 | - |
| predicted_SO | 0.516 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.117 | 0.029 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.299 | 1.497 |
| predicted_AVG | 0.242 | -0.023 |
| predicted_BB | 0.515 | 0.108 |
| predicted_H | 0.941 | 0.291 |
| predicted_HBP | 0.559 | - |
| predicted_HR | 0.037 | -0.013 |
| predicted_OBP | 0.330 | 0.006 |
| predicted_R | 0.492 | 0.151 |
| predicted_RBI | 0.406 | 0.106 |
| predicted_SLG | 0.289 | -0.033 |
| predicted_SO | 0.716 | 0.200 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.117 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.299 | 0.000 |
| predicted_AVG | 0.216 | -0.026 |
| predicted_BB | 0.514 | -0.001 |
| predicted_H | 0.931 | -0.010 |
| predicted_HBP | 0.559 | 0.000 |
| predicted_HR | 0.036 | -0.001 |
| predicted_OBP | 0.300 | -0.030 |
| predicted_R | 0.484 | -0.008 |
| predicted_RBI | 0.399 | -0.007 |
| predicted_SLG | 0.269 | -0.020 |
| predicted_SO | 0.718 | 0.002 |
AB rounded to 4 (raw=4.30), rates preserved: AVG=0.217 HR/AB=0.008
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.117 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.299 |
| predicted_AVG | 0.250 | 0.034 |
| predicted_BB | 0.000 | -0.514 |
| predicted_H | 1.000 | 0.069 |
| predicted_HR | 0.000 | -0.036 |
| predicted_OBP | 0.250 | -0.050 |
| predicted_R | 0.000 | -0.484 |
| predicted_RBI | 0.000 | -0.399 |
| predicted_SLG | 0.250 | -0.019 |
| predicted_SO | 1.000 | 0.282 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 13.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 1.000 | 0.1538 | 0.2667 | 0.1538 | 0.1538 | 0.0000 | 0.0769 | 0.0000 | 0.0769 |
| last_10 | 0.20 | 6 | - | 27.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 1.000 | 0.0741 | 0.1935 | 0.0741 | 0.0741 | 0.0000 | 0.0370 | 0.0370 | 0.0370 |
| season | 0.60 | 33 | - | 255.000 | 61.000 | 8.000 | 0.000 | 0.000 | 23.000 | 31.000 | 37.000 | 47.000 | 0.2392 | 0.3782 | 0.2706 | 0.2392 | 0.0000 | 0.0902 | 0.1451 | 0.1843 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1570 |
| predicted_3B | 0.0020 |
| predicted_AB | 6.3300 |
| predicted_AVG | 0.2110 |
| predicted_BB | 0.6620 |
| predicted_H | 1.3360 |
| predicted_HBP | 0.5590 |
| predicted_HR | 0.0190 |
| predicted_OBP | 0.3371 |
| predicted_R | 0.6980 |
| predicted_RBI | 0.5500 |
| predicted_SLG | 0.2453 |
| predicted_SO | 0.9880 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0880 | 0.1570 | 0.1173 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.8020 | 6.3300 | 4.2991 | model_form_blend |
| predicted_AVG | 0.2650 | 0.2110 | 0.2421 | model_form_blend |
| predicted_BB | 0.4070 | 0.6620 | 0.5152 | model_form_blend |
| predicted_H | 0.6500 | 1.3360 | 0.9411 | model_form_blend |
| predicted_HBP | - | 0.5590 | 0.5590 | form_only |
| predicted_HR | 0.0500 | 0.0190 | 0.0368 | model_form_blend |
| predicted_OBP | 0.3240 | 0.3371 | 0.3296 | model_form_blend |
| predicted_R | 0.3410 | 0.6980 | 0.4925 | model_form_blend |
| predicted_RBI | 0.3000 | 0.5500 | 0.4061 | model_form_blend |
| predicted_SLG | 0.3220 | 0.2453 | 0.2895 | model_form_blend |
| predicted_SO | 0.5160 | 0.9880 | 0.7163 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| 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.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 | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260531_KC@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-31 |
| sl_k_percent | 13.5 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.324 |
| sl_xwoba | 0.335 |
| sl_xba | 0.263 |
| sl_xslg | 0.321 |
| sl_sweet_spot_percent | 31.8 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 33.3 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 5.1 |
| sl_whiff_percent | 15.1 |
| sl_swing_percent | 47.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.299 | 0.000 | 0.000 | Hitting_2B | 0.296 | 0.000 | -0.296 | 0.000 |
| predicted_3B | 0.036 | 0.000 | 0.000 | Hitting_3B | 0.036 | 1.000 | -0.036 | -1.000 |
| predicted_AB | 3.497 | 4.000 | 6.000 | Hitting_AB | 3.456 | 4.000 | 0.544 | 0.000 |
| predicted_AVG | 0.253 | 0.000 | 0.333 | Hitting_AVG | 0.303 | 0.250 | -0.303 | -0.250 |
| predicted_BB | 0.329 | 0.000 | 1.000 | Hitting_BB | 0.325 | 0.000 | -0.325 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_H | 0.330 | 0.000 | 2.000 | Hitting_H | 1.047 | 1.000 | -1.047 | -1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_OBP | 0.307 | 0.000 | 0.429 | Hitting_OBP | 0.358 | 0.250 | -0.358 | -0.250 |
| predicted_R | 0.527 | 0.000 | 1.000 | Hitting_R | 0.521 | 1.000 | -0.521 | -1.000 |
| predicted_RBI | 0.250 | 0.000 | 1.000 | Hitting_RBI | 0.645 | 2.000 | -0.645 | -2.000 |
| predicted_SLG | 0.405 | 0.000 | 0.333 | Hitting_SLG | 0.481 | 0.750 | -0.481 | -0.750 |
| predicted_SO | 0.862 | 1.000 | 1.000 | Hitting_SO | 0.852 | 1.000 | 0.148 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 6 |
| Better Metrics | 1 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.4970 -> 4.0000 (boost 0.5030, better) |
| Biggest Deboost | predicted_R: 0.5270 -> 0.0000 (deboost -0.5270, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.4970 -> 6.2361 (boost 2.7391, 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.4380 -> 0.3967 (deboost -0.0413, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_BB: 0.5223 -> 1.0000 (boost 0.4777, better) | predicted_SO: 1.5519 -> 1.0000 (deboost -0.5519, better) | AB rounded to 6 (raw=6.24), rates preserved: AVG=0.250 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.9041 -> 1.0000 (boost 0.0959, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3082 -> 0.4290 (boost 0.1208, better) | predicted_SLG: 0.3967 -> 0.3330 (deboost -0.0637, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3967 (boost 0.0637, better) | predicted_OBP: 0.4290 -> 0.3082 (deboost -0.1208, 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.299,
"predicted_3B": 0.036,
"predicted_AB": 3.497,
"predicted_AVG": 0.253,
"predicted_BB": 0.329,
"predicted_H": 0.33,
"predicted_HR": 0.03,
"predicted_OBP": 0.307,
"predicted_R": 0.527,
"predicted_RBI": 0.25,
"predicted_SLG": 0.405,
"predicted_SO": 0.862
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.1007,
"predicted_AB": 6.2361,
"predicted_AVG": 0.285,
"predicted_BB": 0.5239,
"predicted_H": 1.5778,
"predicted_HBP": 0.004,
"predicted_HR": 0.0929,
"predicted_OBP": 0.3359,
"predicted_R": 0.9195,
"predicted_RBI": 0.979,
"predicted_SLG": 0.438,
"predicted_SO": 1.5473
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.299,
"after": 0.438,
"delta": 0.139,
"percent_delta": 0.4649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.036,
"after": 0.1007,
"delta": 0.0647,
"percent_delta": 1.7972,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.497,
"after": 6.2361,
"delta": 2.7391,
"percent_delta": 0.7833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.285,
"delta": 0.032,
"percent_delta": 0.1265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.329,
"after": 0.5239,
"delta": 0.1949,
"percent_delta": 0.5924,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 1.5778,
"delta": 1.2478,
"percent_delta": 3.7812,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0929,
"delta": 0.0629,
"percent_delta": 2.0967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3359,
"delta": 0.0289,
"percent_delta": 0.0941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.527,
"after": 0.9195,
"delta": 0.3925,
"percent_delta": 0.7448,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.979,
"delta": 0.729,
"percent_delta": 2.916,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.438,
"delta": 0.033,
"percent_delta": 0.0815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.862,
"after": 1.5473,
"delta": 0.6853,
"percent_delta": 0.795,
"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.497,
"after": 6.2361,
"delta": 2.7391,
"percent_delta": 0.7833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 6,
"season": 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.438,
"predicted_3B": 0.1007,
"predicted_AB": 6.2361,
"predicted_AVG": 0.2503,
"predicted_BB": 0.5223,
"predicted_H": 1.5606,
"predicted_HBP": 0.004,
"predicted_HR": 0.0913,
"predicted_OBP": 0.3082,
"predicted_R": 0.9041,
"predicted_RBI": 0.9627,
"predicted_SLG": 0.3967,
"predicted_SO": 1.5519
},
"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.1007,
"after": 0.1007,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.2361,
"after": 6.2361,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.285,
"after": 0.2503,
"delta": -0.0347,
"percent_delta": -0.1218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5239,
"after": 0.5223,
"delta": -0.0016,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5778,
"after": 1.5606,
"delta": -0.0172,
"percent_delta": -0.0109,
"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.0929,
"after": 0.0913,
"delta": -0.0016,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3359,
"after": 0.3082,
"delta": -0.0277,
"percent_delta": -0.0825,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9195,
"after": 0.9041,
"delta": -0.0154,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.979,
"after": 0.9627,
"delta": -0.0163,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.3967,
"delta": -0.0413,
"percent_delta": -0.0943,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5473,
"after": 1.5519,
"delta": 0.0046,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.438,
"after": 0.3967,
"delta": -0.0413,
"percent_delta": -0.0943,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.24), rates preserved: AVG=0.250 HR/AB=0.015",
"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.438,
"after": 0.0,
"delta": -0.438,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1007,
"after": 0.0,
"delta": -0.1007,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.2361,
"after": 6.0,
"delta": -0.2361,
"percent_delta": -0.0379,
"direction": "deboost",
"projection_effect": "worse",
"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.5606,
"after": 2.0,
"delta": 0.4394,
"percent_delta": 0.2816,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.0,
"delta": -0.004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0913,
"after": 0.0,
"delta": -0.0913,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9627,
"after": 1.0,
"delta": 0.0373,
"percent_delta": 0.0387,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.5519,
"after": 1.0,
"delta": -0.5519,
"percent_delta": -0.3556,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5223,
"after": 1.0,
"delta": 0.4777,
"percent_delta": 0.9146,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.5519,
"after": 1.0,
"delta": -0.5519,
"percent_delta": -0.3556,
"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.9041,
"after": 1.0,
"delta": 0.0959,
"percent_delta": 0.1061,
"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.9041,
"after": 1.0,
"delta": 0.0959,
"percent_delta": 0.1061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_AVG": 0.333,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.429,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2503,
"after": 0.333,
"delta": 0.0827,
"percent_delta": 0.3304,
"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.3082,
"after": 0.429,
"delta": 0.1208,
"percent_delta": 0.392,
"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.3967,
"after": 0.333,
"delta": -0.0637,
"percent_delta": -0.1606,
"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.3082,
"after": 0.429,
"delta": 0.1208,
"percent_delta": 0.392,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3967,
"after": 0.333,
"delta": -0.0637,
"percent_delta": -0.1606,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2503,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.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.3967,
"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.333,
"after": 0.2503,
"delta": -0.0827,
"percent_delta": -0.2485,
"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.3082,
"delta": -0.1208,
"percent_delta": -0.2816,
"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.3967,
"delta": 0.0637,
"percent_delta": 0.1913,
"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.3967,
"delta": 0.0637,
"percent_delta": 0.1913,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.429,
"after": 0.3082,
"delta": -0.1208,
"percent_delta": -0.2816,
"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.299,
"after": 0.0,
"delta": -0.299,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.497,
"after": 4.0,
"delta": 0.503,
"percent_delta": 0.1438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2503,
"delta": -0.0027,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.329,
"after": 0.0,
"delta": -0.329,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3082,
"delta": 0.0012,
"percent_delta": 0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.527,
"after": 0.0,
"delta": -0.527,
"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.405,
"after": 0.3967,
"delta": -0.0083,
"percent_delta": -0.0205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.862,
"after": 1.0,
"delta": 0.138,
"percent_delta": 0.1601,
"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_AB",
"before": 3.497,
"after": 4.0,
"delta": 0.503,
"percent_delta": 0.1438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.527,
"after": 0.0,
"delta": -0.527,
"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.299 | - |
| predicted_3B | 0.036 | - |
| predicted_AB | 3.497 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.329 | - |
| predicted_H | 0.330 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.307 | - |
| predicted_R | 0.527 | - |
| predicted_RBI | 0.250 | - |
| predicted_SLG | 0.405 | - |
| predicted_SO | 0.862 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.139 |
| predicted_3B | 0.101 | 0.065 |
| predicted_AB | 6.236 | 2.739 |
| predicted_AVG | 0.285 | 0.032 |
| predicted_BB | 0.524 | 0.195 |
| predicted_H | 1.578 | 1.248 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.093 | 0.063 |
| predicted_OBP | 0.336 | 0.029 |
| predicted_R | 0.919 | 0.392 |
| predicted_RBI | 0.979 | 0.729 |
| predicted_SLG | 0.438 | 0.033 |
| predicted_SO | 1.547 | 0.685 |
Step 3: 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.101 | 0.000 |
| predicted_AB | 6.236 | 0.000 |
| predicted_AVG | 0.250 | -0.035 |
| predicted_BB | 0.522 | -0.002 |
| predicted_H | 1.561 | -0.017 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.091 | -0.002 |
| predicted_OBP | 0.308 | -0.028 |
| predicted_R | 0.904 | -0.015 |
| predicted_RBI | 0.963 | -0.016 |
| predicted_SLG | 0.397 | -0.041 |
| predicted_SO | 1.552 | 0.005 |
AB rounded to 6 (raw=6.24), rates preserved: AVG=0.250 HR/AB=0.015
| 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.438 |
| predicted_3B | 0.000 | -0.101 |
| predicted_AB | 6.000 | -0.236 |
| predicted_AVG | 0.333 | 0.083 |
| predicted_BB | 1.000 | 0.478 |
| predicted_H | 2.000 | 0.439 |
| predicted_HR | 0.000 | -0.091 |
| predicted_OBP | 0.429 | 0.121 |
| predicted_R | 1.000 | 0.096 |
| predicted_RBI | 1.000 | 0.037 |
| predicted_SLG | 0.333 | -0.064 |
| predicted_SO | 1.000 | -0.552 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -2.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 20.000 | 8.000 | 0.000 | 1.000 | 0.000 | 5.000 | 3.000 | 1.000 | 5.000 | 0.4000 | 0.4286 | 0.5000 | 0.4000 | 0.0000 | 0.2500 | 0.0500 | 0.2500 |
| last_10 | 0.20 | 6 | - | 36.000 | 14.000 | 1.000 | 1.000 | 0.000 | 7.000 | 4.000 | 1.000 | 10.000 | 0.3889 | 0.4054 | 0.4722 | 0.3889 | 0.0000 | 0.1944 | 0.0278 | 0.2778 |
| season | 0.60 | 49 | - | 584.000 | 177.000 | 50.000 | 6.000 | 14.000 | 109.000 | 88.000 | 55.000 | 144.000 | 0.3031 | 0.3580 | 0.4812 | 0.3031 | 0.0240 | 0.1866 | 0.0942 | 0.2466 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6170 |
| predicted_3B | 0.1840 |
| predicted_AB | 9.7640 |
| predicted_AVG | 0.3262 |
| predicted_BB | 0.7750 |
| predicted_H | 3.1850 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.1740 |
| predicted_OBP | 0.3732 |
| predicted_R | 1.4250 |
| predicted_RBI | 1.9180 |
| predicted_SLG | 0.4806 |
| predicted_SO | 2.4300 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2990 | 0.6170 | 0.4380 | model_form_blend |
| predicted_3B | 0.0360 | 0.1840 | 0.1007 | model_form_blend |
| predicted_AB | 3.4970 | 9.7640 | 6.2361 | model_form_blend |
| predicted_AVG | 0.2530 | 0.3262 | 0.2850 | model_form_blend |
| predicted_BB | 0.3290 | 0.7750 | 0.5239 | model_form_blend |
| predicted_H | 0.3300 | 3.1850 | 1.5778 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0300 | 0.1740 | 0.0929 | model_form_blend |
| predicted_OBP | 0.3070 | 0.3732 | 0.3359 | model_form_blend |
| predicted_R | 0.5270 | 1.4250 | 0.9195 | model_form_blend |
| predicted_RBI | 0.2500 | 1.9180 | 0.9790 | model_form_blend |
| predicted_SLG | 0.4050 | 0.4806 | 0.4380 | model_form_blend |
| predicted_SO | 0.8620 | 2.4300 | 1.5473 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 169 |
| Season rows before report date | 169 |
| Report year | 2026 |
| Profile rows used | 167 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.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 | 1 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| 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 | SS |
| gameID | 20260531_KC@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-31 |
| sl_k_percent | 23.9 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.349 |
| sl_xwoba | 0.313 |
| sl_xba | 0.257 |
| sl_xslg | 0.383 |
| sl_sweet_spot_percent | 35.0 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 40.0 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 13.0 |
| sl_whiff_percent | 30.3 |
| sl_swing_percent | 49.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.119 | 0.000 | 0.000 | Hitting_2B | 0.117 | 1.000 | -0.117 | -1.000 |
| predicted_3B | 0.031 | 0.000 | 0.000 | Hitting_3B | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_AB | 3.232 | 3.000 | 6.000 | Hitting_AB | 3.199 | 3.000 | -0.199 | 0.000 |
| predicted_AVG | 0.221 | 0.333 | 0.167 | Hitting_AVG | 0.185 | 0.333 | 0.148 | 0.000 |
| predicted_BB | 0.505 | 1.000 | 1.000 | Hitting_BB | 0.520 | 0.000 | 0.480 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.270 | 1.000 | 1.000 | Hitting_H | 0.592 | 1.000 | 0.408 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.128 | 0.000 | -0.128 | 0.000 |
| predicted_OBP | 0.294 | 0.500 | 0.286 | Hitting_OBP | 0.306 | 0.500 | 0.194 | 0.000 |
| predicted_R | 0.428 | 1.000 | 1.000 | Hitting_R | 0.434 | 1.000 | 0.566 | 0.000 |
| predicted_RBI | 0.180 | 0.000 | 1.000 | Hitting_RBI | 0.352 | 0.000 | -0.352 | 0.000 |
| predicted_SLG | 0.401 | 0.333 | 0.167 | Hitting_SLG | 0.360 | 0.667 | -0.027 | -0.333 |
| predicted_SO | 0.876 | 1.000 | 2.000 | Hitting_SO | 0.867 | 0.000 | 0.133 | 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_H: 0.2700 -> 1.0000 (boost 0.7300, better) |
| Biggest Deboost | predicted_AB: 3.2320 -> 3.0000 (deboost -0.2320, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.2320 -> 6.3504 (boost 3.1184, better) | predicted_SLG: 0.4010 -> 0.3723 (deboost -0.0287, 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.3723 -> 0.2896 (deboost -0.0827, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 4 | 5 | 3 | 6 | predicted_RBI: 0.5384 -> 1.0000 (boost 0.4616, better) | predicted_HBP: 0.6340 -> 0.0000 (deboost -0.6340, worse) | AB rounded to 6 (raw=6.35), rates preserved: AVG=0.144 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7801 -> 1.0000 (boost 0.2199, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2491 -> 0.2860 (boost 0.0369, better) | predicted_SLG: 0.2896 -> 0.1670 (deboost -0.1226, 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.1670 -> 0.2896 (boost 0.1226, better) | predicted_OBP: 0.2860 -> 0.2491 (deboost -0.0369, worse) | 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.119,
"predicted_3B": 0.031,
"predicted_AB": 3.232,
"predicted_AVG": 0.221,
"predicted_BB": 0.505,
"predicted_H": 0.27,
"predicted_HR": 0.05,
"predicted_OBP": 0.294,
"predicted_R": 0.428,
"predicted_RBI": 0.18,
"predicted_SLG": 0.401,
"predicted_SO": 0.876
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2471,
"predicted_3B": 0.0656,
"predicted_AB": 6.3504,
"predicted_AVG": 0.1986,
"predicted_BB": 0.8945,
"predicted_H": 0.9222,
"predicted_HBP": 0.634,
"predicted_HR": 0.186,
"predicted_OBP": 0.2986,
"predicted_R": 0.7933,
"predicted_RBI": 0.5475,
"predicted_SLG": 0.3723,
"predicted_SO": 1.8229
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.119,
"after": 0.2471,
"delta": 0.1281,
"percent_delta": 1.0765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0656,
"delta": 0.0346,
"percent_delta": 1.1161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.232,
"after": 6.3504,
"delta": 3.1184,
"percent_delta": 0.9649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.1986,
"delta": -0.0224,
"percent_delta": -0.1014,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.505,
"after": 0.8945,
"delta": 0.3895,
"percent_delta": 0.7713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.27,
"after": 0.9222,
"delta": 0.6522,
"percent_delta": 2.4156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.186,
"delta": 0.136,
"percent_delta": 2.72,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2986,
"delta": 0.0046,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.428,
"after": 0.7933,
"delta": 0.3653,
"percent_delta": 0.8535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.18,
"after": 0.5475,
"delta": 0.3675,
"percent_delta": 2.0417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.3723,
"delta": -0.0287,
"percent_delta": -0.0716,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.876,
"after": 1.8229,
"delta": 0.9469,
"percent_delta": 1.0809,
"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.232,
"after": 6.3504,
"delta": 3.1184,
"percent_delta": 0.9649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.3723,
"delta": -0.0287,
"percent_delta": -0.0716,
"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": 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.2471,
"predicted_3B": 0.0656,
"predicted_AB": 6.3504,
"predicted_AVG": 0.1436,
"predicted_BB": 0.8918,
"predicted_H": 0.9121,
"predicted_HBP": 0.634,
"predicted_HR": 0.1828,
"predicted_OBP": 0.2491,
"predicted_R": 0.7801,
"predicted_RBI": 0.5384,
"predicted_SLG": 0.2896,
"predicted_SO": 1.8284
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2471,
"after": 0.2471,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0656,
"after": 0.0656,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.3504,
"after": 6.3504,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1986,
"after": 0.1436,
"delta": -0.055,
"percent_delta": -0.2769,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8945,
"after": 0.8918,
"delta": -0.0027,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9222,
"after": 0.9121,
"delta": -0.0101,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.634,
"after": 0.634,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.186,
"after": 0.1828,
"delta": -0.0032,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2986,
"after": 0.2491,
"delta": -0.0495,
"percent_delta": -0.1658,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7933,
"after": 0.7801,
"delta": -0.0132,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5475,
"after": 0.5384,
"delta": -0.0091,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3723,
"after": 0.2896,
"delta": -0.0827,
"percent_delta": -0.2221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8229,
"after": 1.8284,
"delta": 0.0055,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3723,
"after": 0.2896,
"delta": -0.0827,
"percent_delta": -0.2221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.35), rates preserved: AVG=0.144 HR/AB=0.029",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2471,
"after": 0.0,
"delta": -0.2471,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0656,
"after": 0.0,
"delta": -0.0656,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.3504,
"after": 6.0,
"delta": -0.3504,
"percent_delta": -0.0552,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8918,
"after": 1.0,
"delta": 0.1082,
"percent_delta": 0.1213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9121,
"after": 1.0,
"delta": 0.0879,
"percent_delta": 0.0964,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.634,
"after": 0.0,
"delta": -0.634,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1828,
"after": 0.0,
"delta": -0.1828,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5384,
"after": 1.0,
"delta": 0.4616,
"percent_delta": 0.8574,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8284,
"after": 2.0,
"delta": 0.1716,
"percent_delta": 0.0939,
"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.5384,
"after": 1.0,
"delta": 0.4616,
"percent_delta": 0.8574,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.634,
"after": 0.0,
"delta": -0.634,
"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.7801,
"after": 1.0,
"delta": 0.2199,
"percent_delta": 0.2819,
"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.7801,
"after": 1.0,
"delta": 0.2199,
"percent_delta": 0.2819,
"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.1436,
"after": 0.167,
"delta": 0.0234,
"percent_delta": 0.163,
"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.2491,
"after": 0.286,
"delta": 0.0369,
"percent_delta": 0.1481,
"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.2896,
"after": 0.167,
"delta": -0.1226,
"percent_delta": -0.4233,
"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.2491,
"after": 0.286,
"delta": 0.0369,
"percent_delta": 0.1481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2896,
"after": 0.167,
"delta": -0.1226,
"percent_delta": -0.4233,
"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": 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": 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": 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.1436,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2491,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2896,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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.1436,
"delta": -0.0234,
"percent_delta": -0.1399,
"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.2491,
"delta": -0.0369,
"percent_delta": -0.1291,
"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.2896,
"delta": 0.1226,
"percent_delta": 0.734,
"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.167,
"after": 0.2896,
"delta": 0.1226,
"percent_delta": 0.734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2491,
"delta": -0.0369,
"percent_delta": -0.1291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.119,
"after": 0.0,
"delta": -0.119,
"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.232,
"after": 3.0,
"delta": -0.232,
"percent_delta": -0.0718,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.1436,
"delta": -0.0774,
"percent_delta": -0.3502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.505,
"after": 1.0,
"delta": 0.495,
"percent_delta": 0.9802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.27,
"after": 1.0,
"delta": 0.73,
"percent_delta": 2.7037,
"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.294,
"after": 0.2491,
"delta": -0.0449,
"percent_delta": -0.1527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.428,
"after": 1.0,
"delta": 0.572,
"percent_delta": 1.3364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.2896,
"delta": -0.1114,
"percent_delta": -0.2778,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.876,
"after": 1.0,
"delta": 0.124,
"percent_delta": 0.1416,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.27,
"after": 1.0,
"delta": 0.73,
"percent_delta": 2.7037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.232,
"after": 3.0,
"delta": -0.232,
"percent_delta": -0.0718,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.119 | - |
| predicted_3B | 0.031 | - |
| predicted_AB | 3.232 | - |
| predicted_AVG | 0.221 | - |
| predicted_BB | 0.505 | - |
| predicted_H | 0.270 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.428 | - |
| predicted_RBI | 0.180 | - |
| predicted_SLG | 0.401 | - |
| predicted_SO | 0.876 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.247 | 0.128 |
| predicted_3B | 0.066 | 0.035 |
| predicted_AB | 6.350 | 3.118 |
| predicted_AVG | 0.199 | -0.022 |
| predicted_BB | 0.894 | 0.389 |
| predicted_H | 0.922 | 0.652 |
| predicted_HBP | 0.634 | - |
| predicted_HR | 0.186 | 0.136 |
| predicted_OBP | 0.299 | 0.005 |
| predicted_R | 0.793 | 0.365 |
| predicted_RBI | 0.547 | 0.367 |
| predicted_SLG | 0.372 | -0.029 |
| predicted_SO | 1.823 | 0.947 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.247 | 0.000 |
| predicted_3B | 0.066 | 0.000 |
| predicted_AB | 6.350 | 0.000 |
| predicted_AVG | 0.144 | -0.055 |
| predicted_BB | 0.892 | -0.003 |
| predicted_H | 0.912 | -0.010 |
| predicted_HBP | 0.634 | 0.000 |
| predicted_HR | 0.183 | -0.003 |
| predicted_OBP | 0.249 | -0.049 |
| predicted_R | 0.780 | -0.013 |
| predicted_RBI | 0.538 | -0.009 |
| predicted_SLG | 0.290 | -0.083 |
| predicted_SO | 1.828 | 0.006 |
AB rounded to 6 (raw=6.35), rates preserved: AVG=0.144 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.247 |
| predicted_3B | 0.000 | -0.066 |
| predicted_AB | 6.000 | -0.350 |
| predicted_AVG | 0.167 | 0.023 |
| predicted_BB | 1.000 | 0.108 |
| predicted_H | 1.000 | 0.088 |
| predicted_HR | 0.000 | -0.183 |
| predicted_OBP | 0.286 | 0.037 |
| predicted_R | 1.000 | 0.220 |
| predicted_RBI | 1.000 | 0.462 |
| predicted_SLG | 0.167 | -0.123 |
| predicted_SO | 2.000 | 0.172 |
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 | 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 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 4.000 | 0.0667 | 0.3000 | 0.1333 | 0.0667 | 0.0000 | 0.0000 | 0.0000 | 0.2667 |
| last_10 | 0.20 | 4 | - | 31.000 | 4.000 | 1.000 | 1.000 | 1.000 | 3.000 | 3.000 | 4.000 | 16.000 | 0.1290 | 0.3250 | 0.3226 | 0.1290 | 0.0323 | 0.0968 | 0.1290 | 0.5161 |
| season | 0.60 | 55 | - | 627.000 | 116.000 | 23.000 | 6.000 | 25.000 | 69.000 | 83.000 | 98.000 | 170.000 | 0.1850 | 0.3018 | 0.3604 | 0.1850 | 0.0399 | 0.1100 | 0.1563 | 0.2711 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4110 |
| predicted_3B | 0.1100 |
| predicted_AB | 10.3420 |
| predicted_AVG | 0.1699 |
| predicted_BB | 1.3930 |
| predicted_H | 1.7570 |
| predicted_HBP | 0.6340 |
| predicted_HR | 0.3600 |
| predicted_OBP | 0.3044 |
| predicted_R | 1.2610 |
| predicted_RBI | 1.0180 |
| predicted_SLG | 0.3355 |
| predicted_SO | 3.0350 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1190 | 0.4110 | 0.2471 | model_form_blend |
| predicted_3B | 0.0310 | 0.1100 | 0.0656 | model_form_blend |
| predicted_AB | 3.2320 | 10.3420 | 6.3504 | model_form_blend |
| predicted_AVG | 0.2210 | 0.1699 | 0.1986 | model_form_blend |
| predicted_BB | 0.5050 | 1.3930 | 0.8945 | model_form_blend |
| predicted_H | 0.2700 | 1.7570 | 0.9222 | model_form_blend |
| predicted_HBP | - | 0.6340 | 0.6340 | form_only |
| predicted_HR | 0.0500 | 0.3600 | 0.1860 | model_form_blend |
| predicted_OBP | 0.2940 | 0.3044 | 0.2986 | model_form_blend |
| predicted_R | 0.4280 | 1.2610 | 0.7933 | model_form_blend |
| predicted_RBI | 0.1800 | 1.0180 | 0.5475 | model_form_blend |
| predicted_SLG | 0.4010 | 0.3355 | 0.3723 | model_form_blend |
| predicted_SO | 0.8760 | 3.0350 | 1.8229 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.185 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| 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 | 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 | 20260529_KC@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-29 |
| sl_k_percent | 22.1 |
| sl_bb_percent | 13.1 |
| sl_woba | 0.292 |
| sl_xwoba | 0.301 |
| sl_xba | 0.201 |
| sl_xslg | 0.347 |
| sl_sweet_spot_percent | 30.2 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 38.9 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 19.3 |
| sl_whiff_percent | 25.4 |
| sl_swing_percent | 40.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.182 | 0.000 | 0.000 | Hitting_2B | 0.182 | 1.000 | -0.182 | -1.000 |
| predicted_3B | 0.030 | 0.000 | 0.000 | Hitting_3B | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_AB | 3.348 | 3.000 | 6.000 | Hitting_AB | 3.348 | 3.000 | -0.348 | 0.000 |
| predicted_AVG | 0.215 | 0.000 | 0.167 | Hitting_AVG | 0.188 | 0.333 | -0.188 | -0.333 |
| predicted_BB | 0.348 | 1.000 | 1.000 | Hitting_BB | 0.348 | 0.000 | 0.652 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_H | 0.610 | 0.000 | 1.000 | Hitting_H | 0.629 | 1.000 | -0.629 | -1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.098 | 0.000 | -0.098 | 0.000 |
| predicted_OBP | 0.275 | 0.250 | 0.286 | Hitting_OBP | 0.286 | 0.500 | -0.036 | -0.250 |
| predicted_R | 0.288 | 0.000 | 0.000 | Hitting_R | 0.288 | 0.000 | -0.288 | 0.000 |
| predicted_RBI | 0.340 | 0.000 | 1.000 | Hitting_RBI | 0.341 | 2.000 | -0.341 | -2.000 |
| predicted_SLG | 0.325 | 0.000 | 0.167 | Hitting_SLG | 0.348 | 0.667 | -0.348 | -0.667 |
| predicted_SO | 1.038 | 1.000 | 2.000 | Hitting_SO | 1.038 | 0.000 | -0.038 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.3480 -> 1.0000 (boost 0.6520, better) |
| 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 | 9 | 8 | 1 | 7 | 2 | predicted_AB: 3.3480 -> 6.1148 (boost 2.7668, better) | predicted_AVG: 0.2150 -> 0.2052 (deboost -0.0098, 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.2776 -> 0.2564 (deboost -0.0212, 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.5696 -> 1.0000 (boost 0.4304, better) | predicted_HBP: 0.3420 -> 0.0000 (deboost -0.3420, worse) | AB rounded to 6 (raw=6.11), rates preserved: AVG=0.187 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4865 -> 0.0000 (deboost -0.4865, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2564 -> 0.2860 (boost 0.0296, better) | predicted_SLG: 0.3224 -> 0.1670 (deboost -0.1554, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 1 | 3 | - | predicted_AB: 6.0000 -> 3.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.1670 -> 0.3224 (boost 0.1554, better) | predicted_OBP: 0.2860 -> 0.2564 (deboost -0.0296, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "643376",
"player_name": "Danny Jansen",
"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.182,
"predicted_3B": 0.03,
"predicted_AB": 3.348,
"predicted_AVG": 0.215,
"predicted_BB": 0.348,
"predicted_H": 0.61,
"predicted_HR": 0.08,
"predicted_OBP": 0.275,
"predicted_R": 0.288,
"predicted_RBI": 0.34,
"predicted_SLG": 0.325,
"predicted_SO": 1.038
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3216,
"predicted_3B": 0.0447,
"predicted_AB": 6.1148,
"predicted_AVG": 0.2052,
"predicted_BB": 0.5713,
"predicted_H": 1.1567,
"predicted_HBP": 0.342,
"predicted_HR": 0.1411,
"predicted_OBP": 0.2776,
"predicted_R": 0.4948,
"predicted_RBI": 0.6175,
"predicted_SLG": 0.3252,
"predicted_SO": 1.9835
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 0.3216,
"delta": 0.1396,
"percent_delta": 0.767,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.0447,
"delta": 0.0147,
"percent_delta": 0.49,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.348,
"after": 6.1148,
"delta": 2.7668,
"percent_delta": 0.8264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2052,
"delta": -0.0098,
"percent_delta": -0.0456,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.348,
"after": 0.5713,
"delta": 0.2233,
"percent_delta": 0.6417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 1.1567,
"delta": 0.5467,
"percent_delta": 0.8962,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1411,
"delta": 0.0611,
"percent_delta": 0.7638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2776,
"delta": 0.0026,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.288,
"after": 0.4948,
"delta": 0.2068,
"percent_delta": 0.7181,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.6175,
"delta": 0.2775,
"percent_delta": 0.8162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.325,
"after": 0.3252,
"delta": 0.0002,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.038,
"after": 1.9835,
"delta": 0.9455,
"percent_delta": 0.9109,
"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.348,
"after": 6.1148,
"delta": 2.7668,
"percent_delta": 0.8264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2052,
"delta": -0.0098,
"percent_delta": -0.0456,
"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": 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.3216,
"predicted_3B": 0.0447,
"predicted_AB": 6.1148,
"predicted_AVG": 0.1871,
"predicted_BB": 0.5696,
"predicted_H": 1.1441,
"predicted_HBP": 0.342,
"predicted_HR": 0.1387,
"predicted_OBP": 0.2564,
"predicted_R": 0.4865,
"predicted_RBI": 0.6072,
"predicted_SLG": 0.3224,
"predicted_SO": 1.9895
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3216,
"after": 0.3216,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0447,
"after": 0.0447,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.1148,
"after": 6.1148,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2052,
"after": 0.1871,
"delta": -0.0181,
"percent_delta": -0.0882,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5713,
"after": 0.5696,
"delta": -0.0017,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1567,
"after": 1.1441,
"delta": -0.0126,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.342,
"after": 0.342,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1411,
"after": 0.1387,
"delta": -0.0024,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2776,
"after": 0.2564,
"delta": -0.0212,
"percent_delta": -0.0764,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4948,
"after": 0.4865,
"delta": -0.0083,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6175,
"after": 0.6072,
"delta": -0.0103,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3252,
"after": 0.3224,
"delta": -0.0028,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.9835,
"after": 1.9895,
"delta": 0.006,
"percent_delta": 0.003,
"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.2776,
"after": 0.2564,
"delta": -0.0212,
"percent_delta": -0.0764,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.11), rates preserved: AVG=0.187 HR/AB=0.023",
"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.3216,
"after": 0.0,
"delta": -0.3216,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0447,
"after": 0.0,
"delta": -0.0447,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.1148,
"after": 6.0,
"delta": -0.1148,
"percent_delta": -0.0188,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5696,
"after": 1.0,
"delta": 0.4304,
"percent_delta": 0.7556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1441,
"after": 1.0,
"delta": -0.1441,
"percent_delta": -0.126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.342,
"after": 0.0,
"delta": -0.342,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1387,
"after": 0.0,
"delta": -0.1387,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6072,
"after": 1.0,
"delta": 0.3928,
"percent_delta": 0.6469,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9895,
"after": 2.0,
"delta": 0.0105,
"percent_delta": 0.0053,
"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.5696,
"after": 1.0,
"delta": 0.4304,
"percent_delta": 0.7556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.342,
"after": 0.0,
"delta": -0.342,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 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.4865,
"after": 0.0,
"delta": -0.4865,
"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.4865,
"after": 0.0,
"delta": -0.4865,
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.1871,
"after": 0.167,
"delta": -0.0201,
"percent_delta": -0.1074,
"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.2564,
"after": 0.286,
"delta": 0.0296,
"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.3224,
"after": 0.167,
"delta": -0.1554,
"percent_delta": -0.482,
"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.2564,
"after": 0.286,
"delta": 0.0296,
"percent_delta": 0.1154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3224,
"after": 0.167,
"delta": -0.1554,
"percent_delta": -0.482,
"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": 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": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1871,
"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.2564,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3224,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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.1871,
"delta": 0.0201,
"percent_delta": 0.1204,
"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.2564,
"delta": -0.0296,
"percent_delta": -0.1036,
"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.3224,
"delta": 0.1554,
"percent_delta": 0.9303,
"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.3224,
"delta": 0.1554,
"percent_delta": 0.9303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2564,
"delta": -0.0296,
"percent_delta": -0.1036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 0.0,
"delta": -0.182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.348,
"after": 3.0,
"delta": -0.348,
"percent_delta": -0.1039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.1871,
"delta": -0.0279,
"percent_delta": -0.1298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.348,
"after": 1.0,
"delta": 0.652,
"percent_delta": 1.8736,
"direction": "boost",
"projection_effect": "better",
"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.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2564,
"delta": -0.0186,
"percent_delta": -0.0676,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.288,
"after": 0.0,
"delta": -0.288,
"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.325,
"after": 0.3224,
"delta": -0.0026,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.038,
"after": 1.0,
"delta": -0.038,
"percent_delta": -0.0366,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.348,
"after": 1.0,
"delta": 0.652,
"percent_delta": 1.8736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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.182 | - |
| predicted_3B | 0.030 | - |
| predicted_AB | 3.348 | - |
| predicted_AVG | 0.215 | - |
| predicted_BB | 0.348 | - |
| predicted_H | 0.610 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.275 | - |
| predicted_R | 0.288 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.325 | - |
| predicted_SO | 1.038 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.140 |
| predicted_3B | 0.045 | 0.015 |
| predicted_AB | 6.115 | 2.767 |
| predicted_AVG | 0.205 | -0.010 |
| predicted_BB | 0.571 | 0.223 |
| predicted_H | 1.157 | 0.547 |
| predicted_HBP | 0.342 | - |
| predicted_HR | 0.141 | 0.061 |
| predicted_OBP | 0.278 | 0.003 |
| predicted_R | 0.495 | 0.207 |
| predicted_RBI | 0.618 | 0.278 |
| predicted_SLG | 0.325 | 0.000 |
| predicted_SO | 1.984 | 0.946 |
Step 3: 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.045 | 0.000 |
| predicted_AB | 6.115 | 0.000 |
| predicted_AVG | 0.187 | -0.018 |
| predicted_BB | 0.570 | -0.002 |
| predicted_H | 1.144 | -0.013 |
| predicted_HBP | 0.342 | 0.000 |
| predicted_HR | 0.139 | -0.002 |
| predicted_OBP | 0.256 | -0.021 |
| predicted_R | 0.486 | -0.008 |
| predicted_RBI | 0.607 | -0.010 |
| predicted_SLG | 0.322 | -0.003 |
| predicted_SO | 1.990 | 0.006 |
AB rounded to 6 (raw=6.11), rates preserved: AVG=0.187 HR/AB=0.023
| 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 | 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.322 |
| predicted_3B | 0.000 | -0.045 |
| predicted_AB | 6.000 | -0.115 |
| predicted_AVG | 0.167 | -0.020 |
| predicted_BB | 1.000 | 0.430 |
| predicted_H | 1.000 | -0.144 |
| predicted_HR | 0.000 | -0.139 |
| predicted_OBP | 0.286 | 0.030 |
| predicted_R | 0.000 | -0.486 |
| predicted_RBI | 1.000 | 0.393 |
| predicted_SLG | 0.167 | -0.155 |
| predicted_SO | 2.000 | 0.010 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -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 | 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 | 3 | - | 18.000 | 4.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 8.000 | 0.2222 | 0.3000 | 0.2778 | 0.2222 | 0.0000 | 0.1111 | 0.0556 | 0.4444 |
| last_10 | 0.20 | 5 | - | 34.000 | 5.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 13.000 | 0.1471 | 0.1944 | 0.1765 | 0.1471 | 0.0000 | 0.0588 | 0.0294 | 0.3824 |
| season | 0.60 | 39 | - | 442.000 | 83.000 | 24.000 | 4.000 | 13.000 | 45.000 | 38.000 | 46.000 | 137.000 | 0.1878 | 0.2863 | 0.3484 | 0.1878 | 0.0294 | 0.1018 | 0.1041 | 0.3100 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5040 |
| predicted_3B | 0.0640 |
| predicted_AB | 9.7300 |
| predicted_AVG | 0.1923 |
| predicted_BB | 0.8630 |
| predicted_H | 1.8710 |
| predicted_HBP | 0.3420 |
| predicted_HR | 0.2210 |
| predicted_OBP | 0.2811 |
| predicted_R | 0.7650 |
| predicted_RBI | 0.9800 |
| predicted_SLG | 0.3255 |
| predicted_SO | 3.2190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1820 | 0.5040 | 0.3216 | model_form_blend |
| predicted_3B | 0.0300 | 0.0640 | 0.0447 | model_form_blend |
| predicted_AB | 3.3480 | 9.7300 | 6.1148 | model_form_blend |
| predicted_AVG | 0.2150 | 0.1923 | 0.2052 | model_form_blend |
| predicted_BB | 0.3480 | 0.8630 | 0.5713 | model_form_blend |
| predicted_H | 0.6100 | 1.8710 | 1.1567 | model_form_blend |
| predicted_HBP | - | 0.3420 | 0.3420 | form_only |
| predicted_HR | 0.0800 | 0.2210 | 0.1411 | model_form_blend |
| predicted_OBP | 0.2750 | 0.2811 | 0.2776 | model_form_blend |
| predicted_R | 0.2880 | 0.7650 | 0.4948 | model_form_blend |
| predicted_RBI | 0.3400 | 0.9800 | 0.6175 | model_form_blend |
| predicted_SLG | 0.3250 | 0.3255 | 0.3252 | model_form_blend |
| predicted_SO | 1.0380 | 3.2190 | 1.9835 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 132 |
| Season rows before report date | 132 |
| 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.188 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 2 |
| 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 | C |
| gameID | 20260530_KC@TEX |
| game_type | full |
| mlbID | 643376 |
| playerID | 643376 |
| playerName | Danny Jansen |
| pos | C |
| started | True |
| startingPosition | C |
| team | TEX |
| teamID | 28 |
| game_date | 2026-05-30 |
| sl_k_percent | 28.3 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.274 |
| sl_xwoba | 0.257 |
| sl_xba | 0.171 |
| sl_xslg | 0.28 |
| sl_sweet_spot_percent | 22.0 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 34.1 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 21.3 |
| sl_whiff_percent | 26.1 |
| sl_swing_percent | 44.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.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.733 | 4.000 | 3.000 | Hitting_AB | 3.200 | 4.000 | 0.800 | 0.000 |
| predicted_AVG | 0.263 | 0.250 | 0.333 | Hitting_AVG | 0.156 | 0.500 | 0.094 | -0.250 |
| predicted_BB | 0.267 | 0.000 | 0.000 | Hitting_BB | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.220 | 1.000 | 1.000 | Hitting_H | 0.500 | 2.000 | 0.500 | -1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_OBP | 0.288 | 0.250 | 0.333 | Hitting_OBP | 0.250 | 0.500 | 0.000 | -0.250 |
| predicted_R | 0.267 | 0.000 | 0.000 | Hitting_R | 0.200 | 1.000 | -0.200 | -1.000 |
| predicted_RBI | 0.140 | 0.000 | 0.000 | Hitting_RBI | 0.300 | 0.000 | -0.300 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.395 | 0.250 | 0.333 | Hitting_SLG | 0.250 | 0.500 | 0.000 | -0.250 |
| predicted_SO | 0.667 | 1.000 | 1.000 | Hitting_SO | 0.600 | 1.000 | 0.400 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.7330 -> 4.0000 (boost 1.2670, better) |
| Biggest Deboost | predicted_BB: 0.2670 -> 0.0000 (deboost -0.2670, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.7330 -> 3.3397 (boost 0.6067, better) | predicted_SLG: 0.3950 -> 0.3683 (deboost -0.0267, 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.3683 -> 0.2084 (deboost -0.1599, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 0 | 6 | predicted_SO: 0.7989 -> 1.0000 (boost 0.2011, worse) | predicted_H: 0.4376 -> 0.0000 (deboost -0.4376, worse) | AB rounded to 3 (raw=3.34), rates preserved: AVG=0.131 HR/AB=0.022 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3405 -> 0.0000 (deboost -0.3405, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1310 -> 0.3330 (boost 0.2020, 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_AB: 3.0000 -> 4.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.1310 (deboost -0.2020, worse) | 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.733,
"predicted_AVG": 0.263,
"predicted_BB": 0.267,
"predicted_H": 0.22,
"predicted_HR": 0.04,
"predicted_OBP": 0.288,
"predicted_R": 0.267,
"predicted_RBI": 0.14,
"predicted_SLG": 0.395,
"predicted_SO": 0.667
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0296,
"predicted_3B": 0.0023,
"predicted_AB": 3.3397,
"predicted_AVG": 0.2403,
"predicted_BB": 0.3186,
"predicted_H": 0.4424,
"predicted_HBP": 0.017,
"predicted_HR": 0.076,
"predicted_OBP": 0.281,
"predicted_R": 0.3463,
"predicted_RBI": 0.2592,
"predicted_SLG": 0.3683,
"predicted_SO": 0.7965
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0296,
"delta": 0.0296,
"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.733,
"after": 3.3397,
"delta": 0.6067,
"percent_delta": 0.222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2403,
"delta": -0.0227,
"percent_delta": -0.0863,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.267,
"after": 0.3186,
"delta": 0.0516,
"percent_delta": 0.1933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.22,
"after": 0.4424,
"delta": 0.2224,
"percent_delta": 1.0109,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.076,
"delta": 0.036,
"percent_delta": 0.9,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.281,
"delta": -0.007,
"percent_delta": -0.0243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.267,
"after": 0.3463,
"delta": 0.0793,
"percent_delta": 0.297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 0.2592,
"delta": 0.1192,
"percent_delta": 0.8514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.3683,
"delta": -0.0267,
"percent_delta": -0.0676,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 0.7965,
"delta": 0.1295,
"percent_delta": 0.1942,
"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.733,
"after": 3.3397,
"delta": 0.6067,
"percent_delta": 0.222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.3683,
"delta": -0.0267,
"percent_delta": -0.0676,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 8
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0296,
"predicted_3B": 0.0023,
"predicted_AB": 3.3397,
"predicted_AVG": 0.131,
"predicted_BB": 0.3176,
"predicted_H": 0.4376,
"predicted_HBP": 0.017,
"predicted_HR": 0.0747,
"predicted_OBP": 0.2065,
"predicted_R": 0.3405,
"predicted_RBI": 0.2549,
"predicted_SLG": 0.2084,
"predicted_SO": 0.7989
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0296,
"after": 0.0296,
"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": 3.3397,
"after": 3.3397,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2403,
"after": 0.131,
"delta": -0.1093,
"percent_delta": -0.4548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3186,
"after": 0.3176,
"delta": -0.001,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4424,
"after": 0.4376,
"delta": -0.0048,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.017,
"after": 0.017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.076,
"after": 0.0747,
"delta": -0.0013,
"percent_delta": -0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.281,
"after": 0.2065,
"delta": -0.0745,
"percent_delta": -0.2651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3463,
"after": 0.3405,
"delta": -0.0058,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2592,
"after": 0.2549,
"delta": -0.0043,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3683,
"after": 0.2084,
"delta": -0.1599,
"percent_delta": -0.4342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7965,
"after": 0.7989,
"delta": 0.0024,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3683,
"after": 0.2084,
"delta": -0.1599,
"percent_delta": -0.4342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.34), rates preserved: AVG=0.131 HR/AB=0.022",
"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.0296,
"after": 0.0,
"delta": -0.0296,
"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": 3.3397,
"after": 3.0,
"delta": -0.3397,
"percent_delta": -0.1017,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3176,
"after": 0.0,
"delta": -0.3176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4376,
"after": 0.0,
"delta": -0.4376,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0747,
"after": 0.0,
"delta": -0.0747,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2549,
"after": 0.0,
"delta": -0.2549,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7989,
"after": 1.0,
"delta": 0.2011,
"percent_delta": 0.2517,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7989,
"after": 1.0,
"delta": 0.2011,
"percent_delta": 0.2517,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4376,
"after": 0.0,
"delta": -0.4376,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3405,
"after": 0.0,
"delta": -0.3405,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3405,
"after": 0.0,
"delta": -0.3405,
"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.131,
"after": 0.333,
"delta": 0.202,
"percent_delta": 1.542,
"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.2065,
"after": 0.333,
"delta": 0.1265,
"percent_delta": 0.6126,
"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.2084,
"after": 0.333,
"delta": 0.1246,
"percent_delta": 0.5979,
"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.131,
"after": 0.333,
"delta": 0.202,
"percent_delta": 1.542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.131,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2065,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2084,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.131,
"delta": -0.202,
"percent_delta": -0.6065,
"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.2065,
"delta": -0.1265,
"percent_delta": -0.3799,
"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.2084,
"delta": -0.1246,
"percent_delta": -0.3743,
"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.131,
"delta": -0.202,
"percent_delta": -0.6065,
"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.733,
"after": 4.0,
"delta": 1.267,
"percent_delta": 0.4636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.131,
"delta": -0.132,
"percent_delta": -0.5019,
"direction": "deboost",
"projection_effect": "worse",
"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": 0.22,
"after": 1.0,
"delta": 0.78,
"percent_delta": 3.5455,
"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.288,
"after": 0.2065,
"delta": -0.0815,
"percent_delta": -0.283,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.267,
"after": 0.0,
"delta": -0.267,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.2084,
"delta": -0.1866,
"percent_delta": -0.4724,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 1.0,
"delta": 0.333,
"percent_delta": 0.4993,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.733,
"after": 4.0,
"delta": 1.267,
"percent_delta": 0.4636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.267,
"after": 0.0,
"delta": -0.267,
"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.733 | - |
| predicted_AVG | 0.263 | - |
| predicted_BB | 0.267 | - |
| predicted_H | 0.220 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.288 | - |
| predicted_R | 0.267 | - |
| predicted_RBI | 0.140 | - |
| predicted_SLG | 0.395 | - |
| predicted_SO | 0.667 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.030 | 0.030 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.340 | 0.607 |
| predicted_AVG | 0.240 | -0.023 |
| predicted_BB | 0.319 | 0.052 |
| predicted_H | 0.442 | 0.222 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.076 | 0.036 |
| predicted_OBP | 0.281 | -0.007 |
| predicted_R | 0.346 | 0.079 |
| predicted_RBI | 0.259 | 0.119 |
| predicted_SLG | 0.368 | -0.027 |
| predicted_SO | 0.796 | 0.129 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.030 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.340 | 0.000 |
| predicted_AVG | 0.131 | -0.109 |
| predicted_BB | 0.318 | -0.001 |
| predicted_H | 0.438 | -0.005 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.075 | -0.001 |
| predicted_OBP | 0.206 | -0.075 |
| predicted_R | 0.341 | -0.006 |
| predicted_RBI | 0.255 | -0.004 |
| predicted_SLG | 0.208 | -0.160 |
| predicted_SO | 0.799 | 0.002 |
AB rounded to 3 (raw=3.34), rates preserved: AVG=0.131 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.030 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.340 |
| predicted_AVG | 0.333 | 0.202 |
| predicted_BB | 0.000 | -0.318 |
| predicted_H | 1.000 | 0.562 |
| predicted_HR | 0.000 | -0.075 |
| predicted_OBP | 0.333 | 0.127 |
| predicted_R | 0.000 | -0.341 |
| predicted_RBI | 0.000 | -0.255 |
| predicted_SLG | 0.333 | 0.125 |
| predicted_SO | 1.000 | 0.201 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 17.000 | 5.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 2.000 | 4.000 | 0.2941 | 0.3684 | 0.4706 | 0.2941 | 0.0588 | 0.1765 | 0.1177 | 0.2353 |
| last_10 | 0.20 | 5 | - | 32.000 | 5.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 4.000 | 6.000 | 0.1562 | 0.2500 | 0.2500 | 0.1562 | 0.0312 | 0.0938 | 0.1250 | 0.1875 |
| season | 0.60 | 8 | - | 41.000 | 5.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 4.000 | 10.000 | 0.1220 | 0.2000 | 0.1951 | 0.1220 | 0.0244 | 0.0732 | 0.0976 | 0.2439 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0890 |
| predicted_3B | 0.0070 |
| predicted_AB | 4.5550 |
| predicted_AVG | 0.1949 |
| predicted_BB | 0.4220 |
| predicted_H | 0.8880 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.1480 |
| predicted_OBP | 0.2671 |
| predicted_R | 0.5050 |
| predicted_RBI | 0.4980 |
| predicted_SLG | 0.3149 |
| predicted_SO | 1.0560 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0890 | 0.0296 | model_form_blend |
| predicted_3B | 0.0000 | 0.0070 | 0.0023 | model_form_blend |
| predicted_AB | 2.7330 | 4.5550 | 3.3397 | model_form_blend |
| predicted_AVG | 0.2630 | 0.1949 | 0.2403 | model_form_blend |
| predicted_BB | 0.2670 | 0.4220 | 0.3186 | model_form_blend |
| predicted_H | 0.2200 | 0.8880 | 0.4424 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.0400 | 0.1480 | 0.0760 | model_form_blend |
| predicted_OBP | 0.2880 | 0.2671 | 0.2810 | model_form_blend |
| predicted_R | 0.2670 | 0.5050 | 0.3463 | model_form_blend |
| predicted_RBI | 0.1400 | 0.4980 | 0.2592 | model_form_blend |
| predicted_SLG | 0.3950 | 0.3149 | 0.3683 | model_form_blend |
| predicted_SO | 0.6670 | 1.0560 | 0.7965 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 10 |
| Season rows before report date | 10 |
| 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 | 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.122 |
| 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 | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260531_KC@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-31 |
| sl_k_percent | 21.1 |
| sl_bb_percent | 5.3 |
| sl_woba | 0.241 |
| sl_xwoba | 0.223 |
| sl_xba | 0.2 |
| sl_xslg | 0.258 |
| sl_sweet_spot_percent | 35.7 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 28.6 |
| sl_exit_velocity_avg | 86.0 |
| sl_launch_angle_avg | -0.9 |
| sl_whiff_percent | 25.0 |
| sl_swing_percent | 52.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.091 | 1.000 | 1.909 | 2.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 2.273 | 2.000 | -1.273 | -1.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 4.364 | 4.000 | -0.364 | 0.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.318 | 6.000 | -0.118 | -0.800 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 6.364 | 6.000 | -0.364 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 5.0000 -> 6.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 3 | 1 | 2 | 2 | 1 | predicted_SO: 5.0000 -> 6.0000 (boost 1.0000, better) | predicted_HR: 2.0000 -> 1.0000 (deboost -1.0000, better) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 1 | 1 | 0 | 0 | 1 | predicted_HR: 1.0000 -> 2.0000 (boost 1.0000, worse) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "594798",
"player_name": "Jacob deGrom",
"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": 3.0,
"predicted_ER": 1.0,
"predicted_H": 4.0,
"predicted_HR": 2.0,
"predicted_IP": 5.6667,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "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": 1.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 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": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 1.0,
"predicted_H": 4.0,
"predicted_HR": 2.0,
"predicted_IP": 5.2,
"predicted_R": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 5.2,
"after": 5.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_HR",
"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": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.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.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 2.000 | - |
| predicted_IP | 5.667 | - |
| 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 | 3.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 4.000 | 0.000 |
| predicted_HR | 1.000 | -1.000 |
| predicted_IP | 5.200 | -0.467 |
| 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 | 28.100 | 18.000 | 25.000 | 5.000 | 30.000 | 9.000 | 5.7176 | 1.0588 | 0.6353 | 0.8823 | 0.1765 | 1.0588 | 0.3176 |
| last_10 | 0.35 | 10 | 55.000 | 22.000 | 42.000 | 12.000 | 63.000 | 12.000 | 3.6000 | 0.9818 | 0.4000 | 0.7636 | 0.2182 | 1.1455 | 0.2182 |
| season | 0.20 | 11 | 59.200 | 25.000 | 48.000 | 12.000 | 70.000 | 13.000 | 3.7709 | 1.0056 | 0.4190 | 0.8045 | 0.2011 | 1.1732 | 0.2179 |
| Metric | Value |
|---|---|
| predicted_BB | 1.3850 |
| predicted_ER | 2.7660 |
| predicted_ERA | 4.4935 |
| predicted_H | 4.7890 |
| predicted_HR | 1.2330 |
| predicted_IP | 5.2000 |
| predicted_SO | 5.8650 |
| predicted_WHIP | 1.1142 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.3850 | 2.1635 | model_form_blend |
| predicted_ER | 1.0000 | 2.7660 | 1.9147 | model_form_blend |
| predicted_ERA | - | 4.4935 | 4.4935 | form_only |
| predicted_H | 4.0000 | 4.7890 | 4.4087 | model_form_blend |
| predicted_HR | 2.0000 | 1.2330 | 1.6027 | model_form_blend |
| predicted_IP | 5.2000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 5.0000 | 5.8650 | 5.4480 | model_form_blend |
| predicted_WHIP | - | 1.1142 | 1.1142 | 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.2 |
| H | 4 |
| R | 1 |
| ER | 1 |
| BB | 3 |
| SO | 6 |
| HR | 2 |
| BF | 24 |
| Pitches | 106 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 23 |
| Pitching_ER | 2 |
| Pitching_ERA | 3.77 |
| Pitching_Flyouts | 6 |
| Pitching_Groundouts | 5 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 97 |
| Pitching_R | 2 |
| Pitching_SO | 6 |
| Pitching_Strikes | 62 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260527_HOU@TEX |
| game_type | full |
| mlbID | 594798 |
| playerID | 594798 |
| playerName | Jacob deGrom |
| pos | P |
| started | True |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-05-27 |
| game_pk | 822897.0 |
| sl_k_percent | 29.4 |
| sl_bb_percent | 5.0 |
| sl_woba | 0.291 |
| sl_xwoba | 0.312 |
| sl_sweet_spot_percent | 41.0 |
| sl_barrel_batted_rate | 11.5 |
| sl_hard_hit_percent | 46.2 |
| sl_whiff_percent | 33.9 |
| sl_swing_percent | 53.3 |
| sv_pitch_count | 97.0 |
| sv_outs_recorded_est | 18.0 |
| sv_release_speed | 92.1061855670103 |
| sv_release_spin_rate | 2583.855670103093 |
| sv_effective_speed | 92.9639175257732 |
| sv_launch_speed | 85.12916666666666 |
| sv_launch_angle | 22.875 |
| sv_woba_value | 5.75 |
| sv_woba_denom | 23.0 |
| sv_delta_run_exp | -1.4429999999999998 |
| sv_delta_home_win_exp | 0.1309999999999999 |
| sl_avg_best_speed | 81.404228205 |
| sl_avg_hyper_speed | 95.227882452 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.238 | 0.000 | -0.238 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.286 | 0.000 | -0.286 | 0.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.524 | 1.000 | 1.476 | 1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.171 | 1.000 | -0.071 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.143 | 1.000 | -0.143 | 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": 2.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": 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.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": 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.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 | 2.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.100 | 1.000 | 3.000 | 0.000 | 8.000 | 1.000 | 1.2273 | 0.4091 | 0.1364 | 0.4091 | 0.0000 | 1.0909 | 0.1364 |
| last_10 | 0.35 | 10 | 13.100 | 1.000 | 4.000 | 1.000 | 14.000 | 1.000 | 0.6750 | 0.3750 | 0.0750 | 0.3000 | 0.0750 | 1.0500 | 0.0750 |
| season | 0.20 | 20 | 26.000 | 3.000 | 8.000 | 4.000 | 24.000 | 2.000 | 1.0385 | 0.4615 | 0.1154 | 0.3077 | 0.1538 | 0.9231 | 0.0769 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2810 |
| predicted_ER | 0.3880 |
| predicted_ERA | 2.6206 |
| predicted_H | 0.8620 |
| predicted_HR | 0.1580 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.3230 |
| predicted_WHIP | 0.8572 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2810 | 0.1241 | model_form_blend |
| predicted_ER | 0.0000 | 0.3880 | 0.1713 | model_form_blend |
| predicted_ERA | - | 2.6206 | 2.6206 | form_only |
| predicted_H | 2.0000 | 0.8620 | 1.4976 | model_form_blend |
| predicted_HR | 0.0000 | 0.1580 | 0.0698 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.3230 | 1.1426 | model_form_blend |
| predicted_WHIP | - | 0.8572 | 0.8572 | 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.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 | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.08 |
| 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 | 9 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260531_KC@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-31 |
| 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 |
| 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 | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.238 | 0.000 | 0.762 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.238 | 1.000 | -0.238 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.714 | 3.000 | 0.286 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.119 | 0.200 | -0.119 | 0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.714 | 2.000 | 0.286 | -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: 2.0000 -> 1.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| 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 | 5.000 | 0.000 | 6.000 | 0.000 | 1.5882 | 0.8824 | 0.1765 | 0.8823 | 0.0000 | 1.0588 | 0.0000 |
| last_10 | 0.35 | 10 | 12.100 | 2.000 | 9.000 | 1.000 | 9.000 | 0.000 | 1.4595 | 0.8108 | 0.1622 | 0.7297 | 0.0811 | 0.7297 | 0.0000 |
| season | 0.20 | 21 | 24.200 | 5.000 | 15.000 | 5.000 | 15.000 | 0.000 | 1.8243 | 0.8108 | 0.2027 | 0.6081 | 0.2027 | 0.6081 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2410 |
| predicted_ER | 0.3580 |
| predicted_ERA | 2.9571 |
| predicted_H | 0.9410 |
| predicted_HR | 0.0740 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9790 |
| predicted_WHIP | 1.0840 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2410 | 0.6691 | model_form_blend |
| predicted_ER | 0.0000 | 0.3580 | 0.1561 | model_form_blend |
| predicted_ERA | - | 2.9571 | 2.9571 | form_only |
| predicted_H | 1.0000 | 0.9410 | 0.9743 | model_form_blend |
| predicted_HR | 0.0000 | 0.0740 | 0.0323 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.9790 | 1.5549 | model_form_blend |
| predicted_WHIP | - | 1.0840 | 1.0840 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 21 |
| Season rows before report date | 21 |
| Report year | 2026 |
| Profile rows used | 21 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 1.82 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 13 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260530_KC@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-30 |
| sl_k_percent | 15.8 |
| sl_bb_percent | 5.3 |
| sl_woba | 0.209 |
| sl_xwoba | 0.295 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 4.1 |
| sl_hard_hit_percent | 30.1 |
| sl_whiff_percent | 17.3 |
| sl_swing_percent | 47.3 |
| sl_avg_best_speed | 76.059216216 |
| sl_avg_hyper_speed | 92.779820959 |
| 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.346 | 3.000 | -0.346 | -3.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.077 | 3.000 | -1.077 | -3.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.800 | 0.100 | -0.600 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.769 | 1.000 | 0.231 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "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": 1.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": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 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 | 1.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 | 4.000 | 5.000 | 2.000 | 3.000 | 1.000 | 12.0000 | 2.3333 | 1.3333 | 1.6667 | 0.6667 | 1.0000 | 0.3333 |
| last_10 | 0.35 | 10 | 8.100 | 5.000 | 9.000 | 4.000 | 8.000 | 1.000 | 5.4000 | 1.5600 | 0.6000 | 1.0800 | 0.4800 | 0.9600 | 0.1200 |
| season | 0.20 | 26 | 25.000 | 9.000 | 28.000 | 8.000 | 20.000 | 2.000 | 3.2400 | 1.4400 | 0.3600 | 1.1200 | 0.3200 | 0.8000 | 0.0800 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3150 |
| predicted_ER | 0.4740 |
| predicted_ERA | 6.1008 |
| predicted_H | 0.8050 |
| predicted_HR | 0.1190 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6600 |
| predicted_WHIP | 1.5994 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3150 | 0.7004 | model_form_blend |
| predicted_ER | 0.0000 | 0.4740 | 0.2073 | model_form_blend |
| predicted_ERA | - | 6.1008 | 6.1008 | form_only |
| predicted_H | 0.0000 | 0.8050 | 0.3521 | model_form_blend |
| predicted_HR | 0.0000 | 0.1190 | 0.0520 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.6600 | 0.8513 | model_form_blend |
| predicted_WHIP | - | 1.5994 | 1.5994 | 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.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 3 |
| Pitching_ERA | 3.24 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 17 |
| Pitching_R | 3 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260530_KC@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-30 |
| sl_k_percent | 18.0 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.338 |
| sl_xwoba | 0.283 |
| sl_sweet_spot_percent | 25.0 |
| sl_barrel_batted_rate | 2.5 |
| sl_hard_hit_percent | 27.5 |
| sl_whiff_percent | 16.5 |
| sl_swing_percent | 44.4 |
| sl_avg_best_speed | 75.11635 |
| sl_avg_hyper_speed | 92.53956641 |
| 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.167 | 1.000 | -0.167 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.750 | 2.000 | 0.250 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.500 | 1.000 | -0.500 | 0.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 0.783 | 1.000 | -0.683 | -0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.583 | 0.000 | -0.583 | 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": "455119",
"player_name": "Chris Martin",
"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": 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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 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.100 | 4.000 | 7.000 | 2.000 | 1.000 | 2.000 | 8.3077 | 2.0769 | 0.9231 | 1.6154 | 0.4615 | 0.2308 | 0.4615 |
| last_10 | 0.35 | 10 | 9.200 | 9.000 | 16.000 | 2.000 | 6.000 | 3.000 | 8.3793 | 1.8621 | 0.9310 | 1.6552 | 0.2069 | 0.6207 | 0.3103 |
| season | 0.20 | 12 | 10.100 | 9.000 | 18.000 | 2.000 | 7.000 | 3.000 | 7.8387 | 1.9355 | 0.8710 | 1.7419 | 0.1935 | 0.6774 | 0.2903 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1860 |
| predicted_ER | 0.3180 |
| predicted_ERA | 5.4324 |
| predicted_H | 0.6080 |
| predicted_HR | 0.1070 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.4210 |
| predicted_WHIP | 1.5083 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1860 | 0.0651 | model_form_blend |
| predicted_ER | 1.0000 | 0.3180 | 0.7614 | model_form_blend |
| predicted_ERA | - | 5.4324 | 5.4324 | form_only |
| predicted_H | 1.0000 | 0.6080 | 0.8628 | model_form_blend |
| predicted_HR | 0.0000 | 0.1070 | 0.0374 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.4210 | 0.1473 | model_form_blend |
| predicted_WHIP | - | 1.5083 | 1.5083 | 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 | 0.1 |
| H | 1 |
| R | 1 |
| ER | 1 |
| 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 2 |
| Pitching_ERA | 7.84 |
| 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 | 1.0 |
| Pitching_Pitches | 18 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260530_KC@TEX |
| game_type | full |
| mlbID | 455119 |
| playerID | 455119 |
| playerName | Chris Martin |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-05-30 |
| sl_k_percent | 14.3 |
| sl_bb_percent | 4.1 |
| sl_woba | 0.492 |
| sl_xwoba | 0.411 |
| sl_sweet_spot_percent | 56.4 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 43.6 |
| sl_whiff_percent | 18.8 |
| sl_swing_percent | 56.8 |
| sl_avg_best_speed | 83.4105425 |
| sl_avg_hyper_speed | 95.590188462 |
| Field | Value |
|---|---|
| Pitcher | Michael McGreevy |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.5706 |
| ESPN Rank | 43 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1828 |
| Avg Velo | 86.4314 |
| Avg Spin | 2207.2370 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 3 |
| Pre H | 6 |
| Pre BB | 3 |
| Pre SO | 6 |
| Season ERA | 2.9834 |
| Season WHIP | 1.0939 |
| Role Avg IP | 5.4850 |
| Recent Avg IP | 5.4000 |
| Last Start IP | 4 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 66,
"wins": 37,
"losses": 29,
"win_pct": 0.5606,
"runs_scored": 273.0,
"runs_allowed": 270.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0455,
"avg_runs_scored": 4.1364,
"avg_runs_allowed": 4.0909,
"offense_index": 0.9336,
"defense_index": 1.083,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 3.3,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0128
},
"opponent": {
"team": "TEX",
"games": 65,
"wins": 32,
"losses": 33,
"win_pct": 0.4923,
"runs_scored": 268.0,
"runs_allowed": 257.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1692,
"avg_runs_scored": 4.1231,
"avg_runs_allowed": 3.9538,
"offense_index": 0.9306,
"defense_index": 1.1206,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 5.1,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.0205
},
"edges": {
"quality_edge": 0.0077,
"offense_edge": -0.0664,
"opponent_offense_edge": -0.0694,
"defense_strength": 0.083,
"opponent_defense_weakness": -0.1206,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0056,
"run_prevention": 0.9802,
"strikeout": 1.0058
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "700241",
"profile": {
"available": true,
"pitcher_id": "700241",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 190.0,
"k_percent": 18.0,
"bb_percent": 6.3,
"woba": 0.291,
"xwoba": 0.368,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 11.1,
"hard_hit_percent": 41.4,
"avg_best_speed": 77.1921,
"avg_hyper_speed": 94.8812,
"whiff_percent": 20.6,
"swing_percent": 44.9
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.7691,
"command_and_miss": -0.4057,
"regression_edge": -2.0,
"xwoba_edge": -1.6,
"barrel_edge": -0.8667,
"hard_hit_edge": -0.4,
"whiff_edge": -0.7429,
"bb_edge": 0.75,
"pitch_design_score": -0.1828
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "700241",
"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": 86.43144299765488,
"release_spin_rate": 2207.237023849985,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 86.43144299765488,
"release_spin_rate": 2207.237023849985,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.4314,
"release_spin_rate": 2207.237,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1828,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.3055,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.5706,
"sample_weight": 0.76,
"run_prevention_factor": 1.0485,
"strikeout_factor": 0.9574,
"walk_factor": 0.9544,
"homer_factor": 1.1013,
"woba_minus_xwoba": -0.077,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "700241",
"espn_id": 4424141,
"player_name": "Michael McGreevy",
"team": "STL",
"role": "pitcher",
"espn_rank": 43,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 43,
"gp_value": 11.0,
"gp_rank": 291,
"gs_value": 11.0,
"gs_rank": 48,
"qs_value": 6.0,
"qs_rank": 22,
"era_value": 2.9834,
"era_rank": 21.0,
"w_value": 3.0,
"w_rank": 74,
"l_value": 4.0,
"l_rank": 34,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 0.0,
"hld_rank": 240,
"ip_value": 60.1,
"ip_rank": 62,
"h_value": 51.0,
"h_rank": 80,
"er_value": 20.0,
"er_rank": 114,
"hr_value": 8.0,
"hr_rank": 48,
"bb_value": 15.0,
"bb_rank": 143,
"k_value": 43.0,
"k_rank": 105,
"k_per_9_value": 6.4143643,
"k_per_9_rank": 45,
"whip_value": 1.0939,
"whip_rank": 22.0,
"war_value": 1.47,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0369,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0369,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9653,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.077,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9676,
"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": 54.1,
"ER": 20,
"H": 51,
"BB": 13,
"SO": 38,
"HR": 8,
"ERA": 3.312883435582822,
"WHIP": 1.1779141104294477,
"K9": 6.294478527607362,
"HR9": 1.3251533742331287,
"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-26T00:00:00"
}{
"available": true,
"pitcher_id": "700241",
"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": 86.43144299765488,
"release_spin_rate": 2207.237023849985,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 86.43144299765488,
"release_spin_rate": 2207.237023849985,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.4314,
"release_spin_rate": 2207.237,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1828,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.3055,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": "700241",
"report_date": "20260601_T",
"season_year": 2026,
"rows_used": 11,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 27.0,
"ER": 9.0,
"R": 9.0,
"H": 26.0,
"BB": 10.0,
"SO": 22.0,
"HR": 3.0,
"BF": 112.0,
"Pitches": 436.0
},
"per_game": {
"IP": 5.1,
"ER": 1.8,
"R": 1.8,
"H": 5.2,
"BB": 2.0,
"SO": 4.4,
"HR": 0.6,
"BF": 22.4,
"Pitches": 87.2
},
"rates": {
"ERA": 3.0,
"WHIP": 1.3333,
"ER_per_IP": 0.33333,
"H_per_IP": 0.96296,
"BB_per_IP": 0.37037,
"SO_per_IP": 0.81481,
"HR_per_IP": 0.11111
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 54.1,
"ER": 20.0,
"R": 20.0,
"H": 51.0,
"BB": 13.0,
"SO": 38.0,
"HR": 8.0,
"BF": 218.0,
"Pitches": 867.0
},
"per_game": {
"IP": 5.1,
"ER": 2.0,
"R": 2.0,
"H": 5.1,
"BB": 1.3,
"SO": 3.8,
"HR": 0.8,
"BF": 21.8,
"Pitches": 86.7
},
"rates": {
"ERA": 3.3129,
"WHIP": 1.1779,
"ER_per_IP": 0.3681,
"H_per_IP": 0.93865,
"BB_per_IP": 0.23926,
"SO_per_IP": 0.69939,
"HR_per_IP": 0.14724
}
},
"season": {
"games": 11,
"totals": {
"IP": 60.1,
"ER": 20.0,
"R": 20.0,
"H": 51.0,
"BB": 15.0,
"SO": 43.0,
"HR": 8.0,
"BF": 239.0,
"Pitches": 963.0
},
"per_game": {
"IP": 5.1,
"ER": 1.8182,
"R": 1.8182,
"H": 4.6364,
"BB": 1.3636,
"SO": 3.9091,
"HR": 0.7273,
"BF": 21.7273,
"Pitches": 87.5455
},
"rates": {
"ERA": 2.9834,
"WHIP": 1.0939,
"ER_per_IP": 0.33149,
"H_per_IP": 0.8453,
"BB_per_IP": 0.24862,
"SO_per_IP": 0.71271,
"HR_per_IP": 0.1326
}
}
},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.1,
"predicted_H": 5.095,
"predicted_BB": 1.748,
"predicted_SO": 4.417,
"predicted_HR": 0.706,
"predicted_ERA": 3.4754,
"predicted_WHIP": 1.2584
}
}{
"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.2,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.1,
"final": 2.5338,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 5.095,
"final": 5.5312,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.748,
"final": 2.3515,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 4.417,
"final": 5.1801,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.706,
"final": 0.3657,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4754,
"final": 3.4754,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2584,
"final": 1.2584,
"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 | George Soriano |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.2004 |
| ESPN Rank | 211 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0980 |
| Avg Velo | 91.4445 |
| Avg Spin | 2190.6739 |
| 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.1765 |
| Season WHIP | 1.1029 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 66,
"wins": 37,
"losses": 29,
"win_pct": 0.5606,
"runs_scored": 273.0,
"runs_allowed": 270.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0455,
"avg_runs_scored": 4.1364,
"avg_runs_allowed": 4.0909,
"offense_index": 0.9336,
"defense_index": 1.083,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 3.3,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0128
},
"opponent": {
"team": "TEX",
"games": 65,
"wins": 32,
"losses": 33,
"win_pct": 0.4923,
"runs_scored": 268.0,
"runs_allowed": 257.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1692,
"avg_runs_scored": 4.1231,
"avg_runs_allowed": 3.9538,
"offense_index": 0.9306,
"defense_index": 1.1206,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 5.1,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.0205
},
"edges": {
"quality_edge": 0.0077,
"offense_edge": -0.0664,
"opponent_offense_edge": -0.0694,
"defense_strength": 0.083,
"opponent_defense_weakness": -0.1206,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0056,
"run_prevention": 0.9802,
"strikeout": 1.0058
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "666277",
"profile": {
"available": true,
"pitcher_id": "666277",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 89.0,
"k_percent": 19.4,
"bb_percent": 10.8,
"woba": 0.274,
"xwoba": 0.351,
"sweet_spot_percent": 26.6,
"barrel_batted_rate": 10.9,
"hard_hit_percent": 39.1,
"avg_best_speed": 79.4716,
"avg_hyper_speed": 94.8705,
"whiff_percent": 29.7,
"swing_percent": 47.5
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.4125,
"command_and_miss": -0.0857,
"regression_edge": -2.0,
"xwoba_edge": -1.1143,
"barrel_edge": -0.8222,
"hard_hit_edge": -0.0714,
"whiff_edge": 0.5571,
"bb_edge": -0.375,
"pitch_design_score": 0.098
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "666277",
"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.4444791751177,
"release_spin_rate": 2190.673944986214,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.4444791751177,
"release_spin_rate": 2190.673944986214,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.4445,
"release_spin_rate": 2190.6739,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.098,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6997,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2004,
"sample_weight": 0.45,
"run_prevention_factor": 1.017,
"strikeout_factor": 1.0018,
"walk_factor": 1.0135,
"homer_factor": 1.0459,
"woba_minus_xwoba": -0.077,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "666277",
"espn_id": 4917836,
"player_name": "George Soriano",
"team": "STL",
"role": "pitcher",
"espn_rank": 211,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 211,
"gp_value": 24.0,
"gp_rank": 72,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 3.1764,
"era_rank": null,
"w_value": 2.0,
"w_rank": 141,
"l_value": 0.0,
"l_rank": 390,
"sv_value": 2.0,
"sv_rank": 50,
"hld_value": 9.0,
"hld_rank": 18,
"ip_value": 22.2,
"ip_rank": 282,
"h_value": 15.0,
"h_rank": 349,
"er_value": 8.0,
"er_rank": 322,
"hr_value": 3.0,
"hr_rank": 198,
"bb_value": 10.0,
"bb_rank": 248,
"k_value": 18.0,
"k_rank": 322,
"k_per_9_value": 7.147059,
"k_per_9_rank": 30,
"whip_value": 1.1029,
"whip_rank": null,
"war_value": 0.31,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0076,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0076,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0061,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0207,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0008,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 2,
"H": 7,
"BB": 3,
"SO": 7,
"HR": 2,
"ERA": 1.9285714285714284,
"WHIP": 1.0714285714285714,
"K9": 6.75,
"HR9": 1.9285714285714284,
"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-29T00:00:00"
}{
"available": true,
"pitcher_id": "666277",
"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.4444791751177,
"release_spin_rate": 2190.673944986214,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.4444791751177,
"release_spin_rate": 2190.673944986214,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.4445,
"release_spin_rate": 2190.6739,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.098,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6997,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.473,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4722,
"prior_weight": 0.5278
},
"role": "pitcher",
"player_id": "666277",
"report_date": "20260601_T",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 0.0,
"SO": 3.0,
"HR": 1.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": 0.6,
"HR": 0.2,
"BF": 3.2,
"Pitches": 11.0
},
"rates": {
"ERA": 1.9286,
"WHIP": 0.6429,
"ER_per_IP": 0.21429,
"H_per_IP": 0.64286,
"BB_per_IP": 0.0,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 3.0,
"SO": 7.0,
"HR": 2.0,
"BF": 36.0,
"Pitches": 138.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.7,
"BB": 0.3,
"SO": 0.7,
"HR": 0.2,
"BF": 3.6,
"Pitches": 13.8
},
"rates": {
"ERA": 1.9286,
"WHIP": 1.0714,
"ER_per_IP": 0.21429,
"H_per_IP": 0.75,
"BB_per_IP": 0.32143,
"SO_per_IP": 0.75,
"HR_per_IP": 0.21429
}
},
"season": {
"games": 24,
"totals": {
"IP": 22.2,
"ER": 8.0,
"R": 9.0,
"H": 15.0,
"BB": 10.0,
"SO": 18.0,
"HR": 3.0,
"BF": 93.0,
"Pitches": 362.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3333,
"R": 0.375,
"H": 0.625,
"BB": 0.4167,
"SO": 0.75,
"HR": 0.125,
"BF": 3.875,
"Pitches": 15.0833
},
"rates": {
"ERA": 3.1765,
"WHIP": 1.1029,
"ER_per_IP": 0.35294,
"H_per_IP": 0.66176,
"BB_per_IP": 0.44118,
"SO_per_IP": 0.79412,
"HR_per_IP": 0.13235
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.366,
"predicted_H": 0.825,
"predicted_BB": 0.289,
"predicted_SO": 0.832,
"predicted_HR": 0.164,
"predicted_ERA": 3.2916,
"predicted_WHIP": 1.1138
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.573,
"form_weight": 0.427,
"form_reliability": 0.4722,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.473,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4722,
"prior_weight": 0.5278
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.366,
"final": 0.1563,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.825,
"final": 0.3523,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.289,
"final": 0.1234,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.832,
"final": 0.3553,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.164,
"final": 0.07,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2916,
"final": 3.2916,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1138,
"final": 1.1138,
"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 | JoJo Romero |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.1614 |
| ESPN Rank | 96 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0536 |
| Avg Velo | 88.7380 |
| Avg Spin | 2254.8760 |
| 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 | 2.7000 |
| Season WHIP | 1.1625 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 66,
"wins": 37,
"losses": 29,
"win_pct": 0.5606,
"runs_scored": 273.0,
"runs_allowed": 270.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0455,
"avg_runs_scored": 4.1364,
"avg_runs_allowed": 4.0909,
"offense_index": 0.9336,
"defense_index": 1.083,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 3.3,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0128
},
"opponent": {
"team": "TEX",
"games": 65,
"wins": 32,
"losses": 33,
"win_pct": 0.4923,
"runs_scored": 268.0,
"runs_allowed": 257.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1692,
"avg_runs_scored": 4.1231,
"avg_runs_allowed": 3.9538,
"offense_index": 0.9306,
"defense_index": 1.1206,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 5.1,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.0205
},
"edges": {
"quality_edge": 0.0077,
"offense_edge": -0.0664,
"opponent_offense_edge": -0.0694,
"defense_strength": 0.083,
"opponent_defense_weakness": -0.1206,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0056,
"run_prevention": 0.9802,
"strikeout": 1.0058
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668941",
"profile": {
"available": true,
"pitcher_id": "668941",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 103.0,
"k_percent": 22.9,
"bb_percent": 9.2,
"woba": 0.282,
"xwoba": 0.331,
"sweet_spot_percent": 35.6,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 45.2,
"avg_best_speed": 81.3842,
"avg_hyper_speed": 95.799,
"whiff_percent": 23.3,
"swing_percent": 38.9
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.3362,
"command_and_miss": -0.1007,
"regression_edge": -1.4,
"xwoba_edge": -0.5429,
"barrel_edge": 0.0667,
"hard_hit_edge": -0.9429,
"whiff_edge": -0.3571,
"bb_edge": 0.025,
"pitch_design_score": -0.0536
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "668941",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 88.73803402679215,
"release_spin_rate": 2254.8759678714523,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 88.73803402679215,
"release_spin_rate": 2254.8759678714523,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.738,
"release_spin_rate": 2254.876,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0536,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3829,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1614,
"sample_weight": 0.45,
"run_prevention_factor": 1.0137,
"strikeout_factor": 0.9943,
"walk_factor": 0.9991,
"homer_factor": 1.0219,
"woba_minus_xwoba": -0.049,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "668941",
"espn_id": 40456,
"player_name": "JoJo Romero",
"team": "STL",
"role": "pitcher",
"espn_rank": 96,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 96,
"gp_value": 26.0,
"gp_rank": 31,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 2.7,
"era_rank": null,
"w_value": 0.0,
"w_rank": 368,
"l_value": 1.0,
"l_rank": 231,
"sv_value": 0.0,
"sv_rank": 150,
"hld_value": 15.0,
"hld_rank": 2,
"ip_value": 26.2,
"ip_rank": 209,
"h_value": 21.0,
"h_rank": 251,
"er_value": 8.0,
"er_rank": 322,
"hr_value": 3.0,
"hr_rank": 198,
"bb_value": 10.0,
"bb_rank": 248,
"k_value": 25.0,
"k_rank": 236,
"k_per_9_value": 8.4375,
"k_per_9_rank": 30,
"whip_value": 1.1625,
"whip_rank": null,
"war_value": 0.79,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0062,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0062,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9996,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0099,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9974,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 1,
"H": 7,
"BB": 4,
"SO": 12,
"HR": 0,
"ERA": 0.84375,
"WHIP": 1.03125,
"K9": 10.125,
"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-29T00:00:00"
}{
"available": true,
"pitcher_id": "668941",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 88.73803402679215,
"release_spin_rate": 2254.8759678714523,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 88.73803402679215,
"release_spin_rate": 2254.8759678714523,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.738,
"release_spin_rate": 2254.876,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0536,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3829,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.263,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5128,
"prior_weight": 0.4872
},
"role": "pitcher",
"player_id": "668941",
"report_date": "20260601_T",
"season_year": 2026,
"rows_used": 26,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 2.0,
"SO": 7.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 89.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.4,
"SO": 1.4,
"HR": 0.0,
"BF": 4.4,
"Pitches": 17.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8824,
"ER_per_IP": 0.0,
"H_per_IP": 0.52941,
"BB_per_IP": 0.35294,
"SO_per_IP": 1.23529,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 1.0,
"R": 1.0,
"H": 7.0,
"BB": 4.0,
"SO": 12.0,
"HR": 0.0,
"BF": 42.0,
"Pitches": 164.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.7,
"BB": 0.4,
"SO": 1.2,
"HR": 0.0,
"BF": 4.2,
"Pitches": 16.4
},
"rates": {
"ERA": 0.8438,
"WHIP": 1.0312,
"ER_per_IP": 0.09375,
"H_per_IP": 0.65625,
"BB_per_IP": 0.375,
"SO_per_IP": 1.125,
"HR_per_IP": 0.0
}
},
"season": {
"games": 26,
"totals": {
"IP": 26.2,
"ER": 8.0,
"R": 8.0,
"H": 21.0,
"BB": 10.0,
"SO": 25.0,
"HR": 3.0,
"BF": 109.0,
"Pitches": 442.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3077,
"R": 0.3077,
"H": 0.8077,
"BB": 0.3846,
"SO": 0.9615,
"HR": 0.1154,
"BF": 4.1923,
"Pitches": 17.0
},
"rates": {
"ERA": 2.7,
"WHIP": 1.1625,
"ER_per_IP": 0.3,
"H_per_IP": 0.7875,
"BB_per_IP": 0.375,
"SO_per_IP": 0.9375,
"HR_per_IP": 0.1125
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.28,
"predicted_H": 0.784,
"predicted_BB": 0.367,
"predicted_SO": 1.041,
"predicted_HR": 0.077,
"predicted_ERA": 2.5173,
"predicted_WHIP": 1.1504
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5558,
"form_weight": 0.4442,
"form_reliability": 0.5128,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.263,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5128,
"prior_weight": 0.4872
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.28,
"final": 0.1244,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.784,
"final": 0.3482,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.367,
"final": 0.163,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.041,
"final": 0.4624,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.077,
"final": 0.0342,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5173,
"final": 2.5173,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1504,
"final": 1.1504,
"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 | Riley O'Brien |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2285 |
| ESPN Rank | 188 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2029 |
| Avg Velo | 93.3179 |
| Avg Spin | 2284.8853 |
| 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 | 3.1974 |
| Season WHIP | 0.9868 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 66,
"wins": 37,
"losses": 29,
"win_pct": 0.5606,
"runs_scored": 273.0,
"runs_allowed": 270.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0455,
"avg_runs_scored": 4.1364,
"avg_runs_allowed": 4.0909,
"offense_index": 0.9336,
"defense_index": 1.083,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 3.3,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0128
},
"opponent": {
"team": "TEX",
"games": 65,
"wins": 32,
"losses": 33,
"win_pct": 0.4923,
"runs_scored": 268.0,
"runs_allowed": 257.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1692,
"avg_runs_scored": 4.1231,
"avg_runs_allowed": 3.9538,
"offense_index": 0.9306,
"defense_index": 1.1206,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 5.1,
"run_differential": -6.0
},
"available": true,
"quality_score": -0.0205
},
"edges": {
"quality_edge": 0.0077,
"offense_edge": -0.0664,
"opponent_offense_edge": -0.0694,
"defense_strength": 0.083,
"opponent_defense_weakness": -0.1206,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0056,
"run_prevention": 0.9802,
"strikeout": 1.0058
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676617",
"profile": {
"available": true,
"pitcher_id": "676617",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 96.0,
"k_percent": 26.5,
"bb_percent": 3.9,
"woba": 0.27,
"xwoba": 0.291,
"sweet_spot_percent": 27.3,
"barrel_batted_rate": 4.6,
"hard_hit_percent": 37.9,
"avg_best_speed": 74.1056,
"avg_hyper_speed": 94.1129,
"whiff_percent": 28.8,
"swing_percent": 48.6
},
"league_medians": {
"pa": 77.0,
"k_percent": 22.6,
"bb_percent": 9.3,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 38.6,
"avg_best_speed": 78.0116,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.8,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.6735,
"command_and_miss": 0.6707,
"regression_edge": -0.6,
"xwoba_edge": 0.6,
"barrel_edge": 0.5778,
"hard_hit_edge": 0.1,
"whiff_edge": 0.4286,
"bb_edge": 1.35,
"pitch_design_score": 0.2029
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676617",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 93.31785135949741,
"release_spin_rate": 2284.8852776424596,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 93.31785135949741,
"release_spin_rate": 2284.8852776424596,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3179,
"release_spin_rate": 2284.8853,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2029,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.4491,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2285,
"sample_weight": 0.45,
"run_prevention_factor": 0.9806,
"strikeout_factor": 1.0177,
"walk_factor": 0.9514,
"homer_factor": 0.9693,
"woba_minus_xwoba": -0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676617",
"espn_id": 41509,
"player_name": "Riley O'Brien",
"team": "STL",
"role": "pitcher",
"espn_rank": 188,
"espn_total_ranked": 660,
"metrics": {
"espn_rank": 188,
"gp_value": 25.0,
"gp_rank": 47,
"gs_value": 0.0,
"gs_rank": 268,
"qs_value": 0.0,
"qs_rank": 170,
"era_value": 3.1973,
"era_rank": null,
"w_value": 3.0,
"w_rank": 74,
"l_value": 2.0,
"l_rank": 140,
"sv_value": 14.0,
"sv_rank": 4,
"hld_value": 1.0,
"hld_rank": 184,
"ip_value": 25.1,
"ip_rank": 231,
"h_value": 21.0,
"h_rank": 251,
"er_value": 9.0,
"er_rank": 287,
"hr_value": 1.0,
"hr_rank": 365,
"bb_value": 4.0,
"bb_rank": 456,
"k_value": 27.0,
"k_rank": 209,
"k_per_9_value": 9.592105,
"k_per_9_rank": 24,
"whip_value": 0.9868,
"whip_rank": null,
"war_value": 0.41,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9913,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9913,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9781,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9862,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.008,
"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": 7,
"H": 10,
"BB": 3,
"SO": 10,
"HR": 1,
"ERA": 6.300000000000001,
"WHIP": 1.3000000000000003,
"K9": 9.000000000000002,
"HR9": 0.9000000000000001,
"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-29T00:00:00"
}{
"available": true,
"pitcher_id": "676617",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 93.31785135949741,
"release_spin_rate": 2284.8852776424596,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 93.31785135949741,
"release_spin_rate": 2284.8852776424596,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3179,
"release_spin_rate": 2284.8853,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2029,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.4491,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5,
"prior_weight": 0.5
},
"role": "pitcher",
"player_id": "676617",
"report_date": "20260601_T",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 3.0,
"R": 4.0,
"H": 4.0,
"BB": 2.0,
"SO": 4.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 82.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.8,
"H": 0.8,
"BB": 0.4,
"SO": 0.8,
"HR": 0.0,
"BF": 4.8,
"Pitches": 16.4
},
"rates": {
"ERA": 5.0625,
"WHIP": 1.125,
"ER_per_IP": 0.5625,
"H_per_IP": 0.75,
"BB_per_IP": 0.375,
"SO_per_IP": 0.75,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 7.0,
"R": 8.0,
"H": 10.0,
"BB": 3.0,
"SO": 10.0,
"HR": 1.0,
"BF": 44.0,
"Pitches": 165.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.8,
"H": 1.0,
"BB": 0.3,
"SO": 1.0,
"HR": 0.1,
"BF": 4.4,
"Pitches": 16.5
},
"rates": {
"ERA": 6.3,
"WHIP": 1.3,
"ER_per_IP": 0.7,
"H_per_IP": 1.0,
"BB_per_IP": 0.3,
"SO_per_IP": 1.0,
"HR_per_IP": 0.1
}
},
"season": {
"games": 25,
"totals": {
"IP": 25.1,
"ER": 9.0,
"R": 11.0,
"H": 21.0,
"BB": 4.0,
"SO": 27.0,
"HR": 1.0,
"BF": 102.0,
"Pitches": 393.0
},
"per_game": {
"IP": 1.0,
"ER": 0.36,
"R": 0.44,
"H": 0.84,
"BB": 0.16,
"SO": 1.08,
"HR": 0.04,
"BF": 4.08,
"Pitches": 15.72
},
"rates": {
"ERA": 3.1974,
"WHIP": 0.9868,
"ER_per_IP": 0.35526,
"H_per_IP": 0.82895,
"BB_per_IP": 0.15789,
"SO_per_IP": 1.06579,
"HR_per_IP": 0.03947
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.523,
"predicted_H": 0.902,
"predicted_BB": 0.337,
"predicted_SO": 0.921,
"predicted_HR": 0.088,
"predicted_ERA": 4.7051,
"predicted_WHIP": 1.2386
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5613,
"form_weight": 0.4388,
"form_reliability": 0.5,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5,
"prior_weight": 0.5
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.523,
"final": 0.2295,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.902,
"final": 0.3958,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.337,
"final": 0.1479,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.921,
"final": 1.5266,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.088,
"final": 0.0386,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.7051,
"final": 4.7051,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2386,
"final": 1.2386,
"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.126 | 0.000 | 0.000 | Hitting_2B | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.350 | 4.000 | 9.000 | Hitting_AB | 3.919 | 3.000 | 0.081 | 1.000 |
| predicted_AVG | 0.244 | 0.500 | 0.222 | Hitting_AVG | 0.239 | 0.667 | 0.261 | -0.167 |
| predicted_BB | 0.569 | 1.000 | 1.000 | Hitting_BB | 0.569 | 1.000 | 0.431 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.060 | 2.000 | 2.000 | Hitting_H | 0.935 | 2.000 | 1.065 | 0.000 |
| predicted_HR | 0.130 | 1.000 | 0.000 | Hitting_HR | 0.171 | 0.000 | 0.829 | 1.000 |
| predicted_OBP | 0.351 | 0.600 | 0.300 | Hitting_OBP | 0.360 | 0.750 | 0.240 | -0.150 |
| predicted_R | 0.707 | 1.000 | 1.000 | Hitting_R | 0.707 | 2.000 | 0.293 | -1.000 |
| predicted_RBI | 0.390 | 1.000 | 1.000 | Hitting_RBI | 0.476 | 0.000 | 0.524 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.114 | 1.000 | -0.114 | -1.000 |
| predicted_SLG | 0.419 | 1.250 | 0.222 | Hitting_SLG | 0.401 | 0.667 | 0.849 | 0.583 |
| predicted_SO | 0.841 | 1.000 | 2.000 | Hitting_SO | 0.841 | 1.000 | 0.159 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 1.0600 -> 2.0000 (boost 0.9400, better) |
| Biggest Deboost | predicted_AB: 4.3500 -> 4.0000 (deboost -0.3500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.3500 -> 8.7186 (boost 4.3686, 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.3605 -> 0.3420 (deboost -0.0185, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_SO: 1.5916 -> 2.0000 (boost 0.4084, worse) | predicted_HBP: 0.5320 -> 0.0000 (deboost -0.5320, worse) | AB rounded to 9 (raw=8.72), rates preserved: AVG=0.261 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.4191 -> 1.0000 (deboost -0.4191, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4081 -> 0.2220 (deboost -0.1861, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_HR: 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.4081 (boost 0.1861, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "802139",
"player_name": "JJ Wetherholt",
"position": "2B",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.126,
"predicted_3B": 0.0,
"predicted_AB": 4.35,
"predicted_AVG": 0.244,
"predicted_BB": 0.569,
"predicted_H": 1.06,
"predicted_HR": 0.13,
"predicted_OBP": 0.351,
"predicted_R": 0.707,
"predicted_RBI": 0.39,
"predicted_SLG": 0.419,
"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.4589,
"predicted_3B": 0.0004,
"predicted_AB": 8.7186,
"predicted_AVG": 0.2579,
"predicted_BB": 1.0701,
"predicted_H": 2.3238,
"predicted_HBP": 0.532,
"predicted_HR": 0.2783,
"predicted_OBP": 0.3605,
"predicted_R": 1.4622,
"predicted_RBI": 0.7968,
"predicted_SLG": 0.4263,
"predicted_SO": 1.5878
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.126,
"after": 0.4589,
"delta": 0.3329,
"percent_delta": 2.6421,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.35,
"after": 8.7186,
"delta": 4.3686,
"percent_delta": 1.0043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2579,
"delta": 0.0139,
"percent_delta": 0.057,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.569,
"after": 1.0701,
"delta": 0.5011,
"percent_delta": 0.8807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 2.3238,
"delta": 1.2638,
"percent_delta": 1.1923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.2783,
"delta": 0.1483,
"percent_delta": 1.1408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.351,
"after": 0.3605,
"delta": 0.0095,
"percent_delta": 0.0271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.707,
"after": 1.4622,
"delta": 0.7552,
"percent_delta": 1.0682,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.7968,
"delta": 0.4068,
"percent_delta": 1.0431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.419,
"after": 0.4263,
"delta": 0.0073,
"percent_delta": 0.0174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.841,
"after": 1.5878,
"delta": 0.7468,
"percent_delta": 0.888,
"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.35,
"after": 8.7186,
"delta": 4.3686,
"percent_delta": 1.0043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.4589,
"predicted_3B": 0.0004,
"predicted_AB": 8.7186,
"predicted_AVG": 0.2615,
"predicted_BB": 1.0675,
"predicted_H": 2.2796,
"predicted_HBP": 0.532,
"predicted_HR": 0.2728,
"predicted_OBP": 0.342,
"predicted_R": 1.4191,
"predicted_RBI": 0.7733,
"predicted_SLG": 0.4081,
"predicted_SO": 1.5916
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4589,
"after": 0.4589,
"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.7186,
"after": 8.7186,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2579,
"after": 0.2615,
"delta": 0.0036,
"percent_delta": 0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0701,
"after": 1.0675,
"delta": -0.0026,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.3238,
"after": 2.2796,
"delta": -0.0442,
"percent_delta": -0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.532,
"after": 0.532,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2783,
"after": 0.2728,
"delta": -0.0055,
"percent_delta": -0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3605,
"after": 0.342,
"delta": -0.0185,
"percent_delta": -0.0513,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.4622,
"after": 1.4191,
"delta": -0.0431,
"percent_delta": -0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7968,
"after": 0.7733,
"delta": -0.0235,
"percent_delta": -0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4263,
"after": 0.4081,
"delta": -0.0182,
"percent_delta": -0.0427,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5878,
"after": 1.5916,
"delta": 0.0038,
"percent_delta": 0.0024,
"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.3605,
"after": 0.342,
"delta": -0.0185,
"percent_delta": -0.0513,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=8.72), rates preserved: AVG=0.261 HR/AB=0.031",
"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.4589,
"after": 0.0,
"delta": -0.4589,
"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.7186,
"after": 9.0,
"delta": 0.2814,
"percent_delta": 0.0323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0675,
"after": 1.0,
"delta": -0.0675,
"percent_delta": -0.0632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.2796,
"after": 2.0,
"delta": -0.2796,
"percent_delta": -0.1227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.532,
"after": 0.0,
"delta": -0.532,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2728,
"after": 0.0,
"delta": -0.2728,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7733,
"after": 1.0,
"delta": 0.2267,
"percent_delta": 0.2932,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5916,
"after": 2.0,
"delta": 0.4084,
"percent_delta": 0.2566,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.5916,
"after": 2.0,
"delta": 0.4084,
"percent_delta": 0.2566,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.532,
"after": 0.0,
"delta": -0.532,
"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.4191,
"after": 1.0,
"delta": -0.4191,
"percent_delta": -0.2953,
"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.4191,
"after": 1.0,
"delta": -0.4191,
"percent_delta": -0.2953,
"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.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.342,
"after": 0.3,
"delta": -0.042,
"percent_delta": -0.1228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4081,
"after": 0.222,
"delta": -0.1861,
"percent_delta": -0.456,
"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.4081,
"after": 0.222,
"delta": -0.1861,
"percent_delta": -0.456,
"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": 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": 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": 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": 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": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"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": 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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.342,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4081,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.1778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.342,
"delta": 0.042,
"percent_delta": 0.1401,
"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.4081,
"delta": 0.1861,
"percent_delta": 0.8382,
"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.4081,
"delta": 0.1861,
"percent_delta": 0.8382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.126,
"after": 0.0,
"delta": -0.126,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.35,
"after": 4.0,
"delta": -0.35,
"percent_delta": -0.0805,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2615,
"delta": 0.0175,
"percent_delta": 0.0717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.569,
"after": 1.0,
"delta": 0.431,
"percent_delta": 0.7575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 2.0,
"delta": 0.94,
"percent_delta": 0.8868,
"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.351,
"after": 0.342,
"delta": -0.009,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.707,
"after": 1.0,
"delta": 0.293,
"percent_delta": 0.4144,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 1.0,
"delta": 0.61,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.419,
"after": 0.4081,
"delta": -0.0109,
"percent_delta": -0.026,
"direction": "deboost",
"projection_effect": "worse",
"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": 7,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.06,
"after": 2.0,
"delta": 0.94,
"percent_delta": 0.8868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.35,
"after": 4.0,
"delta": -0.35,
"percent_delta": -0.0805,
"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.126 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.350 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.569 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.351 | - |
| predicted_R | 0.707 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.419 | - |
| 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.459 | 0.333 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.719 | 4.369 |
| predicted_AVG | 0.258 | 0.014 |
| predicted_BB | 1.070 | 0.501 |
| predicted_H | 2.324 | 1.264 |
| predicted_HBP | 0.532 | - |
| predicted_HR | 0.278 | 0.148 |
| predicted_OBP | 0.360 | 0.010 |
| predicted_R | 1.462 | 0.755 |
| predicted_RBI | 0.797 | 0.407 |
| predicted_SLG | 0.426 | 0.007 |
| predicted_SO | 1.588 | 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.459 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.719 | 0.000 |
| predicted_AVG | 0.262 | 0.004 |
| predicted_BB | 1.067 | -0.003 |
| predicted_H | 2.280 | -0.044 |
| predicted_HBP | 0.532 | 0.000 |
| predicted_HR | 0.273 | -0.006 |
| predicted_OBP | 0.342 | -0.018 |
| predicted_R | 1.419 | -0.043 |
| predicted_RBI | 0.773 | -0.023 |
| predicted_SLG | 0.408 | -0.018 |
| predicted_SO | 1.592 | 0.004 |
AB rounded to 9 (raw=8.72), rates preserved: AVG=0.261 HR/AB=0.031
| 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.459 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 9.000 | 0.281 |
| predicted_AVG | 0.222 | -0.040 |
| predicted_BB | 1.000 | -0.067 |
| predicted_H | 2.000 | -0.280 |
| predicted_HR | 0.000 | -0.273 |
| predicted_OBP | 0.300 | -0.042 |
| predicted_R | 1.000 | -0.419 |
| predicted_RBI | 1.000 | 0.227 |
| predicted_SLG | 0.222 | -0.186 |
| predicted_SO | 2.000 | 0.408 |
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 | 1.000 | 1.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 | 4 | - | 19.000 | 8.000 | 3.000 | 0.000 | 0.000 | 0.000 | 3.000 | 1.000 | 1.000 | 0.4211 | 0.4500 | 0.5789 | 0.4210 | 0.0000 | 0.0000 | 0.0526 | 0.0526 |
| last_10 | 0.20 | 5 | - | 39.000 | 10.000 | 5.000 | 0.000 | 0.000 | 0.000 | 3.000 | 1.000 | 4.000 | 0.2564 | 0.2750 | 0.3846 | 0.2564 | 0.0000 | 0.0000 | 0.0256 | 0.1026 |
| season | 0.60 | 55 | - | 964.000 | 230.000 | 31.000 | 0.000 | 42.000 | 117.000 | 174.000 | 140.000 | 207.000 | 0.2386 | 0.3603 | 0.4015 | 0.2386 | 0.0436 | 0.1214 | 0.1452 | 0.2147 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8780 |
| predicted_3B | 0.0010 |
| predicted_AB | 14.2190 |
| predicted_AVG | 0.2753 |
| predicted_BB | 1.7010 |
| predicted_H | 3.9150 |
| predicted_HBP | 0.5320 |
| predicted_HR | 0.4650 |
| predicted_OBP | 0.3725 |
| predicted_R | 2.4130 |
| predicted_RBI | 1.3090 |
| predicted_SLG | 0.4354 |
| predicted_SO | 2.5280 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1260 | 0.8780 | 0.4589 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.3500 | 14.2190 | 8.7186 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2753 | 0.2579 | model_form_blend |
| predicted_BB | 0.5690 | 1.7010 | 1.0701 | model_form_blend |
| predicted_H | 1.0600 | 3.9150 | 2.3238 | model_form_blend |
| predicted_HBP | - | 0.5320 | 0.5320 | form_only |
| predicted_HR | 0.1300 | 0.4650 | 0.2783 | model_form_blend |
| predicted_OBP | 0.3510 | 0.3725 | 0.3605 | model_form_blend |
| predicted_R | 0.7070 | 2.4130 | 1.4622 | model_form_blend |
| predicted_RBI | 0.3900 | 1.3090 | 0.7968 | model_form_blend |
| predicted_SLG | 0.4190 | 0.4354 | 0.4263 | model_form_blend |
| predicted_SO | 0.8410 | 2.5280 | 1.5878 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 246 |
| Season rows before report date | 246 |
| Report year | 2026 |
| Profile rows used | 246 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.239 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 2 |
| 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 | 2B |
| gameID | 20260531_CHC@STL |
| game_type | full |
| mlbID | 802139 |
| playerID | 802139 |
| playerName | JJ Wetherholt |
| pos | SS |
| started | True |
| startingPosition | 2B |
| team | STL |
| teamID | 26 |
| game_date | 2026-05-31 |
| sl_k_percent | 17.4 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.341 |
| sl_xwoba | 0.362 |
| sl_xba | 0.252 |
| sl_xslg | 0.457 |
| sl_sweet_spot_percent | 38.0 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 47.4 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 22.6 |
| sl_swing_percent | 44.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.215 | 0.000 | 0.000 | Hitting_2B | 0.215 | 0.000 | -0.215 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.150 | 5.000 | 8.000 | Hitting_AB | 3.797 | 3.000 | 1.203 | 2.000 |
| predicted_AVG | 0.240 | 0.000 | 0.250 | Hitting_AVG | 0.260 | 0.667 | -0.260 | -0.667 |
| predicted_BB | 0.585 | 0.000 | 1.000 | Hitting_BB | 0.585 | 1.000 | -0.585 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.000 | 0.000 | 2.000 | Hitting_H | 0.988 | 2.000 | -0.988 | -2.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_OBP | 0.357 | 0.000 | 0.333 | Hitting_OBP | 0.387 | 0.750 | -0.387 | -0.750 |
| predicted_R | 0.602 | 0.000 | 1.000 | Hitting_R | 0.602 | 2.000 | -0.602 | -2.000 |
| predicted_RBI | 0.480 | 0.000 | 1.000 | Hitting_RBI | 0.472 | 0.000 | -0.472 | 0.000 |
| predicted_SLG | 0.420 | 0.000 | 0.250 | Hitting_SLG | 0.407 | 0.667 | -0.407 | -0.667 |
| predicted_SO | 0.821 | 4.000 | 1.000 | Hitting_SO | 0.821 | 0.000 | 3.179 | 4.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.8210 -> 4.0000 (boost 3.1790, worse) |
| Biggest Deboost | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 10 | 0 | 9 | 1 | predicted_AB: 4.1500 -> 8.2295 (boost 4.0795, 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.3767 -> 0.3596 (deboost -0.0171, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 2 | 6 | predicted_RBI: 0.8790 -> 1.0000 (boost 0.1210, better) | predicted_HBP: 0.7620 -> 0.0000 (deboost -0.7620, worse) | AB rounded to 8 (raw=8.23), rates preserved: AVG=0.259 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3250 -> 1.0000 (deboost -0.3250, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4135 -> 0.2500 (deboost -0.1635, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 1 | 5 | 0 | 6 | predicted_SO: 1.0000 -> 4.0000 (boost 3.0000, worse) | predicted_AB: 8.0000 -> 5.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4135 (boost 0.1635, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671056",
"player_name": "Iván Herrera",
"position": "C",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.215,
"predicted_3B": 0.0,
"predicted_AB": 4.15,
"predicted_AVG": 0.24,
"predicted_BB": 0.585,
"predicted_H": 1.0,
"predicted_HR": 0.16,
"predicted_OBP": 0.357,
"predicted_R": 0.602,
"predicted_RBI": 0.48,
"predicted_SLG": 0.42,
"predicted_SO": 0.821
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3725,
"predicted_3B": 0.0004,
"predicted_AB": 8.2295,
"predicted_AVG": 0.2547,
"predicted_BB": 1.2948,
"predicted_H": 2.1735,
"predicted_HBP": 0.762,
"predicted_HR": 0.3051,
"predicted_OBP": 0.3767,
"predicted_R": 1.3653,
"predicted_RBI": 0.9057,
"predicted_SLG": 0.4225,
"predicted_SO": 1.5352
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.215,
"after": 0.3725,
"delta": 0.1575,
"percent_delta": 0.7326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.15,
"after": 8.2295,
"delta": 4.0795,
"percent_delta": 0.983,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2547,
"delta": 0.0147,
"percent_delta": 0.0612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.585,
"after": 1.2948,
"delta": 0.7098,
"percent_delta": 1.2133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.1735,
"delta": 1.1735,
"percent_delta": 1.1735,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.3051,
"delta": 0.1451,
"percent_delta": 0.9069,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.357,
"after": 0.3767,
"delta": 0.0197,
"percent_delta": 0.0552,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.602,
"after": 1.3653,
"delta": 0.7633,
"percent_delta": 1.2679,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.9057,
"delta": 0.4257,
"percent_delta": 0.8869,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4225,
"delta": 0.0025,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.821,
"after": 1.5352,
"delta": 0.7142,
"percent_delta": 0.8699,
"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.15,
"after": 8.2295,
"delta": 4.0795,
"percent_delta": 0.983,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.3725,
"predicted_3B": 0.0004,
"predicted_AB": 8.2295,
"predicted_AVG": 0.2591,
"predicted_BB": 1.2917,
"predicted_H": 2.1322,
"predicted_HBP": 0.762,
"predicted_HR": 0.2991,
"predicted_OBP": 0.3596,
"predicted_R": 1.325,
"predicted_RBI": 0.879,
"predicted_SLG": 0.4135,
"predicted_SO": 1.5389
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3725,
"after": 0.3725,
"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.2295,
"after": 8.2295,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2547,
"after": 0.2591,
"delta": 0.0044,
"percent_delta": 0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.2948,
"after": 1.2917,
"delta": -0.0031,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1735,
"after": 2.1322,
"delta": -0.0413,
"percent_delta": -0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.762,
"after": 0.762,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3051,
"after": 0.2991,
"delta": -0.006,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3767,
"after": 0.3596,
"delta": -0.0171,
"percent_delta": -0.0454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.3653,
"after": 1.325,
"delta": -0.0403,
"percent_delta": -0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9057,
"after": 0.879,
"delta": -0.0267,
"percent_delta": -0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4225,
"after": 0.4135,
"delta": -0.009,
"percent_delta": -0.0213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5352,
"after": 1.5389,
"delta": 0.0037,
"percent_delta": 0.0024,
"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.3767,
"after": 0.3596,
"delta": -0.0171,
"percent_delta": -0.0454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=8.23), rates preserved: AVG=0.259 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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3725,
"after": 0.0,
"delta": -0.3725,
"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.2295,
"after": 8.0,
"delta": -0.2295,
"percent_delta": -0.0279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.2917,
"after": 1.0,
"delta": -0.2917,
"percent_delta": -0.2258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.1322,
"after": 2.0,
"delta": -0.1322,
"percent_delta": -0.062,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.762,
"after": 0.0,
"delta": -0.762,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2991,
"after": 0.0,
"delta": -0.2991,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.879,
"after": 1.0,
"delta": 0.121,
"percent_delta": 0.1377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5389,
"after": 1.0,
"delta": -0.5389,
"percent_delta": -0.3502,
"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.879,
"after": 1.0,
"delta": 0.121,
"percent_delta": 0.1377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.762,
"after": 0.0,
"delta": -0.762,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.325,
"after": 1.0,
"delta": -0.325,
"percent_delta": -0.2453,
"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.325,
"after": 1.0,
"delta": -0.325,
"percent_delta": -0.2453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2591,
"after": 0.25,
"delta": -0.0091,
"percent_delta": -0.0351,
"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.3596,
"after": 0.333,
"delta": -0.0266,
"percent_delta": -0.074,
"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.4135,
"after": 0.25,
"delta": -0.1635,
"percent_delta": -0.3954,
"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.4135,
"after": 0.25,
"delta": -0.1635,
"percent_delta": -0.3954,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 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": 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": 4.0,
"delta": 3.0,
"percent_delta": 3.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": 4.0,
"delta": 3.0,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 5.0,
"delta": -3.0,
"percent_delta": -0.375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2591,
"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.3596,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4135,
"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": 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.2591,
"delta": 0.0091,
"percent_delta": 0.0364,
"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.3596,
"delta": 0.0266,
"percent_delta": 0.0799,
"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.4135,
"delta": 0.1635,
"percent_delta": 0.654,
"direction": "boost",
"projection_effect": "better",
"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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4135,
"delta": 0.1635,
"percent_delta": 0.654,
"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.215,
"after": 0.0,
"delta": -0.215,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.15,
"after": 5.0,
"delta": 0.85,
"percent_delta": 0.2048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2591,
"delta": 0.0191,
"percent_delta": 0.0796,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.585,
"after": 0.0,
"delta": -0.585,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.357,
"after": 0.3596,
"delta": 0.0026,
"percent_delta": 0.0073,
"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.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4135,
"delta": -0.0065,
"percent_delta": -0.0155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.821,
"after": 4.0,
"delta": 3.179,
"percent_delta": 3.8721,
"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.821,
"after": 4.0,
"delta": 3.179,
"percent_delta": 3.8721,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.215 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.150 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.585 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.357 | - |
| predicted_R | 0.602 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.420 | - |
| predicted_SO | 0.821 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.158 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.229 | 4.079 |
| predicted_AVG | 0.255 | 0.015 |
| predicted_BB | 1.295 | 0.710 |
| predicted_H | 2.174 | 1.174 |
| predicted_HBP | 0.762 | - |
| predicted_HR | 0.305 | 0.145 |
| predicted_OBP | 0.377 | 0.020 |
| predicted_R | 1.365 | 0.763 |
| predicted_RBI | 0.906 | 0.426 |
| predicted_SLG | 0.422 | 0.003 |
| predicted_SO | 1.535 | 0.714 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.372 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.229 | 0.000 |
| predicted_AVG | 0.259 | 0.004 |
| predicted_BB | 1.292 | -0.003 |
| predicted_H | 2.132 | -0.041 |
| predicted_HBP | 0.762 | 0.000 |
| predicted_HR | 0.299 | -0.006 |
| predicted_OBP | 0.360 | -0.017 |
| predicted_R | 1.325 | -0.040 |
| predicted_RBI | 0.879 | -0.027 |
| predicted_SLG | 0.413 | -0.009 |
| predicted_SO | 1.539 | 0.004 |
AB rounded to 8 (raw=8.23), rates preserved: AVG=0.259 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 | 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.372 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 8.000 | -0.229 |
| predicted_AVG | 0.250 | -0.009 |
| predicted_BB | 1.000 | -0.292 |
| predicted_H | 2.000 | -0.132 |
| predicted_HR | 0.000 | -0.299 |
| predicted_OBP | 0.333 | -0.027 |
| predicted_R | 1.000 | -0.325 |
| predicted_RBI | 1.000 | 0.121 |
| predicted_SLG | 0.250 | -0.163 |
| predicted_SO | 1.000 | -0.539 |
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 | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 4.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 | 4 | - | 16.000 | 5.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 3.000 | 1.000 | 0.3125 | 0.4500 | 0.5000 | 0.3125 | 0.0625 | 0.0625 | 0.1875 | 0.0625 |
| last_10 | 0.20 | 5 | - | 31.000 | 10.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 8.000 | 4.000 | 0.3226 | 0.4750 | 0.4194 | 0.3226 | 0.0323 | 0.0323 | 0.2581 | 0.1290 |
| season | 0.60 | 56 | - | 934.000 | 243.000 | 53.000 | 0.000 | 28.000 | 116.000 | 148.000 | 144.000 | 202.000 | 0.2602 | 0.3867 | 0.4069 | 0.2602 | 0.0300 | 0.1242 | 0.1542 | 0.2163 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5710 |
| predicted_3B | 0.0010 |
| predicted_AB | 13.3690 |
| predicted_AVG | 0.2732 |
| predicted_BB | 2.1890 |
| predicted_H | 3.6520 |
| predicted_HBP | 0.7620 |
| predicted_HR | 0.4880 |
| predicted_OBP | 0.4015 |
| predicted_R | 2.3270 |
| predicted_RBI | 1.4420 |
| predicted_SLG | 0.4257 |
| predicted_SO | 2.4350 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2150 | 0.5710 | 0.3725 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1500 | 13.3690 | 8.2295 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2732 | 0.2547 | model_form_blend |
| predicted_BB | 0.5850 | 2.1890 | 1.2948 | model_form_blend |
| predicted_H | 1.0000 | 3.6520 | 2.1735 | model_form_blend |
| predicted_HBP | - | 0.7620 | 0.7620 | form_only |
| predicted_HR | 0.1600 | 0.4880 | 0.3051 | model_form_blend |
| predicted_OBP | 0.3570 | 0.4015 | 0.3767 | model_form_blend |
| predicted_R | 0.6020 | 2.3270 | 1.3653 | model_form_blend |
| predicted_RBI | 0.4800 | 1.4420 | 0.9057 | model_form_blend |
| predicted_SLG | 0.4200 | 0.4257 | 0.4225 | model_form_blend |
| predicted_SO | 0.8210 | 2.4350 | 1.5352 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 246 |
| Season rows before report date | 246 |
| Report year | 2026 |
| Profile rows used | 246 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 4 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.26 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | DH |
| gameID | 20260531_CHC@STL |
| game_type | full |
| mlbID | 671056 |
| playerID | 671056 |
| playerName | Iván Herrera |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | STL |
| teamID | 26 |
| game_date | 2026-05-31 |
| sl_k_percent | 17.3 |
| sl_bb_percent | 13.0 |
| sl_woba | 0.362 |
| sl_xwoba | 0.364 |
| sl_xba | 0.269 |
| sl_xslg | 0.426 |
| sl_sweet_spot_percent | 30.1 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 42.2 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 5.9 |
| sl_whiff_percent | 20.7 |
| sl_swing_percent | 42.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.238 | 0.000 | 0.000 | Hitting_2B | 0.238 | 0.000 | -0.238 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.060 | 5.000 | 8.000 | Hitting_AB | 3.903 | 4.000 | 1.097 | 1.000 |
| predicted_AVG | 0.243 | 0.400 | 0.250 | Hitting_AVG | 0.318 | 0.250 | 0.082 | 0.150 |
| predicted_BB | 0.410 | 0.000 | 1.000 | Hitting_BB | 0.410 | 0.000 | -0.410 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.066 | 0.000 | -0.066 | 0.000 |
| predicted_H | 0.990 | 2.000 | 2.000 | Hitting_H | 1.242 | 1.000 | 0.758 | 1.000 |
| predicted_HR | 0.170 | 1.000 | 0.000 | Hitting_HR | 0.304 | 0.000 | 0.696 | 1.000 |
| predicted_OBP | 0.320 | 0.400 | 0.333 | Hitting_OBP | 0.385 | 0.250 | 0.015 | 0.150 |
| predicted_R | 0.767 | 1.000 | 1.000 | Hitting_R | 0.767 | 0.000 | 0.233 | 1.000 |
| predicted_RBI | 0.590 | 1.000 | 1.000 | Hitting_RBI | 0.877 | 1.000 | 0.123 | 0.000 |
| predicted_SLG | 0.434 | 1.000 | 0.250 | Hitting_SLG | 0.613 | 0.250 | 0.387 | 0.750 |
| predicted_SO | 1.088 | 1.000 | 2.000 | Hitting_SO | 1.088 | 1.000 | -0.088 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 3 |
| Better Metrics | 9 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_H: 0.9900 -> 2.0000 (boost 1.0100, better) |
| Biggest Deboost | predicted_BB: 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: 4.0600 -> 8.0684 (boost 4.0084, 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.4738 -> 0.4885 (boost 0.0147, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 1 | 6 | predicted_BB: 0.7503 -> 1.0000 (boost 0.2497, better) | predicted_HR: 0.4211 -> 0.0000 (deboost -0.4211, worse) | AB rounded to 8 (raw=8.07), rates preserved: AVG=0.282 HR/AB=0.052 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.4491 -> 1.0000 (deboost -0.4491, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4885 -> 0.2500 (deboost -0.2385, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 8.0000 -> 5.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4885 (boost 0.2385, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691023",
"player_name": "Jordan Walker",
"position": "RF",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.238,
"predicted_3B": 0.0,
"predicted_AB": 4.06,
"predicted_AVG": 0.243,
"predicted_BB": 0.41,
"predicted_H": 0.99,
"predicted_HR": 0.17,
"predicted_OBP": 0.32,
"predicted_R": 0.767,
"predicted_RBI": 0.59,
"predicted_SLG": 0.434,
"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.3987,
"predicted_3B": 0.0004,
"predicted_AB": 8.0684,
"predicted_AVG": 0.2704,
"predicted_BB": 0.7521,
"predicted_H": 2.3226,
"predicted_HBP": 0.068,
"predicted_HR": 0.4295,
"predicted_OBP": 0.3391,
"predicted_R": 1.4931,
"predicted_RBI": 1.3669,
"predicted_SLG": 0.4738,
"predicted_SO": 1.9554
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.238,
"after": 0.3987,
"delta": 0.1607,
"percent_delta": 0.6752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.06,
"after": 8.0684,
"delta": 4.0084,
"percent_delta": 0.9873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2704,
"delta": 0.0274,
"percent_delta": 0.1128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.41,
"after": 0.7521,
"delta": 0.3421,
"percent_delta": 0.8344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 2.3226,
"delta": 1.3326,
"percent_delta": 1.3461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.4295,
"delta": 0.2595,
"percent_delta": 1.5265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3391,
"delta": 0.0191,
"percent_delta": 0.0597,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.767,
"after": 1.4931,
"delta": 0.7261,
"percent_delta": 0.9467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 1.3669,
"delta": 0.7769,
"percent_delta": 1.3168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4738,
"delta": 0.0398,
"percent_delta": 0.0917,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.088,
"after": 1.9554,
"delta": 0.8674,
"percent_delta": 0.7972,
"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": 8.0684,
"delta": 4.0084,
"percent_delta": 0.9873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.3987,
"predicted_3B": 0.0004,
"predicted_AB": 8.0684,
"predicted_AVG": 0.2824,
"predicted_BB": 0.7503,
"predicted_H": 2.2785,
"predicted_HBP": 0.068,
"predicted_HR": 0.4211,
"predicted_OBP": 0.3434,
"predicted_R": 1.4491,
"predicted_RBI": 1.3266,
"predicted_SLG": 0.4885,
"predicted_SO": 1.9601
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3987,
"after": 0.3987,
"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.0684,
"after": 8.0684,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2704,
"after": 0.2824,
"delta": 0.012,
"percent_delta": 0.0444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7521,
"after": 0.7503,
"delta": -0.0018,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.3226,
"after": 2.2785,
"delta": -0.0441,
"percent_delta": -0.019,
"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.4295,
"after": 0.4211,
"delta": -0.0084,
"percent_delta": -0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3391,
"after": 0.3434,
"delta": 0.0043,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.4931,
"after": 1.4491,
"delta": -0.044,
"percent_delta": -0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.3669,
"after": 1.3266,
"delta": -0.0403,
"percent_delta": -0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4738,
"after": 0.4885,
"delta": 0.0147,
"percent_delta": 0.031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9554,
"after": 1.9601,
"delta": 0.0047,
"percent_delta": 0.0024,
"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.4738,
"after": 0.4885,
"delta": 0.0147,
"percent_delta": 0.031,
"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.07), rates preserved: AVG=0.282 HR/AB=0.052",
"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.3987,
"after": 0.0,
"delta": -0.3987,
"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.0684,
"after": 8.0,
"delta": -0.0684,
"percent_delta": -0.0085,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7503,
"after": 1.0,
"delta": 0.2497,
"percent_delta": 0.3328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.2785,
"after": 2.0,
"delta": -0.2785,
"percent_delta": -0.1222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.068,
"after": 0.0,
"delta": -0.068,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.4211,
"after": 0.0,
"delta": -0.4211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3266,
"after": 1.0,
"delta": -0.3266,
"percent_delta": -0.2462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9601,
"after": 2.0,
"delta": 0.0399,
"percent_delta": 0.0204,
"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_BB",
"before": 0.7503,
"after": 1.0,
"delta": 0.2497,
"percent_delta": 0.3328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.4211,
"after": 0.0,
"delta": -0.4211,
"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.4491,
"after": 1.0,
"delta": -0.4491,
"percent_delta": -0.3099,
"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.4491,
"after": 1.0,
"delta": -0.4491,
"percent_delta": -0.3099,
"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.2824,
"after": 0.25,
"delta": -0.0324,
"percent_delta": -0.1147,
"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.3434,
"after": 0.333,
"delta": -0.0104,
"percent_delta": -0.0303,
"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.4885,
"after": 0.25,
"delta": -0.2385,
"percent_delta": -0.4882,
"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.4885,
"after": 0.25,
"delta": -0.2385,
"percent_delta": -0.4882,
"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": 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": 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": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"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": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2824,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3434,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4885,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2824,
"delta": 0.0324,
"percent_delta": 0.1296,
"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.333,
"after": 0.3434,
"delta": 0.0104,
"percent_delta": 0.0314,
"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.4885,
"delta": 0.2385,
"percent_delta": 0.9539,
"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.4885,
"delta": 0.2385,
"percent_delta": 0.9539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.238,
"after": 0.0,
"delta": -0.238,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.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": 5.0,
"delta": 0.94,
"percent_delta": 0.2315,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2824,
"delta": 0.0394,
"percent_delta": 0.1621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 2.0,
"delta": 1.01,
"percent_delta": 1.0202,
"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.32,
"after": 0.3434,
"delta": 0.0234,
"percent_delta": 0.0731,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.767,
"after": 1.0,
"delta": 0.233,
"percent_delta": 0.3038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 1.0,
"delta": 0.41,
"percent_delta": 0.6949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4885,
"delta": 0.0545,
"percent_delta": 0.1256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.088,
"after": 1.0,
"delta": -0.088,
"percent_delta": -0.0809,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 9,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.99,
"after": 2.0,
"delta": 1.01,
"percent_delta": 1.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.238 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.060 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.410 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.320 | - |
| predicted_R | 0.767 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.434 | - |
| 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.399 | 0.161 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.068 | 4.008 |
| predicted_AVG | 0.270 | 0.027 |
| predicted_BB | 0.752 | 0.342 |
| predicted_H | 2.323 | 1.333 |
| predicted_HBP | 0.068 | - |
| predicted_HR | 0.429 | 0.259 |
| predicted_OBP | 0.339 | 0.019 |
| predicted_R | 1.493 | 0.726 |
| predicted_RBI | 1.367 | 0.777 |
| predicted_SLG | 0.474 | 0.040 |
| predicted_SO | 1.955 | 0.867 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.399 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.068 | 0.000 |
| predicted_AVG | 0.282 | 0.012 |
| predicted_BB | 0.750 | -0.002 |
| predicted_H | 2.279 | -0.044 |
| predicted_HBP | 0.068 | 0.000 |
| predicted_HR | 0.421 | -0.008 |
| predicted_OBP | 0.343 | 0.004 |
| predicted_R | 1.449 | -0.044 |
| predicted_RBI | 1.327 | -0.040 |
| predicted_SLG | 0.488 | 0.015 |
| predicted_SO | 1.960 | 0.005 |
AB rounded to 8 (raw=8.07), rates preserved: AVG=0.282 HR/AB=0.052
| 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.399 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 8.000 | -0.068 |
| predicted_AVG | 0.250 | -0.032 |
| predicted_BB | 1.000 | 0.250 |
| predicted_H | 2.000 | -0.279 |
| predicted_HR | 0.000 | -0.421 |
| predicted_OBP | 0.333 | -0.010 |
| predicted_R | 1.000 | -0.449 |
| predicted_RBI | 1.000 | -0.327 |
| predicted_SLG | 0.250 | -0.238 |
| predicted_SO | 2.000 | 0.040 |
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 | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.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 | 4 | - | 19.000 | 5.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 2.000 | 0.2632 | 0.3000 | 0.2632 | 0.2632 | 0.0000 | 0.0526 | 0.0526 | 0.1053 |
| last_10 | 0.20 | 5 | - | 39.000 | 12.000 | 0.000 | 0.000 | 0.000 | 1.000 | 5.000 | 1.000 | 2.000 | 0.3077 | 0.3250 | 0.3077 | 0.3077 | 0.0000 | 0.0256 | 0.0256 | 0.0513 |
| season | 0.60 | 55 | - | 886.000 | 282.000 | 54.000 | 0.000 | 69.000 | 199.000 | 174.000 | 93.000 | 247.000 | 0.3183 | 0.3848 | 0.6129 | 0.3183 | 0.0779 | 0.2246 | 0.1050 | 0.2788 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6020 |
| predicted_3B | 0.0010 |
| predicted_AB | 13.1410 |
| predicted_AVG | 0.3051 |
| predicted_BB | 1.1850 |
| predicted_H | 4.0090 |
| predicted_HBP | 0.0680 |
| predicted_HR | 0.7580 |
| predicted_OBP | 0.3633 |
| predicted_R | 2.4120 |
| predicted_RBI | 2.3500 |
| predicted_SLG | 0.5242 |
| predicted_SO | 3.0530 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2380 | 0.6020 | 0.3987 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0600 | 13.1410 | 8.0684 | model_form_blend |
| predicted_AVG | 0.2430 | 0.3051 | 0.2704 | model_form_blend |
| predicted_BB | 0.4100 | 1.1850 | 0.7521 | model_form_blend |
| predicted_H | 0.9900 | 4.0090 | 2.3226 | model_form_blend |
| predicted_HBP | - | 0.0680 | 0.0680 | form_only |
| predicted_HR | 0.1700 | 0.7580 | 0.4295 | model_form_blend |
| predicted_OBP | 0.3200 | 0.3633 | 0.3391 | model_form_blend |
| predicted_R | 0.7670 | 2.4120 | 1.4931 | model_form_blend |
| predicted_RBI | 0.5900 | 2.3500 | 1.3669 | model_form_blend |
| predicted_SLG | 0.4340 | 0.5242 | 0.4738 | model_form_blend |
| predicted_SO | 1.0880 | 3.0530 | 1.9554 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 227 |
| Season rows before report date | 227 |
| Report year | 2026 |
| Profile rows used | 227 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| 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 | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 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 | 20260531_CHC@STL |
| game_type | full |
| mlbID | 691023 |
| playerID | 691023 |
| playerName | Jordan Walker |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | STL |
| teamID | 26 |
| game_date | 2026-05-31 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.397 |
| sl_xwoba | 0.382 |
| sl_xba | 0.283 |
| sl_xslg | 0.53 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 14.9 |
| sl_hard_hit_percent | 52.6 |
| sl_exit_velocity_avg | 94.4 |
| sl_launch_angle_avg | 14.2 |
| sl_whiff_percent | 30.4 |
| sl_swing_percent | 52.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.286 | 1.000 | 0.000 | Hitting_2B | 0.286 | 0.000 | 0.714 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.200 | 4.000 | 8.000 | Hitting_AB | 4.035 | 3.000 | -0.035 | 1.000 |
| predicted_AVG | 0.241 | 0.250 | 0.250 | Hitting_AVG | 0.279 | 0.333 | -0.029 | -0.083 |
| predicted_BB | 0.398 | 1.000 | 1.000 | Hitting_BB | 0.398 | 1.000 | 0.602 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.010 | 1.000 | 2.000 | Hitting_H | 1.126 | 1.000 | -0.126 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.134 | 0.000 | -0.134 | 0.000 |
| predicted_OBP | 0.322 | 0.400 | 0.333 | Hitting_OBP | 0.344 | 0.500 | 0.056 | -0.100 |
| predicted_R | 0.515 | 0.000 | 1.000 | Hitting_R | 0.515 | 1.000 | -0.515 | -1.000 |
| predicted_RBI | 0.600 | 0.000 | 1.000 | Hitting_RBI | 0.688 | 2.000 | -0.688 | -2.000 |
| predicted_SLG | 0.407 | 0.500 | 0.250 | Hitting_SLG | 0.450 | 0.333 | 0.050 | 0.167 |
| predicted_SO | 0.740 | 0.000 | 1.000 | Hitting_SO | 0.740 | 0.000 | -0.740 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_2B: 0.2860 -> 1.0000 (boost 0.7140, better) |
| Biggest Deboost | predicted_SO: 0.7400 -> 0.0000 (deboost -0.7400, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 8 | 2 | 7 | 3 | predicted_AB: 4.2000 -> 8.4247 (boost 4.2247, better) | predicted_SLG: 0.4070 -> 0.3939 (deboost -0.0131, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3939 -> 0.3778 (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 | 7 | 1 | 6 | 2 | 5 | predicted_BB: 0.7408 -> 1.0000 (boost 0.2592, better) | predicted_SO: 1.5149 -> 1.0000 (deboost -0.5149, better) | AB rounded to 8 (raw=8.42), rates preserved: AVG=0.242 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.9170 -> 1.0000 (boost 0.0830, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3029 -> 0.3330 (boost 0.0301, better) | predicted_SLG: 0.3778 -> 0.2500 (deboost -0.1278, 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 -> 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.3778 (boost 0.1278, better) | predicted_OBP: 0.3330 -> 0.3029 (deboost -0.0301, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676475",
"player_name": "Alec Burleson",
"position": "1B",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.286,
"predicted_3B": 0.0,
"predicted_AB": 4.2,
"predicted_AVG": 0.241,
"predicted_BB": 0.398,
"predicted_H": 1.01,
"predicted_HR": 0.13,
"predicted_OBP": 0.322,
"predicted_R": 0.515,
"predicted_RBI": 0.6,
"predicted_SLG": 0.407,
"predicted_SO": 0.74
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4817,
"predicted_3B": 0.0004,
"predicted_AB": 8.4247,
"predicted_AVG": 0.2444,
"predicted_BB": 0.7426,
"predicted_H": 2.0751,
"predicted_HBP": 0.057,
"predicted_HR": 0.2259,
"predicted_OBP": 0.3155,
"predicted_R": 0.9449,
"predicted_RBI": 1.3228,
"predicted_SLG": 0.3939,
"predicted_SO": 1.5113
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.286,
"after": 0.4817,
"delta": 0.1957,
"percent_delta": 0.6843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2,
"after": 8.4247,
"delta": 4.2247,
"percent_delta": 1.0059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2444,
"delta": 0.0034,
"percent_delta": 0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.398,
"after": 0.7426,
"delta": 0.3446,
"percent_delta": 0.8658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 2.0751,
"delta": 1.0651,
"percent_delta": 1.0546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.2259,
"delta": 0.0959,
"percent_delta": 0.7377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3155,
"delta": -0.0065,
"percent_delta": -0.0202,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.515,
"after": 0.9449,
"delta": 0.4299,
"percent_delta": 0.8348,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 1.3228,
"delta": 0.7228,
"percent_delta": 1.2047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.3939,
"delta": -0.0131,
"percent_delta": -0.0322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.74,
"after": 1.5113,
"delta": 0.7713,
"percent_delta": 1.0423,
"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.2,
"after": 8.4247,
"delta": 4.2247,
"percent_delta": 1.0059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.3939,
"delta": -0.0131,
"percent_delta": -0.0322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.4817,
"predicted_3B": 0.0004,
"predicted_AB": 8.4247,
"predicted_AVG": 0.2416,
"predicted_BB": 0.7408,
"predicted_H": 2.0357,
"predicted_HBP": 0.057,
"predicted_HR": 0.2215,
"predicted_OBP": 0.3029,
"predicted_R": 0.917,
"predicted_RBI": 1.2838,
"predicted_SLG": 0.3778,
"predicted_SO": 1.5149
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4817,
"after": 0.4817,
"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.4247,
"after": 8.4247,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2444,
"after": 0.2416,
"delta": -0.0028,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.7426,
"after": 0.7408,
"delta": -0.0018,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0751,
"after": 2.0357,
"delta": -0.0394,
"percent_delta": -0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.057,
"after": 0.057,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2259,
"after": 0.2215,
"delta": -0.0044,
"percent_delta": -0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3155,
"after": 0.3029,
"delta": -0.0126,
"percent_delta": -0.0399,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9449,
"after": 0.917,
"delta": -0.0279,
"percent_delta": -0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.3228,
"after": 1.2838,
"delta": -0.039,
"percent_delta": -0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3939,
"after": 0.3778,
"delta": -0.0161,
"percent_delta": -0.0409,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5113,
"after": 1.5149,
"delta": 0.0036,
"percent_delta": 0.0024,
"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.3939,
"after": 0.3778,
"delta": -0.0161,
"percent_delta": -0.0409,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=8.42), rates preserved: AVG=0.242 HR/AB=0.026",
"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.4817,
"after": 0.0,
"delta": -0.4817,
"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.4247,
"after": 8.0,
"delta": -0.4247,
"percent_delta": -0.0504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7408,
"after": 1.0,
"delta": 0.2592,
"percent_delta": 0.3499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0357,
"after": 2.0,
"delta": -0.0357,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.057,
"after": 0.0,
"delta": -0.057,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2215,
"after": 0.0,
"delta": -0.2215,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2838,
"after": 1.0,
"delta": -0.2838,
"percent_delta": -0.2211,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5149,
"after": 1.0,
"delta": -0.5149,
"percent_delta": -0.3399,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.7408,
"after": 1.0,
"delta": 0.2592,
"percent_delta": 0.3499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.5149,
"after": 1.0,
"delta": -0.5149,
"percent_delta": -0.3399,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.917,
"after": 1.0,
"delta": 0.083,
"percent_delta": 0.0905,
"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.917,
"after": 1.0,
"delta": 0.083,
"percent_delta": 0.0905,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2416,
"after": 0.25,
"delta": 0.0084,
"percent_delta": 0.0348,
"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.3029,
"after": 0.333,
"delta": 0.0301,
"percent_delta": 0.0994,
"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.3778,
"after": 0.25,
"delta": -0.1278,
"percent_delta": -0.3383,
"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.3029,
"after": 0.333,
"delta": 0.0301,
"percent_delta": 0.0994,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3778,
"after": 0.25,
"delta": -0.1278,
"percent_delta": -0.3383,
"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": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.0,
"after": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2416,
"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.3029,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3778,
"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.25,
"after": 0.2416,
"delta": -0.0084,
"percent_delta": -0.0335,
"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.3029,
"delta": -0.0301,
"percent_delta": -0.0903,
"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.3778,
"delta": 0.1278,
"percent_delta": 0.5111,
"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.3778,
"delta": 0.1278,
"percent_delta": 0.5111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3029,
"delta": -0.0301,
"percent_delta": -0.0903,
"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.286,
"after": 1.0,
"delta": 0.714,
"percent_delta": 2.4965,
"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.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.2416,
"delta": 0.0006,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.398,
"after": 1.0,
"delta": 0.602,
"percent_delta": 1.5126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 1.0,
"delta": -0.01,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3029,
"delta": -0.0191,
"percent_delta": -0.0593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.515,
"after": 0.0,
"delta": -0.515,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 0.0,
"delta": -0.6,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.3778,
"delta": -0.0292,
"percent_delta": -0.0717,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.286,
"after": 1.0,
"delta": 0.714,
"percent_delta": 2.4965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.286 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.200 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.398 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.515 | - |
| predicted_RBI | 0.600 | - |
| predicted_SLG | 0.407 | - |
| predicted_SO | 0.740 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.482 | 0.196 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.425 | 4.225 |
| predicted_AVG | 0.244 | 0.003 |
| predicted_BB | 0.743 | 0.345 |
| predicted_H | 2.075 | 1.065 |
| predicted_HBP | 0.057 | - |
| predicted_HR | 0.226 | 0.096 |
| predicted_OBP | 0.316 | -0.007 |
| predicted_R | 0.945 | 0.430 |
| predicted_RBI | 1.323 | 0.723 |
| predicted_SLG | 0.394 | -0.013 |
| predicted_SO | 1.511 | 0.771 |
Step 3: 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.000 | 0.000 |
| predicted_AB | 8.425 | 0.000 |
| predicted_AVG | 0.242 | -0.003 |
| predicted_BB | 0.741 | -0.002 |
| predicted_H | 2.036 | -0.039 |
| predicted_HBP | 0.057 | 0.000 |
| predicted_HR | 0.222 | -0.004 |
| predicted_OBP | 0.303 | -0.013 |
| predicted_R | 0.917 | -0.028 |
| predicted_RBI | 1.284 | -0.039 |
| predicted_SLG | 0.378 | -0.016 |
| predicted_SO | 1.515 | 0.004 |
AB rounded to 8 (raw=8.42), rates preserved: AVG=0.242 HR/AB=0.026
| 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.482 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 8.000 | -0.425 |
| predicted_AVG | 0.250 | 0.008 |
| predicted_BB | 1.000 | 0.259 |
| predicted_H | 2.000 | -0.036 |
| predicted_HR | 0.000 | -0.222 |
| predicted_OBP | 0.333 | 0.030 |
| predicted_R | 1.000 | 0.083 |
| predicted_RBI | 1.000 | -0.284 |
| predicted_SLG | 0.250 | -0.128 |
| predicted_SO | 1.000 | -0.515 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -4.000 |
| BB | 1.000 | 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 | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 19.000 | 3.000 | 0.000 | 0.000 | 0.000 | 3.000 | 1.000 | 1.000 | 3.000 | 0.1579 | 0.2000 | 0.1579 | 0.1579 | 0.0000 | 0.1579 | 0.0526 | 0.1579 |
| last_10 | 0.20 | 5 | - | 39.000 | 6.000 | 0.000 | 0.000 | 0.000 | 3.000 | 1.000 | 1.000 | 8.000 | 0.1538 | 0.1750 | 0.1538 | 0.1538 | 0.0000 | 0.0769 | 0.0256 | 0.2051 |
| season | 0.60 | 55 | - | 932.000 | 260.000 | 66.000 | 0.000 | 31.000 | 159.000 | 119.000 | 92.000 | 171.000 | 0.2790 | 0.3443 | 0.4496 | 0.2790 | 0.0333 | 0.1706 | 0.0987 | 0.1835 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7290 |
| predicted_3B | 0.0010 |
| predicted_AB | 13.7630 |
| predicted_AVG | 0.2486 |
| predicted_BB | 1.1780 |
| predicted_H | 3.4210 |
| predicted_HBP | 0.0570 |
| predicted_HR | 0.3470 |
| predicted_OBP | 0.3072 |
| predicted_R | 1.4880 |
| predicted_RBI | 2.2360 |
| predicted_SLG | 0.3774 |
| predicted_SO | 2.4860 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2860 | 0.7290 | 0.4817 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.2000 | 13.7630 | 8.4247 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2486 | 0.2444 | model_form_blend |
| predicted_BB | 0.3980 | 1.1780 | 0.7426 | model_form_blend |
| predicted_H | 1.0100 | 3.4210 | 2.0751 | model_form_blend |
| predicted_HBP | - | 0.0570 | 0.0570 | form_only |
| predicted_HR | 0.1300 | 0.3470 | 0.2259 | model_form_blend |
| predicted_OBP | 0.3220 | 0.3072 | 0.3155 | model_form_blend |
| predicted_R | 0.5150 | 1.4880 | 0.9449 | model_form_blend |
| predicted_RBI | 0.6000 | 2.2360 | 1.3228 | model_form_blend |
| predicted_SLG | 0.4070 | 0.3774 | 0.3939 | model_form_blend |
| predicted_SO | 0.7400 | 2.4860 | 1.5113 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 5 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.279 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260531_CHC@STL |
| game_type | full |
| mlbID | 676475 |
| playerID | 676475 |
| playerName | Alec Burleson |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | STL |
| teamID | 26 |
| game_date | 2026-05-31 |
| sl_k_percent | 15.9 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.345 |
| sl_xwoba | 0.378 |
| sl_xba | 0.289 |
| sl_xslg | 0.529 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 10.2 |
| sl_hard_hit_percent | 47.2 |
| sl_exit_velocity_avg | 91.5 |
| sl_launch_angle_avg | 11.9 |
| sl_whiff_percent | 21.8 |
| sl_swing_percent | 49.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.000 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.182 | 0.000 | 0.000 | Hitting_3B | 0.182 | 0.000 | -0.182 | 0.000 |
| predicted_AB | 3.818 | 4.000 | 7.000 | Hitting_AB | 3.818 | 3.000 | 0.182 | 1.000 |
| predicted_AVG | 0.237 | 0.000 | 0.286 | Hitting_AVG | 0.262 | 0.000 | -0.262 | 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.880 | 0.000 | 2.000 | Hitting_H | 1.000 | 0.000 | -1.000 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.298 | 0.000 | 0.375 | Hitting_OBP | 0.340 | 0.000 | -0.340 | 0.000 |
| predicted_R | 0.000 | 0.000 | 0.000 | Hitting_R | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_RBI | 0.400 | 0.000 | 1.000 | Hitting_RBI | 0.182 | 0.000 | -0.182 | 0.000 |
| predicted_SLG | 0.385 | 0.000 | 0.286 | Hitting_SLG | 0.357 | 0.000 | -0.357 | 0.000 |
| predicted_SO | 0.773 | 1.000 | 1.000 | Hitting_SO | 0.773 | 0.000 | 0.227 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_SO: 0.7730 -> 1.0000 (boost 0.2270, worse) |
| Biggest Deboost | predicted_H: 0.8800 -> 0.0000 (deboost -0.8800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.8180 -> 7.1133 (boost 3.2953, 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.3070 -> 0.3132 (boost 0.0062, 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_RBI: 0.6340 -> 1.0000 (boost 0.3660, better) | predicted_SO: 1.4401 -> 1.0000 (deboost -0.4401, better) | AB rounded to 7 (raw=7.11), rates preserved: AVG=0.245 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.1417 -> 0.0000 (deboost -0.1417, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3132 -> 0.3750 (boost 0.0618, better) | predicted_SLG: 0.3965 -> 0.2860 (deboost -0.1105, 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2860 -> 0.3965 (boost 0.1105, better) | predicted_OBP: 0.3750 -> 0.3132 (deboost -0.0618, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663494",
"player_name": "Bryan Torres",
"position": "LF",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is 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.182,
"predicted_AB": 3.818,
"predicted_AVG": 0.237,
"predicted_BB": 0.455,
"predicted_H": 0.88,
"predicted_HR": 0.09,
"predicted_OBP": 0.298,
"predicted_R": 0.0,
"predicted_RBI": 0.4,
"predicted_SLG": 0.385,
"predicted_SO": 0.773
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0561,
"predicted_3B": 0.372,
"predicted_AB": 7.1133,
"predicted_AVG": 0.2454,
"predicted_BB": 0.7091,
"predicted_H": 1.7758,
"predicted_HBP": 0.028,
"predicted_HR": 0.0946,
"predicted_OBP": 0.307,
"predicted_R": 0.146,
"predicted_RBI": 0.6533,
"predicted_SLG": 0.3925,
"predicted_SO": 1.4367
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0561,
"delta": 0.0561,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.182,
"after": 0.372,
"delta": 0.19,
"percent_delta": 1.044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.818,
"after": 7.1133,
"delta": 3.2953,
"percent_delta": 0.8631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2454,
"delta": 0.0084,
"percent_delta": 0.0354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.455,
"after": 0.7091,
"delta": 0.2541,
"percent_delta": 0.5585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 1.7758,
"delta": 0.8958,
"percent_delta": 1.018,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0946,
"delta": 0.0046,
"percent_delta": 0.0511,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.307,
"delta": 0.009,
"percent_delta": 0.0302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.146,
"delta": 0.146,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.6533,
"delta": 0.2533,
"percent_delta": 0.6332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.3925,
"delta": 0.0075,
"percent_delta": 0.0195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.773,
"after": 1.4367,
"delta": 0.6637,
"percent_delta": 0.8586,
"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.818,
"after": 7.1133,
"delta": 3.2953,
"percent_delta": 0.8631,
"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.0561,
"predicted_3B": 0.372,
"predicted_AB": 7.1133,
"predicted_AVG": 0.2449,
"predicted_BB": 0.7074,
"predicted_H": 1.7421,
"predicted_HBP": 0.028,
"predicted_HR": 0.0927,
"predicted_OBP": 0.3132,
"predicted_R": 0.1417,
"predicted_RBI": 0.634,
"predicted_SLG": 0.3965,
"predicted_SO": 1.4401
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0561,
"after": 0.0561,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.372,
"after": 0.372,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.1133,
"after": 7.1133,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2454,
"after": 0.2449,
"delta": -0.0005,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.7091,
"after": 0.7074,
"delta": -0.0017,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7758,
"after": 1.7421,
"delta": -0.0337,
"percent_delta": -0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.028,
"after": 0.028,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0946,
"after": 0.0927,
"delta": -0.0019,
"percent_delta": -0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3132,
"delta": 0.0062,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.146,
"after": 0.1417,
"delta": -0.0043,
"percent_delta": -0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6533,
"after": 0.634,
"delta": -0.0193,
"percent_delta": -0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3925,
"after": 0.3965,
"delta": 0.004,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.4367,
"after": 1.4401,
"delta": 0.0034,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_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.307,
"after": 0.3132,
"delta": 0.0062,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.11), rates preserved: AVG=0.245 HR/AB=0.013",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0561,
"after": 0.0,
"delta": -0.0561,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.372,
"after": 0.0,
"delta": -0.372,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.1133,
"after": 7.0,
"delta": -0.1133,
"percent_delta": -0.0159,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7074,
"after": 1.0,
"delta": 0.2926,
"percent_delta": 0.4136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7421,
"after": 2.0,
"delta": 0.2579,
"percent_delta": 0.148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.028,
"after": 0.0,
"delta": -0.028,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0927,
"after": 0.0,
"delta": -0.0927,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.634,
"after": 1.0,
"delta": 0.366,
"percent_delta": 0.5773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4401,
"after": 1.0,
"delta": -0.4401,
"percent_delta": -0.3056,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.634,
"after": 1.0,
"delta": 0.366,
"percent_delta": 0.5773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.4401,
"after": 1.0,
"delta": -0.4401,
"percent_delta": -0.3056,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 7.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 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.1417,
"after": 0.0,
"delta": -0.1417,
"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.1417,
"after": 0.0,
"delta": -0.1417,
"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.286,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 0.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.2449,
"after": 0.286,
"delta": 0.0411,
"percent_delta": 0.1678,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3132,
"after": 0.375,
"delta": 0.0618,
"percent_delta": 0.1973,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3965,
"after": 0.286,
"delta": -0.1105,
"percent_delta": -0.2787,
"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.3132,
"after": 0.375,
"delta": 0.0618,
"percent_delta": 0.1973,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3965,
"after": 0.286,
"delta": -0.1105,
"percent_delta": -0.2787,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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.2449,
"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.3132,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3965,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2449,
"delta": -0.0411,
"percent_delta": -0.1437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3132,
"delta": -0.0618,
"percent_delta": -0.1648,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.286,
"after": 0.3965,
"delta": 0.1105,
"percent_delta": 0.3864,
"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.3965,
"delta": 0.1105,
"percent_delta": 0.3864,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3132,
"delta": -0.0618,
"percent_delta": -0.1648,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.182,
"after": 0.0,
"delta": -0.182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.818,
"after": 4.0,
"delta": 0.182,
"percent_delta": 0.0477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2449,
"delta": 0.0079,
"percent_delta": 0.0333,
"direction": "boost",
"projection_effect": "better",
"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.88,
"after": 0.0,
"delta": -0.88,
"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.298,
"after": 0.3132,
"delta": 0.0152,
"percent_delta": 0.051,
"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.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.3965,
"delta": 0.0115,
"percent_delta": 0.0299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.773,
"after": 1.0,
"delta": 0.227,
"percent_delta": 0.2937,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.773,
"after": 1.0,
"delta": 0.227,
"percent_delta": 0.2937,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.88,
"after": 0.0,
"delta": -0.88,
"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.182 | - |
| predicted_AB | 3.818 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.455 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.000 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.385 | - |
| predicted_SO | 0.773 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.056 | 0.056 |
| predicted_3B | 0.372 | 0.190 |
| predicted_AB | 7.113 | 3.295 |
| predicted_AVG | 0.245 | 0.008 |
| predicted_BB | 0.709 | 0.254 |
| predicted_H | 1.776 | 0.896 |
| predicted_HBP | 0.028 | - |
| predicted_HR | 0.095 | 0.005 |
| predicted_OBP | 0.307 | 0.009 |
| predicted_R | 0.146 | 0.146 |
| predicted_RBI | 0.653 | 0.253 |
| predicted_SLG | 0.393 | 0.008 |
| predicted_SO | 1.437 | 0.664 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.056 | 0.000 |
| predicted_3B | 0.372 | 0.000 |
| predicted_AB | 7.113 | 0.000 |
| predicted_AVG | 0.245 | -0.001 |
| predicted_BB | 0.707 | -0.002 |
| predicted_H | 1.742 | -0.034 |
| predicted_HBP | 0.028 | 0.000 |
| predicted_HR | 0.093 | -0.002 |
| predicted_OBP | 0.313 | 0.006 |
| predicted_R | 0.142 | -0.004 |
| predicted_RBI | 0.634 | -0.019 |
| predicted_SLG | 0.397 | 0.004 |
| predicted_SO | 1.440 | 0.003 |
AB rounded to 7 (raw=7.11), rates preserved: AVG=0.245 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 7.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=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 | 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.056 |
| predicted_3B | 0.000 | -0.372 |
| predicted_AB | 7.000 | -0.113 |
| predicted_AVG | 0.286 | 0.041 |
| predicted_BB | 1.000 | 0.293 |
| predicted_H | 2.000 | 0.258 |
| predicted_HR | 0.000 | -0.093 |
| predicted_OBP | 0.375 | 0.062 |
| predicted_R | 0.000 | -0.142 |
| predicted_RBI | 1.000 | 0.366 |
| predicted_SLG | 0.286 | -0.111 |
| predicted_SO | 1.000 | -0.440 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -3.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 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 | - | 19.000 | 4.000 | 0.000 | 4.000 | 0.000 | 4.000 | 0.000 | 0.000 | 4.000 | 0.2105 | 0.2105 | 0.6316 | 0.2105 | 0.0000 | 0.2105 | 0.0000 | 0.2105 |
| last_10 | 0.20 | 4 | - | 38.000 | 12.000 | 0.000 | 4.000 | 0.000 | 4.000 | 0.000 | 0.000 | 5.000 | 0.3158 | 0.3158 | 0.5263 | 0.3158 | 0.0000 | 0.1053 | 0.0000 | 0.1316 |
| season | 0.60 | 5 | - | 84.000 | 22.000 | 0.000 | 4.000 | 0.000 | 4.000 | 0.000 | 10.000 | 17.000 | 0.2619 | 0.3404 | 0.3571 | 0.2619 | 0.0000 | 0.0476 | 0.1191 | 0.2024 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1480 |
| predicted_3B | 0.6830 |
| predicted_AB | 12.5070 |
| predicted_AVG | 0.2592 |
| predicted_BB | 1.1250 |
| predicted_H | 3.2420 |
| predicted_HBP | 0.0280 |
| predicted_HR | 0.1020 |
| predicted_OBP | 0.3216 |
| predicted_R | 0.3850 |
| predicted_RBI | 1.0680 |
| predicted_SLG | 0.4048 |
| predicted_SO | 2.5230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1480 | 0.0561 | model_form_blend |
| predicted_3B | 0.1820 | 0.6830 | 0.3720 | model_form_blend |
| predicted_AB | 3.8180 | 12.5070 | 7.1133 | model_form_blend |
| predicted_AVG | 0.2370 | 0.2592 | 0.2454 | model_form_blend |
| predicted_BB | 0.4550 | 1.1250 | 0.7091 | model_form_blend |
| predicted_H | 0.8800 | 3.2420 | 1.7758 | model_form_blend |
| predicted_HBP | - | 0.0280 | 0.0280 | form_only |
| predicted_HR | 0.0900 | 0.1020 | 0.0946 | model_form_blend |
| predicted_OBP | 0.2980 | 0.3216 | 0.3070 | model_form_blend |
| predicted_R | 0.0000 | 0.3850 | 0.1460 | model_form_blend |
| predicted_RBI | 0.4000 | 1.0680 | 0.6533 | model_form_blend |
| predicted_SLG | 0.3850 | 0.4048 | 0.3925 | model_form_blend |
| predicted_SO | 0.7730 | 2.5230 | 1.4367 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| 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 | 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 | LF |
| gameID | 20260530_CHC@STL |
| game_type | full |
| mlbID | 663494 |
| playerID | 663494 |
| playerName | Bryan Torres |
| pos | OF |
| started | True |
| startingPosition | LF |
| team | STL |
| teamID | 26 |
| game_date | 2026-05-30 |
| sl_k_percent | 12.5 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.362 |
| sl_xwoba | 0.43 |
| sl_xba | 0.383 |
| sl_xslg | 0.553 |
| sl_sweet_spot_percent | 52.6 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 31.6 |
| sl_exit_velocity_avg | 86.8 |
| sl_launch_angle_avg | 15.8 |
| sl_whiff_percent | 17.8 |
| sl_swing_percent | 42.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.183 | 1.000 | 0.000 | Hitting_2B | 0.181 | 0.000 | 0.819 | 1.000 |
| predicted_3B | 0.040 | 0.000 | 0.000 | Hitting_3B | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_AB | 3.851 | 4.000 | 8.000 | Hitting_AB | 3.814 | 4.000 | 0.186 | 0.000 |
| predicted_AVG | 0.228 | 0.500 | 0.250 | Hitting_AVG | 0.230 | 0.250 | 0.270 | 0.250 |
| predicted_BB | 0.327 | 0.000 | 1.000 | Hitting_BB | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 0.850 | 2.000 | 2.000 | Hitting_H | 0.877 | 1.000 | 1.123 | 1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_OBP | 0.292 | 0.500 | 0.333 | Hitting_OBP | 0.300 | 0.250 | 0.200 | 0.250 |
| predicted_R | 0.411 | 0.000 | 1.000 | Hitting_R | 0.407 | 0.000 | -0.407 | 0.000 |
| predicted_RBI | 0.410 | 0.000 | 1.000 | Hitting_RBI | 0.441 | 2.000 | -0.441 | -2.000 |
| predicted_SLG | 0.316 | 0.750 | 0.250 | Hitting_SLG | 0.317 | 0.250 | 0.433 | 0.500 |
| predicted_SO | 0.856 | 0.000 | 2.000 | Hitting_SO | 0.848 | 1.000 | -0.848 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.8500 -> 2.0000 (boost 1.1500, better) |
| Biggest Deboost | predicted_SO: 0.8560 -> 0.0000 (deboost -0.8560, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 7 | 0 | 6 | 1 | predicted_AB: 3.8510 -> 7.8280 (boost 3.9770, 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.2940 -> 0.2847 (deboost -0.0093, 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_BB: 0.6131 -> 1.0000 (boost 0.3869, better) | predicted_2B: 0.3072 -> 0.0000 (deboost -0.3072, worse) | AB rounded to 8 (raw=7.83), rates preserved: AVG=0.229 HR/AB=0.008 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6724 -> 1.0000 (boost 0.3276, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2847 -> 0.3330 (boost 0.0483, better) | predicted_SLG: 0.3074 -> 0.2500 (deboost -0.0574, 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 -> 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.3074 (boost 0.0574, better) | predicted_OBP: 0.3330 -> 0.2847 (deboost -0.0483, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691026",
"player_name": "Masyn Winn",
"position": "SS",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.183,
"predicted_3B": 0.04,
"predicted_AB": 3.851,
"predicted_AVG": 0.228,
"predicted_BB": 0.327,
"predicted_H": 0.85,
"predicted_HR": 0.05,
"predicted_OBP": 0.292,
"predicted_R": 0.411,
"predicted_RBI": 0.41,
"predicted_SLG": 0.316,
"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.3072,
"predicted_3B": 0.0655,
"predicted_AB": 7.828,
"predicted_AVG": 0.2323,
"predicted_BB": 0.6146,
"predicted_H": 1.8246,
"predicted_HBP": 0.208,
"predicted_HR": 0.0606,
"predicted_OBP": 0.294,
"predicted_R": 0.6928,
"predicted_RBI": 0.8662,
"predicted_SLG": 0.3118,
"predicted_SO": 1.8336
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.183,
"after": 0.3072,
"delta": 0.1242,
"percent_delta": 0.6787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.04,
"after": 0.0655,
"delta": 0.0255,
"percent_delta": 0.6375,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.851,
"after": 7.828,
"delta": 3.977,
"percent_delta": 1.0327,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2323,
"delta": 0.0043,
"percent_delta": 0.0189,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.327,
"after": 0.6146,
"delta": 0.2876,
"percent_delta": 0.8795,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 1.8246,
"delta": 0.9746,
"percent_delta": 1.1466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0606,
"delta": 0.0106,
"percent_delta": 0.212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.294,
"delta": 0.002,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.411,
"after": 0.6928,
"delta": 0.2818,
"percent_delta": 0.6856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.8662,
"delta": 0.4562,
"percent_delta": 1.1127,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.316,
"after": 0.3118,
"delta": -0.0042,
"percent_delta": -0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.856,
"after": 1.8336,
"delta": 0.9776,
"percent_delta": 1.1421,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 7,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.851,
"after": 7.828,
"delta": 3.977,
"percent_delta": 1.0327,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 5,
"season": 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.3072,
"predicted_3B": 0.0655,
"predicted_AB": 7.828,
"predicted_AVG": 0.2287,
"predicted_BB": 0.6131,
"predicted_H": 1.7899,
"predicted_HBP": 0.208,
"predicted_HR": 0.0594,
"predicted_OBP": 0.2847,
"predicted_R": 0.6724,
"predicted_RBI": 0.8406,
"predicted_SLG": 0.3074,
"predicted_SO": 1.838
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3072,
"after": 0.3072,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0655,
"after": 0.0655,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.828,
"after": 7.828,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2323,
"after": 0.2287,
"delta": -0.0036,
"percent_delta": -0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6146,
"after": 0.6131,
"delta": -0.0015,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8246,
"after": 1.7899,
"delta": -0.0347,
"percent_delta": -0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.208,
"after": 0.208,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0606,
"after": 0.0594,
"delta": -0.0012,
"percent_delta": -0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2847,
"delta": -0.0093,
"percent_delta": -0.0316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6928,
"after": 0.6724,
"delta": -0.0204,
"percent_delta": -0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8662,
"after": 0.8406,
"delta": -0.0256,
"percent_delta": -0.0296,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3118,
"after": 0.3074,
"delta": -0.0044,
"percent_delta": -0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.8336,
"after": 1.838,
"delta": 0.0044,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.294,
"after": 0.2847,
"delta": -0.0093,
"percent_delta": -0.0316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.83), rates preserved: AVG=0.229 HR/AB=0.008",
"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.3072,
"after": 0.0,
"delta": -0.3072,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0655,
"after": 0.0,
"delta": -0.0655,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.828,
"after": 8.0,
"delta": 0.172,
"percent_delta": 0.022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6131,
"after": 1.0,
"delta": 0.3869,
"percent_delta": 0.6311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7899,
"after": 2.0,
"delta": 0.2101,
"percent_delta": 0.1174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.208,
"after": 0.0,
"delta": -0.208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0594,
"after": 0.0,
"delta": -0.0594,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8406,
"after": 1.0,
"delta": 0.1594,
"percent_delta": 0.1896,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.838,
"after": 2.0,
"delta": 0.162,
"percent_delta": 0.0881,
"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.6131,
"after": 1.0,
"delta": 0.3869,
"percent_delta": 0.6311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3072,
"after": 0.0,
"delta": -0.3072,
"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.6724,
"after": 1.0,
"delta": 0.3276,
"percent_delta": 0.4872,
"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.6724,
"after": 1.0,
"delta": 0.3276,
"percent_delta": 0.4872,
"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.2287,
"after": 0.25,
"delta": 0.0213,
"percent_delta": 0.0931,
"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.2847,
"after": 0.333,
"delta": 0.0483,
"percent_delta": 0.1697,
"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.3074,
"after": 0.25,
"delta": -0.0574,
"percent_delta": -0.1867,
"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.2847,
"after": 0.333,
"delta": 0.0483,
"percent_delta": 0.1697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3074,
"after": 0.25,
"delta": -0.0574,
"percent_delta": -0.1867,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 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": 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": 4.0,
"delta": -4.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2287,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2847,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3074,
"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.2287,
"delta": -0.0213,
"percent_delta": -0.0854,
"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.2847,
"delta": -0.0483,
"percent_delta": -0.1451,
"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.3074,
"delta": 0.0574,
"percent_delta": 0.2296,
"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.3074,
"delta": 0.0574,
"percent_delta": 0.2296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2847,
"delta": -0.0483,
"percent_delta": -0.1451,
"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.183,
"after": 1.0,
"delta": 0.817,
"percent_delta": 4.4645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.851,
"after": 4.0,
"delta": 0.149,
"percent_delta": 0.0387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2287,
"delta": 0.0007,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.327,
"after": 0.0,
"delta": -0.327,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 2.0,
"delta": 1.15,
"percent_delta": 1.3529,
"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.292,
"after": 0.2847,
"delta": -0.0073,
"percent_delta": -0.025,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.411,
"after": 0.0,
"delta": -0.411,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.316,
"after": 0.3074,
"delta": -0.0086,
"percent_delta": -0.0272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.85,
"after": 2.0,
"delta": 1.15,
"percent_delta": 1.3529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.856,
"after": 0.0,
"delta": -0.856,
"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.183 | - |
| predicted_3B | 0.040 | - |
| predicted_AB | 3.851 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.327 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.292 | - |
| predicted_R | 0.411 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.316 | - |
| 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.307 | 0.124 |
| predicted_3B | 0.066 | 0.026 |
| predicted_AB | 7.828 | 3.977 |
| predicted_AVG | 0.232 | 0.004 |
| predicted_BB | 0.615 | 0.288 |
| predicted_H | 1.825 | 0.975 |
| predicted_HBP | 0.208 | - |
| predicted_HR | 0.061 | 0.011 |
| predicted_OBP | 0.294 | 0.002 |
| predicted_R | 0.693 | 0.282 |
| predicted_RBI | 0.866 | 0.456 |
| predicted_SLG | 0.312 | -0.004 |
| predicted_SO | 1.834 | 0.978 |
Step 3: 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.066 | 0.000 |
| predicted_AB | 7.828 | 0.000 |
| predicted_AVG | 0.229 | -0.004 |
| predicted_BB | 0.613 | -0.002 |
| predicted_H | 1.790 | -0.035 |
| predicted_HBP | 0.208 | 0.000 |
| predicted_HR | 0.059 | -0.001 |
| predicted_OBP | 0.285 | -0.009 |
| predicted_R | 0.672 | -0.020 |
| predicted_RBI | 0.841 | -0.026 |
| predicted_SLG | 0.307 | -0.004 |
| predicted_SO | 1.838 | 0.004 |
AB rounded to 8 (raw=7.83), rates preserved: AVG=0.229 HR/AB=0.008
| 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.307 |
| predicted_3B | 0.000 | -0.066 |
| predicted_AB | 8.000 | 0.172 |
| predicted_AVG | 0.250 | 0.021 |
| predicted_BB | 1.000 | 0.387 |
| predicted_H | 2.000 | 0.210 |
| predicted_HR | 0.000 | -0.059 |
| predicted_OBP | 0.333 | 0.048 |
| predicted_R | 1.000 | 0.328 |
| predicted_RBI | 1.000 | 0.159 |
| predicted_SLG | 0.250 | -0.057 |
| predicted_SO | 2.000 | 0.162 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -4.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 18.000 | 5.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 1.000 | 5.000 | 0.2778 | 0.3158 | 0.2778 | 0.2778 | 0.0000 | 0.1111 | 0.0556 | 0.2778 |
| last_10 | 0.20 | 5 | - | 38.000 | 7.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 1.000 | 13.000 | 0.1842 | 0.2051 | 0.1842 | 0.1842 | 0.0000 | 0.0526 | 0.0263 | 0.3421 |
| season | 0.60 | 49 | - | 778.000 | 179.000 | 37.000 | 8.000 | 5.000 | 90.000 | 83.000 | 66.000 | 173.000 | 0.2301 | 0.2967 | 0.3175 | 0.2301 | 0.0064 | 0.1157 | 0.0848 | 0.2224 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4650 |
| predicted_3B | 0.0980 |
| predicted_AB | 12.8820 |
| predicted_AVG | 0.2378 |
| predicted_BB | 0.9800 |
| predicted_H | 3.0630 |
| predicted_HBP | 0.2080 |
| predicted_HR | 0.0740 |
| predicted_OBP | 0.2965 |
| predicted_R | 1.0510 |
| predicted_RBI | 1.4460 |
| predicted_SLG | 0.3064 |
| predicted_SO | 3.0760 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1830 | 0.4650 | 0.3072 | model_form_blend |
| predicted_3B | 0.0400 | 0.0980 | 0.0655 | model_form_blend |
| predicted_AB | 3.8510 | 12.8820 | 7.8280 | model_form_blend |
| predicted_AVG | 0.2280 | 0.2378 | 0.2323 | model_form_blend |
| predicted_BB | 0.3270 | 0.9800 | 0.6146 | model_form_blend |
| predicted_H | 0.8500 | 3.0630 | 1.8246 | model_form_blend |
| predicted_HBP | - | 0.2080 | 0.2080 | form_only |
| predicted_HR | 0.0500 | 0.0740 | 0.0606 | model_form_blend |
| predicted_OBP | 0.2920 | 0.2965 | 0.2940 | model_form_blend |
| predicted_R | 0.4110 | 1.0510 | 0.6928 | model_form_blend |
| predicted_RBI | 0.4100 | 1.4460 | 0.8662 | model_form_blend |
| predicted_SLG | 0.3160 | 0.3064 | 0.3118 | model_form_blend |
| predicted_SO | 0.8560 | 3.0760 | 1.8336 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 204 |
| Season rows before report date | 204 |
| Report year | 2026 |
| Profile rows used | 202 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.23 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260531_CHC@STL |
| game_type | full |
| mlbID | 691026 |
| playerID | 691026 |
| playerName | Masyn Winn |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | STL |
| teamID | 26 |
| game_date | 2026-05-31 |
| sl_k_percent | 20.9 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.287 |
| sl_xwoba | 0.298 |
| sl_xba | 0.251 |
| sl_xslg | 0.319 |
| sl_sweet_spot_percent | 31.9 |
| sl_barrel_batted_rate | 2.8 |
| sl_hard_hit_percent | 29.9 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 11.9 |
| sl_whiff_percent | 23.6 |
| sl_swing_percent | 42.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.080 | 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.642 | 3.000 | 7.000 | Hitting_AB | 3.642 | 1.000 | -0.642 | 2.000 |
| predicted_AVG | 0.217 | 0.000 | 0.143 | Hitting_AVG | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_BB | 0.418 | 1.000 | 1.000 | Hitting_BB | 0.418 | 0.000 | 0.582 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 0.700 | 0.000 | 1.000 | Hitting_H | 0.836 | 0.000 | -0.836 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.119 | 0.000 | -0.119 | 0.000 |
| predicted_OBP | 0.259 | 0.250 | 0.250 | Hitting_OBP | 0.304 | 0.000 | -0.054 | 0.250 |
| predicted_R | 0.358 | 0.000 | 1.000 | Hitting_R | 0.358 | 0.000 | -0.358 | 0.000 |
| predicted_RBI | 0.370 | 0.000 | 1.000 | Hitting_RBI | 0.542 | 0.000 | -0.542 | 0.000 |
| predicted_SLG | 0.323 | 0.000 | 0.143 | Hitting_SLG | 0.350 | 0.000 | -0.350 | 0.000 |
| predicted_SO | 1.219 | 0.000 | 3.000 | Hitting_SO | 1.219 | 1.000 | -1.219 | -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.4180 -> 1.0000 (boost 0.5820, better) |
| Biggest Deboost | predicted_SO: 1.2190 -> 0.0000 (deboost -1.2190, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 8 | 7 | 1 | 6 | 2 | predicted_AB: 3.6420 -> 6.6876 (boost 3.0456, better) | predicted_SLG: 0.3230 -> 0.3103 (deboost -0.0127, 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.2592 -> 0.2652 (boost 0.0060, better) | predicted_SLG: 0.3103 -> 0.2895 (deboost -0.0208, 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.6126 -> 1.0000 (boost 0.3874, better) | predicted_H: 1.3235 -> 1.0000 (deboost -0.3235, worse) | AB rounded to 7 (raw=6.69), rates preserved: AVG=0.198 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5203 -> 1.0000 (boost 0.4797, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2895 -> 0.1430 (deboost -0.1465, 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1430 -> 0.2895 (boost 0.1465, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669357",
"player_name": "Nolan Gorman",
"position": "3B",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.08,
"predicted_3B": 0.0,
"predicted_AB": 3.642,
"predicted_AVG": 0.217,
"predicted_BB": 0.418,
"predicted_H": 0.7,
"predicted_HR": 0.1,
"predicted_OBP": 0.259,
"predicted_R": 0.358,
"predicted_RBI": 0.37,
"predicted_SLG": 0.323,
"predicted_SO": 1.219
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1227,
"predicted_3B": 0.0004,
"predicted_AB": 6.6876,
"predicted_AVG": 0.2121,
"predicted_BB": 0.6141,
"predicted_H": 1.3491,
"predicted_HBP": 0.003,
"predicted_HR": 0.1664,
"predicted_OBP": 0.2592,
"predicted_R": 0.5361,
"predicted_RBI": 0.7056,
"predicted_SLG": 0.3103,
"predicted_SO": 2.6202
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.08,
"after": 0.1227,
"delta": 0.0427,
"percent_delta": 0.5338,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.642,
"after": 6.6876,
"delta": 3.0456,
"percent_delta": 0.8362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2121,
"delta": -0.0049,
"percent_delta": -0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.418,
"after": 0.6141,
"delta": 0.1961,
"percent_delta": 0.4691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 1.3491,
"delta": 0.6491,
"percent_delta": 0.9273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1664,
"delta": 0.0664,
"percent_delta": 0.664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.259,
"after": 0.2592,
"delta": 0.0002,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.358,
"after": 0.5361,
"delta": 0.1781,
"percent_delta": 0.4975,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.7056,
"delta": 0.3356,
"percent_delta": 0.907,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.323,
"after": 0.3103,
"delta": -0.0127,
"percent_delta": -0.0393,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.219,
"after": 2.6202,
"delta": 1.4012,
"percent_delta": 1.1495,
"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.642,
"after": 6.6876,
"delta": 3.0456,
"percent_delta": 0.8362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.323,
"after": 0.3103,
"delta": -0.0127,
"percent_delta": -0.0393,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 6,
"season": 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.1227,
"predicted_3B": 0.0004,
"predicted_AB": 6.6876,
"predicted_AVG": 0.1979,
"predicted_BB": 0.6126,
"predicted_H": 1.3235,
"predicted_HBP": 0.003,
"predicted_HR": 0.1631,
"predicted_OBP": 0.2652,
"predicted_R": 0.5203,
"predicted_RBI": 0.6848,
"predicted_SLG": 0.2895,
"predicted_SO": 2.6265
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1227,
"after": 0.1227,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.6876,
"after": 6.6876,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2121,
"after": 0.1979,
"delta": -0.0142,
"percent_delta": -0.0669,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6141,
"after": 0.6126,
"delta": -0.0015,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3491,
"after": 1.3235,
"delta": -0.0256,
"percent_delta": -0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1664,
"after": 0.1631,
"delta": -0.0033,
"percent_delta": -0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2592,
"after": 0.2652,
"delta": 0.006,
"percent_delta": 0.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5361,
"after": 0.5203,
"delta": -0.0158,
"percent_delta": -0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7056,
"after": 0.6848,
"delta": -0.0208,
"percent_delta": -0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3103,
"after": 0.2895,
"delta": -0.0208,
"percent_delta": -0.067,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.6202,
"after": 2.6265,
"delta": 0.0063,
"percent_delta": 0.0024,
"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.2592,
"after": 0.2652,
"delta": 0.006,
"percent_delta": 0.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3103,
"after": 0.2895,
"delta": -0.0208,
"percent_delta": -0.067,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.69), rates preserved: AVG=0.198 HR/AB=0.024",
"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": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1227,
"after": 0.0,
"delta": -0.1227,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.6876,
"after": 7.0,
"delta": 0.3124,
"percent_delta": 0.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6126,
"after": 1.0,
"delta": 0.3874,
"percent_delta": 0.6324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3235,
"after": 1.0,
"delta": -0.3235,
"percent_delta": -0.2444,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1631,
"after": 0.0,
"delta": -0.1631,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6848,
"after": 1.0,
"delta": 0.3152,
"percent_delta": 0.4603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.6265,
"after": 3.0,
"delta": 0.3735,
"percent_delta": 0.1422,
"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.6126,
"after": 1.0,
"delta": 0.3874,
"percent_delta": 0.6324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.3235,
"after": 1.0,
"delta": -0.3235,
"percent_delta": -0.2444,
"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": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5203,
"after": 1.0,
"delta": 0.4797,
"percent_delta": 0.922,
"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.5203,
"after": 1.0,
"delta": 0.4797,
"percent_delta": 0.922,
"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": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1979,
"after": 0.143,
"delta": -0.0549,
"percent_delta": -0.2774,
"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.2652,
"after": 0.25,
"delta": -0.0152,
"percent_delta": -0.0573,
"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.2895,
"after": 0.143,
"delta": -0.1465,
"percent_delta": -0.506,
"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.2895,
"after": 0.143,
"delta": -0.1465,
"percent_delta": -0.506,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0,
"after": 3.0,
"delta": -4.0,
"percent_delta": -0.5714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 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.1979,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2652,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2895,
"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.143,
"after": 0.1979,
"delta": 0.0549,
"percent_delta": 0.3839,
"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.2652,
"delta": 0.0152,
"percent_delta": 0.0608,
"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.2895,
"delta": 0.1465,
"percent_delta": 1.0248,
"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.2895,
"delta": 0.1465,
"percent_delta": 1.0248,
"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.08,
"after": 0.0,
"delta": -0.08,
"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.642,
"after": 3.0,
"delta": -0.642,
"percent_delta": -0.1763,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.1979,
"delta": -0.0191,
"percent_delta": -0.088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.418,
"after": 1.0,
"delta": 0.582,
"percent_delta": 1.3923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.259,
"after": 0.2652,
"delta": 0.0062,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.358,
"after": 0.0,
"delta": -0.358,
"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.323,
"after": 0.2895,
"delta": -0.0335,
"percent_delta": -0.1037,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.219,
"after": 0.0,
"delta": -1.219,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.418,
"after": 1.0,
"delta": 0.582,
"percent_delta": 1.3923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.219,
"after": 0.0,
"delta": -1.219,
"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.080 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.642 | - |
| predicted_AVG | 0.217 | - |
| predicted_BB | 0.418 | - |
| predicted_H | 0.700 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.259 | - |
| predicted_R | 0.358 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.323 | - |
| predicted_SO | 1.219 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.123 | 0.043 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.688 | 3.046 |
| predicted_AVG | 0.212 | -0.005 |
| predicted_BB | 0.614 | 0.196 |
| predicted_H | 1.349 | 0.649 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.166 | 0.066 |
| predicted_OBP | 0.259 | 0.000 |
| predicted_R | 0.536 | 0.178 |
| predicted_RBI | 0.706 | 0.336 |
| predicted_SLG | 0.310 | -0.013 |
| predicted_SO | 2.620 | 1.401 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.123 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 6.688 | 0.000 |
| predicted_AVG | 0.198 | -0.014 |
| predicted_BB | 0.613 | -0.001 |
| predicted_H | 1.323 | -0.026 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.163 | -0.003 |
| predicted_OBP | 0.265 | 0.006 |
| predicted_R | 0.520 | -0.016 |
| predicted_RBI | 0.685 | -0.021 |
| predicted_SLG | 0.289 | -0.021 |
| predicted_SO | 2.627 | 0.006 |
AB rounded to 7 (raw=6.69), rates preserved: AVG=0.198 HR/AB=0.024
| 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 | 3.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 7.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 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.123 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 7.000 | 0.312 |
| predicted_AVG | 0.143 | -0.055 |
| predicted_BB | 1.000 | 0.387 |
| predicted_H | 1.000 | -0.323 |
| predicted_HR | 0.000 | -0.163 |
| predicted_OBP | 0.250 | -0.015 |
| predicted_R | 1.000 | 0.480 |
| predicted_RBI | 1.000 | 0.315 |
| predicted_SLG | 0.143 | -0.146 |
| predicted_SO | 3.000 | 0.373 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -4.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -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 | -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 | 4 | - | 14.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 9.000 | 0.1429 | 0.1429 | 0.1429 | 0.1429 | 0.0000 | 0.0000 | 0.0000 | 0.6429 |
| last_10 | 0.20 | 6 | - | 29.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 19.000 | 0.1379 | 0.1379 | 0.1379 | 0.1379 | 0.0000 | 0.0000 | 0.0000 | 0.6552 |
| season | 0.60 | 54 | - | 732.000 | 168.000 | 16.000 | 0.000 | 24.000 | 109.000 | 72.000 | 84.000 | 245.000 | 0.2295 | 0.3040 | 0.3497 | 0.2295 | 0.0328 | 0.1489 | 0.1148 | 0.3347 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1770 |
| predicted_3B | 0.0010 |
| predicted_AB | 10.5670 |
| predicted_AVG | 0.2059 |
| predicted_BB | 0.8640 |
| predicted_H | 2.1760 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.2510 |
| predicted_OBP | 0.2595 |
| predicted_R | 0.7630 |
| predicted_RBI | 1.1330 |
| predicted_SLG | 0.2942 |
| predicted_SO | 4.4050 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0800 | 0.1770 | 0.1227 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.6420 | 10.5670 | 6.6876 | model_form_blend |
| predicted_AVG | 0.2170 | 0.2059 | 0.2121 | model_form_blend |
| predicted_BB | 0.4180 | 0.8640 | 0.6141 | model_form_blend |
| predicted_H | 0.7000 | 2.1760 | 1.3491 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1000 | 0.2510 | 0.1664 | model_form_blend |
| predicted_OBP | 0.2590 | 0.2595 | 0.2592 | model_form_blend |
| predicted_R | 0.3580 | 0.7630 | 0.5361 | model_form_blend |
| predicted_RBI | 0.3700 | 1.1330 | 0.7056 | model_form_blend |
| predicted_SLG | 0.3230 | 0.2942 | 0.3103 | model_form_blend |
| predicted_SO | 1.2190 | 4.4050 | 2.6202 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.23 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-3B |
| gameID | 20260531_CHC@STL |
| game_type | ph |
| mlbID | 669357 |
| note | Struck out for Saggese in the 6th. |
| playerID | 669357 |
| playerName | Nolan Gorman |
| pos | 3B |
| started | False |
| startingPosition | PH |
| team | STL |
| teamID | 26 |
| game_date | 2026-05-31 |
| sl_k_percent | 30.2 |
| sl_bb_percent | 10.7 |
| sl_woba | 0.28 |
| sl_xwoba | 0.291 |
| sl_xba | 0.212 |
| sl_xslg | 0.373 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 9.1 |
| sl_hard_hit_percent | 43.8 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 22.2 |
| sl_whiff_percent | 36.5 |
| sl_swing_percent | 50.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.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.000 | 3.000 | 3.000 | Hitting_AB | 3.000 | 3.000 | 0.000 | 0.000 |
| predicted_AVG | 0.243 | 0.333 | 0.333 | Hitting_AVG | 0.000 | 0.000 | 0.333 | 0.333 |
| predicted_BB | 0.000 | 1.000 | 0.000 | Hitting_BB | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.680 | 1.000 | 1.000 | Hitting_H | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.291 | 0.500 | 0.333 | Hitting_OBP | 0.000 | 0.000 | 0.500 | 0.500 |
| predicted_R | 0.000 | 0.000 | 0.000 | Hitting_R | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_RBI | 0.360 | 0.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.373 | 0.333 | 0.333 | Hitting_SLG | 0.000 | 0.000 | 0.333 | 0.333 |
| predicted_SO | 1.000 | 0.000 | 1.000 | Hitting_SO | 1.000 | 1.000 | -1.000 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, 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 | 2 | 2 | 0 | 2 | 0 | predicted_AB: 3.0000 -> 3.1452 (boost 0.1452, 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.2899 -> 0.2344 (deboost -0.0555, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 4 | 1 | 3 | 1 | 3 | predicted_H: 0.6997 -> 1.0000 (boost 0.3003, better) | predicted_RBI: 0.3658 -> 0.0000 (deboost -0.3658, worse) | AB rounded to 3 (raw=3.15), rates preserved: AVG=0.222 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.0782 -> 0.0000 (deboost -0.0782, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2225 -> 0.3330 (boost 0.1105, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 2 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2225 (deboost -0.1105, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "699625",
"player_name": "Jimmy Crooks",
"position": "DH",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is 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.0,
"predicted_AVG": 0.243,
"predicted_BB": 0.0,
"predicted_H": 0.68,
"predicted_HR": 0.09,
"predicted_OBP": 0.291,
"predicted_R": 0.0,
"predicted_RBI": 0.36,
"predicted_SLG": 0.373,
"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.0311,
"predicted_3B": 0.0024,
"predicted_AB": 3.1452,
"predicted_AVG": 0.2401,
"predicted_BB": 0.0492,
"predicted_H": 0.7133,
"predicted_HBP": 0.032,
"predicted_HR": 0.0948,
"predicted_OBP": 0.2899,
"predicted_R": 0.0806,
"predicted_RBI": 0.3769,
"predicted_SLG": 0.3726,
"predicted_SO": 0.9768
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0311,
"delta": 0.0311,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0024,
"delta": 0.0024,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.1452,
"delta": 0.1452,
"percent_delta": 0.0484,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2401,
"delta": -0.0029,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0492,
"delta": 0.0492,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.7133,
"delta": 0.0333,
"percent_delta": 0.049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0948,
"delta": 0.0048,
"percent_delta": 0.0533,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.291,
"after": 0.2899,
"delta": -0.0011,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0806,
"delta": 0.0806,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.3769,
"delta": 0.0169,
"percent_delta": 0.0469,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.373,
"after": 0.3726,
"delta": -0.0004,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9768,
"delta": -0.0232,
"percent_delta": -0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 3.1452,
"delta": 0.1452,
"percent_delta": 0.0484,
"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": 1,
"season": 1
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0311,
"predicted_3B": 0.0024,
"predicted_AB": 3.1452,
"predicted_AVG": 0.2225,
"predicted_BB": 0.0491,
"predicted_H": 0.6997,
"predicted_HBP": 0.032,
"predicted_HR": 0.0929,
"predicted_OBP": 0.2344,
"predicted_R": 0.0782,
"predicted_RBI": 0.3658,
"predicted_SLG": 0.3225,
"predicted_SO": 0.9791
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0311,
"after": 0.0311,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0024,
"after": 0.0024,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1452,
"after": 3.1452,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2401,
"after": 0.2225,
"delta": -0.0176,
"percent_delta": -0.0733,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0492,
"after": 0.0491,
"delta": -0.0001,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7133,
"after": 0.6997,
"delta": -0.0136,
"percent_delta": -0.0191,
"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.0948,
"after": 0.0929,
"delta": -0.0019,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2899,
"after": 0.2344,
"delta": -0.0555,
"percent_delta": -0.1914,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0806,
"after": 0.0782,
"delta": -0.0024,
"percent_delta": -0.0298,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3769,
"after": 0.3658,
"delta": -0.0111,
"percent_delta": -0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3726,
"after": 0.3225,
"delta": -0.0501,
"percent_delta": -0.1345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9768,
"after": 0.9791,
"delta": 0.0023,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2899,
"after": 0.2344,
"delta": -0.0555,
"percent_delta": -0.1914,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.15), rates preserved: AVG=0.222 HR/AB=0.030",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0311,
"after": 0.0,
"delta": -0.0311,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0024,
"after": 0.0,
"delta": -0.0024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1452,
"after": 3.0,
"delta": -0.1452,
"percent_delta": -0.0462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0491,
"after": 0.0,
"delta": -0.0491,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6997,
"after": 1.0,
"delta": 0.3003,
"percent_delta": 0.4292,
"direction": "boost",
"projection_effect": "better",
"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.0929,
"after": 0.0,
"delta": -0.0929,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3658,
"after": 0.0,
"delta": -0.3658,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9791,
"after": 1.0,
"delta": 0.0209,
"percent_delta": 0.0213,
"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_H",
"before": 0.6997,
"after": 1.0,
"delta": 0.3003,
"percent_delta": 0.4292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3658,
"after": 0.0,
"delta": -0.3658,
"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.0782,
"after": 0.0,
"delta": -0.0782,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.0782,
"after": 0.0,
"delta": -0.0782,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2225,
"after": 0.333,
"delta": 0.1105,
"percent_delta": 0.4966,
"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.2344,
"after": 0.333,
"delta": 0.0986,
"percent_delta": 0.4206,
"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.3225,
"after": 0.333,
"delta": 0.0105,
"percent_delta": 0.0326,
"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.2225,
"after": 0.333,
"delta": 0.1105,
"percent_delta": 0.4966,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2225,
"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.2344,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3225,
"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.2225,
"delta": -0.1105,
"percent_delta": -0.3319,
"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.2344,
"delta": -0.0986,
"percent_delta": -0.296,
"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.3225,
"delta": -0.0105,
"percent_delta": -0.0314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2225,
"delta": -0.1105,
"percent_delta": -0.3319,
"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.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2225,
"delta": -0.0205,
"percent_delta": -0.0844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 1.0,
"delta": 0.32,
"percent_delta": 0.4706,
"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.291,
"after": 0.2344,
"delta": -0.0566,
"percent_delta": -0.1945,
"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.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.373,
"after": 0.3225,
"delta": -0.0505,
"percent_delta": -0.1354,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"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.000 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.291 | - |
| predicted_R | 0.000 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.373 | - |
| 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.031 | 0.031 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.145 | 0.145 |
| predicted_AVG | 0.240 | -0.003 |
| predicted_BB | 0.049 | 0.049 |
| predicted_H | 0.713 | 0.033 |
| predicted_HBP | 0.032 | - |
| predicted_HR | 0.095 | 0.005 |
| predicted_OBP | 0.290 | -0.001 |
| predicted_R | 0.081 | 0.081 |
| predicted_RBI | 0.377 | 0.017 |
| predicted_SLG | 0.373 | -0.000 |
| predicted_SO | 0.977 | -0.023 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.031 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.145 | 0.000 |
| predicted_AVG | 0.223 | -0.018 |
| predicted_BB | 0.049 | -0.000 |
| predicted_H | 0.700 | -0.014 |
| predicted_HBP | 0.032 | 0.000 |
| predicted_HR | 0.093 | -0.002 |
| predicted_OBP | 0.234 | -0.055 |
| predicted_R | 0.078 | -0.002 |
| predicted_RBI | 0.366 | -0.011 |
| predicted_SLG | 0.323 | -0.050 |
| predicted_SO | 0.979 | 0.002 |
AB rounded to 3 (raw=3.15), rates preserved: AVG=0.222 HR/AB=0.030
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.031 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.145 |
| predicted_AVG | 0.333 | 0.111 |
| predicted_BB | 0.000 | -0.049 |
| predicted_H | 1.000 | 0.300 |
| predicted_HR | 0.000 | -0.093 |
| predicted_OBP | 0.333 | 0.099 |
| predicted_R | 0.000 | -0.078 |
| predicted_RBI | 0.000 | -0.366 |
| predicted_SLG | 0.333 | 0.011 |
| predicted_SO | 1.000 | 0.021 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 1 | - | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 1 | - | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.3333 |
| season | 0.60 | 1 | - | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.3333 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1690 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.7890 |
| predicted_AVG | 0.2274 |
| predicted_BB | 0.2670 |
| predicted_H | 0.8610 |
| predicted_HBP | 0.0320 |
| predicted_HR | 0.1160 |
| predicted_OBP | 0.2850 |
| predicted_R | 0.4380 |
| predicted_RBI | 0.4520 |
| predicted_SLG | 0.3708 |
| predicted_SO | 0.8740 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1690 | 0.0311 | model_form_blend |
| predicted_3B | 0.0000 | 0.0130 | 0.0024 | model_form_blend |
| predicted_AB | 3.0000 | 3.7890 | 3.1452 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2274 | 0.2401 | model_form_blend |
| predicted_BB | 0.0000 | 0.2670 | 0.0492 | model_form_blend |
| predicted_H | 0.6800 | 0.8610 | 0.7133 | model_form_blend |
| predicted_HBP | - | 0.0320 | 0.0320 | form_only |
| predicted_HR | 0.0900 | 0.1160 | 0.0948 | model_form_blend |
| predicted_OBP | 0.2910 | 0.2850 | 0.2899 | model_form_blend |
| predicted_R | 0.0000 | 0.4380 | 0.0806 | model_form_blend |
| predicted_RBI | 0.3600 | 0.4520 | 0.3769 | model_form_blend |
| predicted_SLG | 0.3730 | 0.3708 | 0.3726 | model_form_blend |
| predicted_SO | 1.0000 | 0.8740 | 0.9768 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 1 |
| Season rows before report date | 1 |
| Report year | 2026 |
| Profile rows used | 1 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.0 |
| 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 | 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 | 20260530_CHC@STL |
| game_type | full |
| mlbID | 699625 |
| playerID | 699625 |
| playerName | Jimmy Crooks |
| pos | C |
| started | True |
| startingPosition | C |
| team | STL |
| teamID | 26 |
| game_date | 2026-05-30 |
| sl_k_percent | 33.3 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.0 |
| sl_xwoba | 0.04 |
| sl_xba | 0.034 |
| sl_xslg | 0.06 |
| sl_sweet_spot_percent | 0.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 10.8 |
| sl_whiff_percent | 25.0 |
| sl_swing_percent | 44.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.051 | 0.000 | 0.000 | Hitting_2B | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.975 | 3.000 | 5.000 | Hitting_AB | 2.901 | 1.000 | 0.099 | 2.000 |
| predicted_AVG | 0.227 | 0.000 | 0.200 | Hitting_AVG | 0.170 | 0.000 | -0.170 | 0.000 |
| predicted_BB | 0.278 | 1.000 | 1.000 | Hitting_BB | 0.272 | 0.000 | 0.728 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.086 | 0.000 | -0.086 | 0.000 |
| predicted_H | 0.520 | 0.000 | 1.000 | Hitting_H | 0.494 | 0.000 | -0.494 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_OBP | 0.257 | 0.250 | 0.333 | Hitting_OBP | 0.245 | 0.000 | 0.005 | 0.250 |
| predicted_R | 0.418 | 0.000 | 1.000 | Hitting_R | 0.414 | 0.000 | -0.414 | 0.000 |
| predicted_RBI | 0.210 | 0.000 | 0.000 | Hitting_RBI | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_SLG | 0.274 | 0.000 | 0.200 | Hitting_SLG | 0.245 | 0.000 | -0.245 | 0.000 |
| predicted_SO | 0.867 | 2.000 | 2.000 | Hitting_SO | 0.846 | 0.000 | 1.154 | 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.8670 -> 2.0000 (boost 1.1330, worse) |
| Biggest Deboost | predicted_H: 0.5200 -> 0.0000 (deboost -0.5200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 8 | 6 | 2 | 5 | 3 | predicted_AB: 2.9750 -> 4.8764 (boost 1.9014, better) | predicted_AVG: 0.2270 -> 0.1894 (deboost -0.0376, 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.1894 -> 0.1493 (deboost -0.0401, 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_SO: 1.4661 -> 2.0000 (boost 0.5339, worse) | predicted_RBI: 0.2578 -> 0.0000 (deboost -0.2578, worse) | AB rounded to 5 (raw=4.88), rates preserved: AVG=0.149 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5569 -> 1.0000 (boost 0.4431, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2417 -> 0.3330 (boost 0.0913, better) | predicted_SLG: 0.2105 -> 0.2000 (deboost -0.0105, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2000 -> 0.2105 (boost 0.0105, better) | predicted_OBP: 0.3330 -> 0.2417 (deboost -0.0913, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687363",
"player_name": "Victor Scott II",
"position": "CF",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.051,
"predicted_3B": 0.0,
"predicted_AB": 2.975,
"predicted_AVG": 0.227,
"predicted_BB": 0.278,
"predicted_H": 0.52,
"predicted_HR": 0.05,
"predicted_OBP": 0.257,
"predicted_R": 0.418,
"predicted_RBI": 0.21,
"predicted_SLG": 0.274,
"predicted_SO": 0.867
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.074,
"predicted_3B": 0.0009,
"predicted_AB": 4.8764,
"predicted_AVG": 0.1894,
"predicted_BB": 0.5953,
"predicted_H": 0.7423,
"predicted_HBP": 0.046,
"predicted_HR": 0.0756,
"predicted_OBP": 0.2529,
"predicted_R": 0.5738,
"predicted_RBI": 0.2656,
"predicted_SLG": 0.2415,
"predicted_SO": 1.4626
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.051,
"after": 0.074,
"delta": 0.023,
"percent_delta": 0.451,
"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": 2.975,
"after": 4.8764,
"delta": 1.9014,
"percent_delta": 0.6391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.1894,
"delta": -0.0376,
"percent_delta": -0.1656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.278,
"after": 0.5953,
"delta": 0.3173,
"percent_delta": 1.1414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.52,
"after": 0.7423,
"delta": 0.2223,
"percent_delta": 0.4275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0756,
"delta": 0.0256,
"percent_delta": 0.512,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.257,
"after": 0.2529,
"delta": -0.0041,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.418,
"after": 0.5738,
"delta": 0.1558,
"percent_delta": 0.3727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.21,
"after": 0.2656,
"delta": 0.0556,
"percent_delta": 0.2648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.274,
"after": 0.2415,
"delta": -0.0325,
"percent_delta": -0.1186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.867,
"after": 1.4626,
"delta": 0.5956,
"percent_delta": 0.687,
"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.975,
"after": 4.8764,
"delta": 1.9014,
"percent_delta": 0.6391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.1894,
"delta": -0.0376,
"percent_delta": -0.1656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 4,
"last_10": 6,
"season": 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.074,
"predicted_3B": 0.0009,
"predicted_AB": 4.8764,
"predicted_AVG": 0.1493,
"predicted_BB": 0.5939,
"predicted_H": 0.7282,
"predicted_HBP": 0.046,
"predicted_HR": 0.0741,
"predicted_OBP": 0.2417,
"predicted_R": 0.5569,
"predicted_RBI": 0.2578,
"predicted_SLG": 0.2105,
"predicted_SO": 1.4661
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.074,
"after": 0.074,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.8764,
"after": 4.8764,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1894,
"after": 0.1493,
"delta": -0.0401,
"percent_delta": -0.2117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5953,
"after": 0.5939,
"delta": -0.0014,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7423,
"after": 0.7282,
"delta": -0.0141,
"percent_delta": -0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.046,
"after": 0.046,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0756,
"after": 0.0741,
"delta": -0.0015,
"percent_delta": -0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2529,
"after": 0.2417,
"delta": -0.0112,
"percent_delta": -0.0443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5738,
"after": 0.5569,
"delta": -0.0169,
"percent_delta": -0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2656,
"after": 0.2578,
"delta": -0.0078,
"percent_delta": -0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2415,
"after": 0.2105,
"delta": -0.031,
"percent_delta": -0.1284,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4626,
"after": 1.4661,
"delta": 0.0035,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.1894,
"after": 0.1493,
"delta": -0.0401,
"percent_delta": -0.2117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.88), rates preserved: AVG=0.149 HR/AB=0.015",
"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.074,
"after": 0.0,
"delta": -0.074,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0009,
"after": 0.0,
"delta": -0.0009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.8764,
"after": 5.0,
"delta": 0.1236,
"percent_delta": 0.0253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5939,
"after": 1.0,
"delta": 0.4061,
"percent_delta": 0.6838,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7282,
"after": 1.0,
"delta": 0.2718,
"percent_delta": 0.3732,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.046,
"after": 0.0,
"delta": -0.046,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0741,
"after": 0.0,
"delta": -0.0741,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2578,
"after": 0.0,
"delta": -0.2578,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4661,
"after": 2.0,
"delta": 0.5339,
"percent_delta": 0.3642,
"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_SO",
"before": 1.4661,
"after": 2.0,
"delta": 0.5339,
"percent_delta": 0.3642,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2578,
"after": 0.0,
"delta": -0.2578,
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.5569,
"after": 1.0,
"delta": 0.4431,
"percent_delta": 0.7957,
"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.5569,
"after": 1.0,
"delta": 0.4431,
"percent_delta": 0.7957,
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.1493,
"after": 0.2,
"delta": 0.0507,
"percent_delta": 0.3396,
"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.2417,
"after": 0.333,
"delta": 0.0913,
"percent_delta": 0.3777,
"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.2105,
"after": 0.2,
"delta": -0.0105,
"percent_delta": -0.0499,
"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.2417,
"after": 0.333,
"delta": 0.0913,
"percent_delta": 0.3777,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2105,
"after": 0.2,
"delta": -0.0105,
"percent_delta": -0.0499,
"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": 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": 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": 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.1493,
"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.2417,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2105,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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.1493,
"delta": -0.0507,
"percent_delta": -0.2533,
"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.2417,
"delta": -0.0913,
"percent_delta": -0.2742,
"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.2105,
"delta": 0.0105,
"percent_delta": 0.0524,
"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.2,
"after": 0.2105,
"delta": 0.0105,
"percent_delta": 0.0524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2417,
"delta": -0.0913,
"percent_delta": -0.2742,
"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.051,
"after": 0.0,
"delta": -0.051,
"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.975,
"after": 3.0,
"delta": 0.025,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.1493,
"delta": -0.0777,
"percent_delta": -0.3423,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.278,
"after": 1.0,
"delta": 0.722,
"percent_delta": 2.5971,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"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.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.257,
"after": 0.2417,
"delta": -0.0153,
"percent_delta": -0.0595,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.418,
"after": 0.0,
"delta": -0.418,
"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.274,
"after": 0.2105,
"delta": -0.0635,
"percent_delta": -0.2318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.867,
"after": 2.0,
"delta": 1.133,
"percent_delta": 1.3068,
"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.867,
"after": 2.0,
"delta": 1.133,
"percent_delta": 1.3068,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.051 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.975 | - |
| predicted_AVG | 0.227 | - |
| predicted_BB | 0.278 | - |
| predicted_H | 0.520 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.257 | - |
| predicted_R | 0.418 | - |
| predicted_RBI | 0.210 | - |
| predicted_SLG | 0.274 | - |
| predicted_SO | 0.867 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.074 | 0.023 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.876 | 1.901 |
| predicted_AVG | 0.189 | -0.038 |
| predicted_BB | 0.595 | 0.317 |
| predicted_H | 0.742 | 0.222 |
| predicted_HBP | 0.046 | - |
| predicted_HR | 0.076 | 0.026 |
| predicted_OBP | 0.253 | -0.004 |
| predicted_R | 0.574 | 0.156 |
| predicted_RBI | 0.266 | 0.056 |
| predicted_SLG | 0.241 | -0.033 |
| predicted_SO | 1.463 | 0.596 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.074 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.876 | 0.000 |
| predicted_AVG | 0.149 | -0.040 |
| predicted_BB | 0.594 | -0.001 |
| predicted_H | 0.728 | -0.014 |
| predicted_HBP | 0.046 | 0.000 |
| predicted_HR | 0.074 | -0.002 |
| predicted_OBP | 0.242 | -0.011 |
| predicted_R | 0.557 | -0.017 |
| predicted_RBI | 0.258 | -0.008 |
| predicted_SLG | 0.210 | -0.031 |
| predicted_SO | 1.466 | 0.004 |
AB rounded to 5 (raw=4.88), rates preserved: AVG=0.149 HR/AB=0.015
| 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 | 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.074 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | 0.124 |
| predicted_AVG | 0.200 | 0.051 |
| predicted_BB | 1.000 | 0.406 |
| predicted_H | 1.000 | 0.272 |
| predicted_HR | 0.000 | -0.074 |
| predicted_OBP | 0.333 | 0.091 |
| predicted_R | 1.000 | 0.443 |
| predicted_RBI | 0.000 | -0.258 |
| predicted_SLG | 0.200 | -0.010 |
| predicted_SO | 2.000 | 0.534 |
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 | 2.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 10.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 4.000 | 0.0000 | 0.2308 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.3000 | 0.4000 |
| last_10 | 0.20 | 6 | - | 23.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 4.000 | 6.000 | 0.1304 | 0.2593 | 0.1304 | 0.1304 | 0.0000 | 0.0000 | 0.1739 | 0.2609 |
| season | 0.60 | 50 | - | 470.000 | 80.000 | 8.000 | 0.000 | 9.000 | 27.000 | 66.000 | 44.000 | 137.000 | 0.1702 | 0.2452 | 0.2447 | 0.1702 | 0.0192 | 0.0575 | 0.0936 | 0.2915 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1040 |
| predicted_3B | 0.0020 |
| predicted_AB | 7.3550 |
| predicted_AVG | 0.1403 |
| predicted_BB | 1.0090 |
| predicted_H | 1.0320 |
| predicted_HBP | 0.0460 |
| predicted_HR | 0.1090 |
| predicted_OBP | 0.2476 |
| predicted_R | 0.7770 |
| predicted_RBI | 0.3380 |
| predicted_SLG | 0.1992 |
| predicted_SO | 2.2390 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0510 | 0.1040 | 0.0740 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 2.9750 | 7.3550 | 4.8764 | model_form_blend |
| predicted_AVG | 0.2270 | 0.1403 | 0.1894 | model_form_blend |
| predicted_BB | 0.2780 | 1.0090 | 0.5953 | model_form_blend |
| predicted_H | 0.5200 | 1.0320 | 0.7423 | model_form_blend |
| predicted_HBP | - | 0.0460 | 0.0460 | form_only |
| predicted_HR | 0.0500 | 0.1090 | 0.0756 | model_form_blend |
| predicted_OBP | 0.2570 | 0.2476 | 0.2529 | model_form_blend |
| predicted_R | 0.4180 | 0.7770 | 0.5738 | model_form_blend |
| predicted_RBI | 0.2100 | 0.3380 | 0.2656 | model_form_blend |
| predicted_SLG | 0.2740 | 0.1992 | 0.2415 | model_form_blend |
| predicted_SO | 0.8670 | 2.2390 | 1.4626 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 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.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 | 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 | CF |
| gameID | 20260531_CHC@STL |
| game_type | short |
| mlbID | 687363 |
| playerID | 687363 |
| playerName | Victor Scott II |
| pos | CF |
| started | False |
| startingPosition | CF |
| team | STL |
| teamID | 26 |
| game_date | 2026-05-31 |
| sl_k_percent | 25.3 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.235 |
| sl_xwoba | 0.258 |
| sl_xba | 0.213 |
| sl_xslg | 0.286 |
| sl_sweet_spot_percent | 31.5 |
| sl_barrel_batted_rate | 1.0 |
| sl_hard_hit_percent | 25.9 |
| sl_exit_velocity_avg | 87.3 |
| sl_launch_angle_avg | 7.7 |
| sl_whiff_percent | 26.6 |
| sl_swing_percent | 46.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.364 | 3.000 | 1.636 | 0.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 1.818 | 5.000 | 1.182 | -2.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 4.636 | 7.000 | 1.364 | -1.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.400 | 4.000 | -0.200 | 1.200 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 3.909 | 6.000 | 2.091 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "700241",
"player_name": "Michael McGreevy",
"position": "Starter",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.6667,
"predicted_SO": 6.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "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": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.2,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.2,
"predicted_R": 3.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 5.2,
"after": 5.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.667 | - |
| 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 | 3.000 | 0.000 |
| predicted_H | 6.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 5.200 | -0.467 |
| 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 | 27.000 | 9.000 | 26.000 | 10.000 | 22.000 | 3.000 | 3.0000 | 1.3333 | 0.3333 | 0.9630 | 0.3704 | 0.8148 | 0.1111 |
| last_10 | 0.35 | 10 | 54.100 | 20.000 | 51.000 | 13.000 | 38.000 | 8.000 | 3.3129 | 1.1779 | 0.3681 | 0.9386 | 0.2393 | 0.6994 | 0.1472 |
| season | 0.20 | 11 | 60.100 | 20.000 | 51.000 | 15.000 | 43.000 | 8.000 | 2.9834 | 1.0939 | 0.3315 | 0.8453 | 0.2486 | 0.7127 | 0.1326 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7480 |
| predicted_ER | 2.1000 |
| predicted_ERA | 3.4754 |
| predicted_H | 5.0950 |
| predicted_HR | 0.7060 |
| predicted_IP | 5.1000 |
| predicted_SO | 4.4170 |
| predicted_WHIP | 1.2584 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.7480 | 2.3515 | model_form_blend |
| predicted_ER | 3.0000 | 2.1000 | 2.5338 | model_form_blend |
| predicted_ERA | - | 3.4754 | 3.4754 | form_only |
| predicted_H | 6.0000 | 5.0950 | 5.5312 | model_form_blend |
| predicted_HR | 0.0000 | 0.7060 | 0.3657 | model_form_blend |
| predicted_IP | 5.2000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 6.0000 | 4.4170 | 5.1801 | model_form_blend |
| predicted_WHIP | - | 1.2584 | 1.2584 | 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.2 |
| H | 6 |
| R | 3 |
| ER | 3 |
| BB | 3 |
| SO | 6 |
| HR | 0 |
| BF | 26 |
| Pitches | 101 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 3 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 22 |
| Pitching_ER | 5 |
| Pitching_ERA | 2.98 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 3 |
| Pitching_H | 7 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.0 |
| Pitching_Pitches | 89 |
| Pitching_R | 5 |
| Pitching_SO | 6 |
| Pitching_Strikes | 53 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260526_STL@MIL |
| game_type | full |
| mlbID | 700241 |
| playerID | 700241 |
| playerName | Michael McGreevy |
| pos | P |
| started | True |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-05-26 |
| game_pk | 823785.0 |
| sl_k_percent | 18.0 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.291 |
| sl_xwoba | 0.368 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 11.1 |
| sl_hard_hit_percent | 41.4 |
| sl_whiff_percent | 20.6 |
| sl_swing_percent | 44.9 |
| sv_pitch_count | 89.0 |
| sv_outs_recorded_est | 12.0 |
| sv_release_speed | 87.18539325842697 |
| sv_release_spin_rate | 2158.7191011235955 |
| sv_effective_speed | 88.04494382022472 |
| sv_launch_speed | 86.68799999999999 |
| sv_launch_angle | 18.24 |
| sv_woba_value | 10.55 |
| sv_woba_denom | 22.0 |
| sv_delta_run_exp | 2.213 |
| sv_delta_home_win_exp | 0.154 |
| sl_avg_best_speed | 77.192111236 |
| sl_avg_hyper_speed | 94.881151573 |
| 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.417 | 0.000 | -0.417 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.625 | 0.000 | -0.625 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.808 | 1.000 | 0.192 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.750 | 1.000 | -0.750 | -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": "666277",
"player_name": "George Soriano",
"position": "Middle Reliever",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement 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 | 3.000 | 0.000 | 3.000 | 1.000 | 1.9286 | 0.6429 | 0.2143 | 0.6429 | 0.0000 | 0.6429 | 0.2143 |
| last_10 | 0.35 | 10 | 9.100 | 2.000 | 7.000 | 3.000 | 7.000 | 2.000 | 1.9286 | 1.0714 | 0.2143 | 0.7500 | 0.3214 | 0.7500 | 0.2143 |
| season | 0.20 | 24 | 22.200 | 8.000 | 15.000 | 10.000 | 18.000 | 3.000 | 3.1765 | 1.1029 | 0.3529 | 0.6618 | 0.4412 | 0.7941 | 0.1323 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2890 |
| predicted_ER | 0.3660 |
| predicted_ERA | 3.2916 |
| predicted_H | 0.8250 |
| predicted_HR | 0.1640 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8320 |
| predicted_WHIP | 1.1138 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2890 | 0.1234 | model_form_blend |
| predicted_ER | 0.0000 | 0.3660 | 0.1563 | model_form_blend |
| predicted_ERA | - | 3.2916 | 3.2916 | form_only |
| predicted_H | 0.0000 | 0.8250 | 0.3523 | model_form_blend |
| predicted_HR | 0.0000 | 0.1640 | 0.0700 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8320 | 0.3553 | model_form_blend |
| predicted_WHIP | - | 1.1138 | 1.1138 | 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 | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 14 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.18 |
| 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 | 12 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260529_CHC@STL |
| game_type | full |
| mlbID | 666277 |
| playerID | 666277 |
| playerName | George Soriano |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-05-29 |
| sl_k_percent | 19.4 |
| sl_bb_percent | 10.8 |
| sl_woba | 0.274 |
| sl_xwoba | 0.351 |
| sl_sweet_spot_percent | 26.6 |
| sl_barrel_batted_rate | 10.9 |
| sl_hard_hit_percent | 39.1 |
| sl_whiff_percent | 29.7 |
| sl_swing_percent | 47.5 |
| sl_avg_best_speed | 79.471569688 |
| sl_avg_hyper_speed | 94.870480156 |
| 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.385 | 0.000 | -0.385 | 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.808 | 0.000 | -0.808 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.846 | 1.000 | 0.254 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.962 | 2.000 | -0.962 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "668941",
"player_name": "JoJo Romero",
"position": "Middle Reliever",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 0.000 | 3.000 | 2.000 | 7.000 | 0.000 | 0.0000 | 0.8824 | 0.0000 | 0.5294 | 0.3529 | 1.2353 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 1.000 | 7.000 | 4.000 | 12.000 | 0.000 | 0.8438 | 1.0312 | 0.0938 | 0.6562 | 0.3750 | 1.1250 | 0.0000 |
| season | 0.20 | 26 | 26.200 | 8.000 | 21.000 | 10.000 | 25.000 | 3.000 | 2.7000 | 1.1625 | 0.3000 | 0.7875 | 0.3750 | 0.9375 | 0.1125 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3670 |
| predicted_ER | 0.2800 |
| predicted_ERA | 2.5173 |
| predicted_H | 0.7840 |
| predicted_HR | 0.0770 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0410 |
| predicted_WHIP | 1.1504 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3670 | 0.1630 | model_form_blend |
| predicted_ER | 0.0000 | 0.2800 | 0.1244 | model_form_blend |
| predicted_ERA | - | 2.5173 | 2.5173 | form_only |
| predicted_H | 0.0000 | 0.7840 | 0.3482 | model_form_blend |
| predicted_HR | 0.0000 | 0.0770 | 0.0342 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0410 | 0.4624 | model_form_blend |
| predicted_WHIP | - | 1.1504 | 1.1504 | 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 | 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 | 2.70 |
| Pitching_Flyouts | 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 | 12 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260529_CHC@STL |
| game_type | full |
| mlbID | 668941 |
| playerID | 668941 |
| playerName | JoJo Romero |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-05-29 |
| sl_k_percent | 22.9 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.282 |
| sl_xwoba | 0.331 |
| sl_sweet_spot_percent | 35.6 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 45.2 |
| sl_whiff_percent | 23.3 |
| sl_swing_percent | 38.9 |
| sl_avg_best_speed | 81.384195833 |
| sl_avg_hyper_speed | 95.798974225 |
| 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.160 | 0.000 | -0.160 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.360 | 1.000 | -0.360 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.840 | 1.000 | -0.840 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.948 | 1.000 | 0.052 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.080 | 0.000 | 0.920 | 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": "676617",
"player_name": "Riley O'Brien",
"position": "Middle Reliever",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement 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 | 3.000 | 4.000 | 2.000 | 4.000 | 0.000 | 5.0625 | 1.1250 | 0.5625 | 0.7500 | 0.3750 | 0.7500 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 7.000 | 10.000 | 3.000 | 10.000 | 1.000 | 6.3000 | 1.3000 | 0.7000 | 1.0000 | 0.3000 | 1.0000 | 0.1000 |
| season | 0.20 | 25 | 25.100 | 9.000 | 21.000 | 4.000 | 27.000 | 1.000 | 3.1974 | 0.9868 | 0.3553 | 0.8289 | 0.1579 | 1.0658 | 0.0395 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3370 |
| predicted_ER | 0.5230 |
| predicted_ERA | 4.7051 |
| predicted_H | 0.9020 |
| predicted_HR | 0.0880 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9210 |
| predicted_WHIP | 1.2386 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3370 | 0.1479 | model_form_blend |
| predicted_ER | 0.0000 | 0.5230 | 0.2295 | model_form_blend |
| predicted_ERA | - | 4.7051 | 4.7051 | form_only |
| predicted_H | 0.0000 | 0.9020 | 0.3958 | model_form_blend |
| predicted_HR | 0.0000 | 0.0880 | 0.0386 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.9210 | 1.5266 | model_form_blend |
| predicted_WHIP | - | 1.2386 | 1.2386 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 25 |
| Season rows before report date | 25 |
| Report year | 2026 |
| Profile rows used | 25 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| 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 | 4 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.20 |
| 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 | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 7 |
| allPositionsPlayed | P |
| gameID | 20260529_CHC@STL |
| game_type | full |
| mlbID | 676617 |
| playerID | 676617 |
| playerName | Riley O'Brien |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-05-29 |
| sl_k_percent | 26.5 |
| sl_bb_percent | 3.9 |
| sl_woba | 0.27 |
| sl_xwoba | 0.291 |
| sl_sweet_spot_percent | 27.3 |
| sl_barrel_batted_rate | 4.6 |
| sl_hard_hit_percent | 37.9 |
| sl_whiff_percent | 28.8 |
| sl_swing_percent | 48.6 |
| sl_avg_best_speed | 74.10563625 |
| sl_avg_hyper_speed | 94.112899841 |